Wikilivres
frwikibooks
https://fr.wikibooks.org/wiki/Accueil
MediaWiki 1.46.0-wmf.22
first-letter
Média
Spécial
Discussion
Utilisateur
Discussion utilisateur
Wikilivres
Discussion Wikilivres
Fichier
Discussion fichier
MediaWiki
Discussion MediaWiki
Modèle
Discussion modèle
Aide
Discussion aide
Catégorie
Discussion catégorie
Transwiki
Discussion Transwiki
Wikijunior
Discussion Wikijunior
TimedText
TimedText talk
Module
Discussion module
Event
Event talk
Fonctionnement d'un ordinateur/Les processeurs de traitement du signal
0
65767
762874
744222
2026-04-04T13:41:35Z
Mewtow
31375
/* L'adressage à bits inversés */
762874
wikitext
text/x-wiki
Les DSP, les processeurs de traitement du signal, sont des jeux d'instructions spécialement conçus pour travailler sur du son, de la vidéo, des images… Le jeu d'instruction d'un DSP est assez spécial, que ce soit pour le nombre de registres, leur utilisation, ou la présence d'instructions insolites.
==Les registres des DSP==
Pour des raisons de couts, tous les DSP utilisent un faible nombre de registres spécialisés. Un DSP a souvent des registres entiers séparés des registres flottants, ainsi que des registres spécialisés pour les adresses mémoires. On peut aussi trouver des registres spécialisés pour les indices de tableau ou les compteurs de boucle. Cette spécialisation des registres pose de nombreux problèmes pour les compilateurs, qui peuvent donner lieu à une génération de code sous-optimale.
De nombreuses applications de traitement du signal ayant besoin d'une grande précision, les DSP sont dotés de registres accumulateurs très grands, capables de retenir des résultats de calcul intermédiaires sans perte de précision.
De plus, certaines instructions et certains modes d'adressage ne sont utilisables que sur certains types de registres. Certaines instructions d'accès mémoire peuvent prendre comme destination ou comme opérande un nombre limité de registres, les autres leur étant interdits. Cela permet de diminuer le nombre de bits nécessaire pour encoder l'instruction en binaire.
==Les instructions courantes des DSP==
Les DSP utilisent souvent l'arithmétique saturée. Certains permettent d'activer et de désactiver l'arithmétique saturée, en modifiant un registre de configuration du processeur. D'autres fournissent chaque instruction de calcul en double : une en arithmétique modulaire, l'autre en arithmétique saturée. Les DSP fournissent l'instruction ''multiply and accumulate'' (MAC) ou ''fused multiply and accumulate'' (FMAC), qui effectuent une multiplication et une addition en un seul cycle d'horloge, ce calcul étant très courant dans les algorithmes de traitement de signal. Il n'est pas rare que l'instruction MAC soit pipelinée.
Pour accélérer les boucles for, les DSP ont des instructions qui effectuent un test, un branchement et une mise à jour de l'indice en un cycle d’horloge. Cet indice est placé dans des registres uniquement dédiés aux compteurs de boucles. Autre fonctionnalité : les instructions autorépétées, des instructions qui se répètent automatiquement tant qu'une certaine condition n'est pas remplie. L'instruction effectue le test, le branchement, et l’exécution de l'instruction proprement dite en un cycle d'horloge. Cela permet de gérer des boucles dont le corps se limite à une seule instruction. Cette fonctionnalité a parfois été améliorée en permettant d'effectuer cette répétition sur des suites d'instructions.
Les DSP sont capables d'effectuer plusieurs accès mémoires simultanés par cycle, en parallèle. Par exemple, certains permettent de charger toutes leurs opérandes d'un calcul depuis la mémoire en même temps, et éventuellement d'écrire le résultat en mémoire lors du même cycle. Il existe aussi des instructions d'accès mémoires, séparées des instructions arithmétiques et logiques, capable de faire plusieurs accès mémoire par cycles : ce sont des ''déplacements parallèles'' (''parallel moves''). Notons qu'il faut que la mémoire soit multiport pour gérer plusieurs accès par cycle. Un DSP ne possède généralement pas de cache pour les données, mais conserve parfois un cache d'instructions pour accélérer l’exécution des boucles. Au passage, les DSP sont basés sur une architecture Harvard, ce qui permet au processeur de charger une instruction en même temps que ses opérandes.
[[File:Architecture mémoire des DSP.png|centre|vignette|upright=2|Architecture mémoire des DSP.]]
==Les modes d’adressage sur les DSP==
Les DSP incorporent pas mal de modes d'adressages spécialisés. Par exemple, beaucoup implémentent l'adressage indirect à registre avec post- ou préincrément/décrément, que nous avions vu dans le chapitre sur l'encodage des instructions. Mais il en existe d'autres qu'on ne retrouve que sur les DSP et pas ailleurs. Il s'agit de l'adressage modulo et de l'adressage à bits inversés.
===L'adressage « modulo »===
Les DSP implémentent des modes d'adressages servant à faciliter l’utilisation de files, des zones de mémoire où l’on stocke des données dans un certain ordre. On peut y ajouter de nouvelles données, et en retirer, mais les retraits et ajouts ne peuvent pas se faire n'importe comment : quand on retire une donnée, c'est la donnée la plus ancienne qui quitte la file. Tout se passe comme si ces données étaient rangées dans l'ordre en mémoire.
Ces files sont implémentées avec un tableau, auquel on ajoute deux adresses mémoires : une pour le début de la file et l'autre pour la fin. Le début de la file correspond à l'endroit où l'on insère les nouvelles données. La fin de la file correspond à la donnée la plus ancienne en mémoire. À chaque ajout de donnée, on doit mettre à jour l'adresse de début de file. Lors d'une suppression, c'est l'adresse de fin de file qui doit être mise à jour. Ce tableau a une taille fixe. Si jamais celui-ci se remplit jusqu'à la dernière case, (ici la cinquième), il se peut malgré tout qu'il reste de la place au début du tableau : des retraits de données ont libéré de la place. L'insertion continue alors au tout début du tableau. Cela demande de vérifier si l'on a atteint la fin du tableau à chaque insertion. De plus, en cas de débordement, si l'on arrive à la fin du tableau, l'adresse de la donnée la plus récemment ajoutée doit être remise à la bonne valeur : celle pointant sur le début du tableau. Tout cela fait pas mal de travail.
Le mode d'adressage « modulo » a été inventé pour faciliter la gestion des débordements. Avec ce mode d'adressage, l'incrémentation de l'adresse au retrait ou à l'ajout est donc effectué automatiquement. De plus, ce mode d'adressage vérifie automatiquement que l'adresse ne déborde pas du tableau. Et enfin, si cette adresse déborde, elle est mise à jour pour pointer au début du tableau. Suivant le DSP, ce mode d'adressage est géré plus ou moins différemment. La première méthode utilise des registres « modulo », qui stockent la taille du tableau. Chaque registre est associé à un registre d'adresse pour l'adresse/indice de l’élément en cours. Vu que seule la taille du tableau est mémorisée, le processeur ne sait pas quelle est l'adresse de début du tableau, et doit donc ruser. Cette adresse est souvent alignée sur un multiple de 64, 128, ou 256. Cela permet ainsi de déduire l'adresse de début de la file : c'est le multiple de 64, 128, 256 strictement inférieur le plus proche de l'adresse manipulée. Autre solution : utiliser deux registres, un pour stocker l'adresse de début du tableau et un autre pour sa longueur. Et enfin, dernière solution, utiliser un registre pour stocker l'adresse de début, et un autre pour l'adresse de fin.
===L'adressage à bits inversés===
L'adressage à bits inversés (bit-reverse) a été inventé pour accélérer les algorithmes de calcul de transformée de Fourier (un « calcul » très courant en traitement du signal). Cet algorithme va prendre des données dans un tableau, et va fournir des résultats dans un autre tableau. Seul problème, l'ordre d'arrivée des résultats dans le tableau d'arrivée est assez spécial. Par exemple, pour un tableau de 8 cases, les données arrivent dans cet ordre : 0, 4, 2, 6, 1, 5, 3, 7. L'ordre semble être totalement aléatoire. Mais il n'en est rien : regardons ces nombres une fois écrits en binaire, et comparons-les à l'ordre normal : 0, 1, 2, 3, 4, 5, 6, 7.
{|class="wikitable"
|-
!Ordre normal!!Ordre Fourier
|-
||000||000
|-
||001||100
|-
||010||010
|-
||011||110
|-
||100||001
|-
||101||101
|-
||110||011
|-
||111||111
|}
Comme vous le voyez, les bits de l'adresse Fourier sont inversés comparés aux bits de l'adresse normale. Nos DSP disposent donc d'un mode d’adressage qui inverse tout ou partie des bits d'une adresse mémoire, afin de gérer plus facilement les algorithmes de calcul de transformées de Fourier. Une autre technique consiste à calculer nos adresses différemment. Il suffit, lorsqu'on ajoute un indice à notre adresse, de renverser la direction de propagation de la retenue lors de l’exécution de l'addition. Certains DSP disposent d'instructions pour faire ce genre de calculs.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les processeurs 8 bits et moins
| prevText=Les processeurs 8 bits et moins
| next=Les architectures actionnées par déplacement
| nextText=Les architectures actionnées par déplacement
}}
</noinclude>
0d1m520eh4gxf49u0y2kvrqm7ak8jto
Fonctionnement d'un ordinateur/L'architecture de base d'un ordinateur
0
65780
762879
762859
2026-04-04T13:55:53Z
Mewtow
31375
/* Les coprocesseurs */
762879
wikitext
text/x-wiki
Dans les chapitres précédents, nous avons vu comment représenter de l'information, la traiter et la mémoriser avec des circuits. Mais un ordinateur n'est pas qu'un amoncellement de circuits et est organisé d'une manière bien précise. Il est structuré autour de trois circuits principaux :
* un '''processeur''', qui manipule l'information et donne un résultat ;
* une '''mémoire''' qui mémorise les données à manipuler ;
* les '''entrées/sorties''', qui permettent à l'ordinateur de communiquer avec l'extérieur.
[[File:Architecture Von Neumann.png|centre|vignette|upright=2|Architecture d'un système à mémoire.]]
Pour faire simple, le processeur est un circuit qui s'occupe de faire des calculs. Rien d'étonnant à cela. Je rappelle que tout est codé par des nombres dans un ordinateur, ce qui fait que manipuler des nombres revient simplement à faire des calculs. Un ordinateur n'est donc qu'une grosse calculatrice améliorée, et le processeur est le composant qui fait les calculs.
La mémoire s'occupe purement de la mémorisation des données, des nombres sur lesquelles faire des calculs. Pour être plus précis, il y a deux mémoires : une pour les données proprement dites, une autre pour le programme à exécuter. La première est la '''mémoire RAM''', la seconde est la '''mémoire ROM'''. Nous détaillerons ce que sont ces deux mémoires dans la suite du chapitre, mais sachez que nous avions déjà rencontré ces deux types de mémoires dans les chapitres sur les registres et les mémoires adressables.
Les entrées-sorties permettent au processeur et à la mémoire de communiquer avec l'extérieur et d'échanger des informations avec des périphériques. Les '''périphériques''' regroupent, pour rappel, tout ce est branché sur un ordinateur, mais n'est pas à l'intérieur de celui-ci.
Le processeur, les mémoires et les entrées-sorties communiquent ensemble via un '''réseau d'interconnexions'''. Le terme est assez barbare, mais rien de compliqué sur le principe. C'est juste un ensemble de fils électriques qui relie les différents éléments d'un ordinateur. Les interconnexions sont souvent appelées le bus de communication, mais le terme est un abus de langage, comme on le verra plus bas.
Afin de simplifier les explications, on va supposer que le réseau d'interconnexion est le suivant. Tout est connecté au processeur. Il y a des interconnexions entre le processeur et la mémoire RAM, d'autres interconnexions entre processeur et mémoire ROM, et d'autres entre le processeur et les entrées-sorties. Nous verrons que d'autres réseaux d'interconnexions fusionnent certaines interconnexions, pour les partager entre la ROM et la RAM, par exemple. Mais pour le moment, gardez le schéma ci-dessous en tête.
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
==Les mémoires RAM et ROM==
La mémoire est le composant qui mémorise des informations, des données. Dans la majorité des cas, la mémoire est composée de plusieurs '''cases mémoire''', chacune mémorisant plusieurs bits, le nombre de bits étant identique pour toutes les cases mémoire. Dans le cas le plus simple, une case mémoire mémorise un '''octet''', un groupe de 8 bits. Mais les mémoires modernes mémorisent plusieurs octets par case mémoire : elles ont des cases mémoires de 16, 32 ou 64 bits, soit respectivement 2/4/8 octets. De rares mémoires assez anciennes utilisaient des cases mémoires contenant 1, 2, 3, 4, 5, 6 7, 13, 17, 23, 36 ou 48 bits. Mais ce n'était pas des mémoires électroniques, aussi nous allons les passer sous silence.
Tout ce qu'il faut savoir est que la quasi-totalité des mémoires électronique a un ou plusieurs octets par case mémoire. Pour simplifier, vous pouvez imaginer qu'une mémoire RAM est un regroupement de registre, chacun étant une case mémoire. C'est une description pas trop mauvaise pour décrire les mémoires RAM, qu'on abordera dans ce qui suit.
{|class="wikitable"
|+ Contenu d'une mémoire, case mémoire de 16 bits (deux octets)
|-
! Case mémoire N°1
| 0001 0110 1111 1110
|-
! Case mémoire N°2
| 1111 1110 0110 1111
|-
! Case mémoire N°3
| 0001 0000 0110 0001
|-
! Case mémoire N°4
| 1000 0110 0001 0000
|-
! Case mémoire N°5
| 1100 1010 0110 0001
|-
! ...
| ...
|-
! Case mémoire N°1023
| 0001 0110 0001 0110
|-
! Case mémoire N°1024
| 0001 0110 0001 0110
|}
Dans ce cours, il nous arrivera de partir du principe qu'il y a un octet par case mémoire, par souci de simplification. Mais ce ne sera pas systématique. De plus, il nous arrivera d'utiliser le terme adresse pour parler en réalité de la case mémoire associée, par métonymie.
===La capacité mémoire===
Bien évidemment, une mémoire ne peut stocker qu'une quantité finie de données. Et à ce petit jeu, certaines mémoires s'en sortent mieux que d'autres et peuvent stocker beaucoup plus de données que les autres. La '''capacité''' d'une mémoire correspond à la quantité d'informations que celle-ci peut mémoriser. Plus précisément, il s'agit du nombre maximal de bits qu'une mémoire peut contenir. Elle est le produit entre le nombre de cases mémoire, et la taille en bit d'une case mémoire.
Toutes les mémoires actuelles utilisant des cases mémoire d'un ou plusieurs octets, ce qui nous arrange pour compter la capacité d'une mémoire. Au lieu de compter cette capacité en bits, on préfère mesurer la capacité d'une mémoire avec le nombre d'octets qu'elle contient. Mais les mémoires des PC font plusieurs millions ou milliards d'octets. Pour se faciliter la tâche, on utilise des préfixes pour désigner les différentes capacités mémoires. Vous connaissez sûrement ces préfixes : kibioctets, mébioctets et gibioctets, notés respectivement Kio, Mio et Gio.
{|class="wikitable"
|-
!Préfixe!!Capacité mémoire en octets!!Puissance de deux
|-
||Kio||1024||2<sup>10</sup> octets
|-
||Mio||1 048 576||2<sup>20</sup> octets
|-
||Gio||1 073 741 824||2<sup>30</sup> octets
|}
On peut se demander pourquoi utiliser des puissances de 1024, et ne pas utiliser des puissances un peu plus communes ? Dans la majorité des situations, les électroniciens préfèrent manipuler des puissances de deux pour se faciliter la vie. Par convention, on utilise souvent des puissances de 1024, qui est la puissance de deux la plus proche de 1000. Or, dans le langage courant, kilo, méga et giga sont des multiples de 1000. Quand vous vous pesez sur votre balance et que celle-ci vous indique 58 kilogrammes, cela veut dire que vous pesez 58 000 grammes. De même, un kilomètre est égal à 1000 mètres, et non 1024 mètres.
Autrefois, on utilisait les termes kilo, méga et giga à la place de nos kibi, mebi et gibi, par abus de langage. Mais peu de personnes sont au courant de l'existence de ces nouvelles unités, et celles-ci sont rarement utilisées. Et cette confusion permet aux fabricants de disques durs de nous « arnaquer » : Ceux-ci donnent la capacité des disques durs qu'ils vendent en kilo, méga ou giga octets : l’acheteur croit implicitement avoir une capacité exprimée en kibi, mébi ou gibi octets, et se retrouve avec un disque dur qui contient moins de mémoire que prévu.
===Lecture et écriture : mémoires ROM et RWM===
Pour simplifier grandement, on peut grossièrement classer les mémoires en deux types : les ''Read Only Memory'' et les ''Read Write Memory'', aussi appelées mémoires ROM et mémoires RWM. Pour les '''mémoires ROM''', on ne peut pas modifier leur contenu. On peut y récupérer une donnée ou une instruction : on dit qu'on y accède en lecture. Mais on ne peut pas modifier les données qu'elles contiennent. Quant aux '''mémoires RWM''', on peut y accéder en lecture (récupérer une donnée stockée en mémoire), mais aussi en écriture : on peut stocker une donnée dans la mémoire, ou modifier une donnée existante.
Tout ordinateur contient au minimum une ROM et une RWM (souvent une mémoire RAM), les deux n'ont pas exactement le même rôle. Pour simplifier, la mémoire ROM mémorise le programme à exécuter, la mémoire RWM stocke des données. Il a existé des ordinateurs où la mémoire RWM était une mémoire magnétique, voire acoustique, mais ce n'est plus le cas de nos jours. Pour les ordinateurs modernes, la mémoire RWM est une mémoire électronique. Pour faire la différence avec ces anciennes mémoires RWM, elle est appelée la '''mémoire RAM'''. Il s'agit d'une mémoire qui stocke temporairement des données que le processeur doit manipuler (on dit qu'elle est volatile). Elle s'efface complètement quand on coupe l'alimentation de l'ordinateur.
Outre le programme à exécuter, la mémoire ROM peut mémoriser des constantes, des données qui ne changent pas. Elles ne sont jamais modifiées et gardent la même valeur quoi qu'il se passe lors de l'exécution du programme. En conséquence, elles ne sont jamais accédées en écriture durant l'exécution du programme, ce qui fait que leur place est dans une mémoire ROM. La mémoire RWM est alors destinée aux données temporaires, qui changent ou sont modifiées lors de l'exécution du programme, et qui sont donc manipulées aussi bien en lecture et en écriture. La mémoire RWM mémorise alors les variables du programme à exécuter, qui sont des données que le programme va manipuler. Pour les systèmes les plus simples, la mémoire RWM ne sert à rien de plus.
[[File:Espaces d'adressage sur une archi harvard modifiée.png|centre|vignette|upright=2.5|Espaces d'adressage sur une archi harvard modifiée]]
Pour donner un exemple de données stockées en ROM, on peut prendre l'exemple des anciennes consoles de jeu 8 et 16 bits. Les jeux vidéos sur ces consoles étaient placés dans des cartouches de jeu, précisément dans une mémoire ROM à l'intérieur de la cartouche de jeu. La ROM mémorisait non seulement le code du jeu, le programme du jeu vidéo, mais aussi les niveaux et les ''sprites'' et autres données graphiques.
Une conséquence est que les consoles 8/16 bits n'avaient pas besoin de beaucoup de RAM, comparé aux ordinateurs de l'époque, vu qu'une grande partie des données utiles étaient dans une ROM directement accessible par le processeur. À l'opposé, les micro-ordinateurs devaient copier les données d'un jeu depuis une disquette dans la mémoire RAM, ce qui demandait d'avoir plus de RAM. Le passage au support CD sur les consoles 32 bits a eu la même conséquence. Le processeur ne pouvant pas lire directement le CD à sa guise, il fallait copier les données du CD en RAM. D'où l'apparition de temps de chargement assez longs, inexistants sur support cartouche.
===L'adressage mémoire===
Sur une mémoire RAM ou ROM, on ne peut lire ou écrire qu'une case mémoire, qu'un registre à la fois : une lecture ou écriture ne peut lire ou modifier qu'une seule case mémoire. Techniquement, le processeur doit préciser à quel case mémoire il veut accéder à chaque lecture/écriture. Pour cela, chaque case mémoire se voit attribuer un nombre binaire unique, l''''adresse''', qui va permettre de le sélectionner et de l'identifier celle-ci parmi toutes les autres. En fait, on peut comparer une adresse à un numéro de téléphone (ou à une adresse d'appartement) : chacun de vos correspondants a un numéro de téléphone et vous savez que pour appeler telle personne, vous devez composer tel numéro. Les adresses mémoires en sont l'équivalent pour les cases mémoire.
[[File:Adressage mémoire.png|centre|vignette|upright=2|Exemple : on demande à la mémoire de sélectionner la case mémoire d'adresse 1002 et on récupère son contenu (ici, 17).]]
L'adresse mémoire est générée par le processeur. Le processeur peut parfaitement calculer des adresses, en extraire du programme qu'il exécute, et bien d'autres choses. Nous détaillerons d'ailleurs les mécanismes pour dans les chapitres portant sur les modes d'adressage du processeur. Mais pour le moment, nous avons juste besoin de savoir que c'est le processeur qui envoie des adresses aux mémoires RAM et ROM.
Les adresses générées par le processeur sont alors envoyées à la RAM ou la ROM via une connexion dédiée, un ensemble de fils qui connecte le processeur à la mémoire : le '''bus d'adresse mémoire'''. L'adresse sélectionne une case mémoire, le processeur peut alors récupérer la donnée dedans pour une lecture, écrire une donnée pour l'écriture. Pour cela, un second ensemble de fil connecte le processeur à la RAM/ROM, mais cette fois-ci pour échanger des données. Il s'agit du '''bus de données mémoire'''. Les deux sont souvent regroupés sous le terme de '''bus mémoire'''.
Un ordinateur contient toujours une RAM et une ROM, ce qui demande aux bus mémoire de s'adapter à la présence de deux mémoires. Il y a alors deux solutions, illustrées dans les deux schémas ci-dessous. Avec la première, il y a un seul bus mémoire partagé entre la RAM et la ROM, comme illustré ci-dessous. Une autre solution utilise deux bus séparés : un pour la RAM et un autre pour la ROM. Nous verrons les différences pratiques entre les deux à la fin du chapitre. Pour le moment, nous allons partir du principe qu'il y a un bus pour la mémoire ROM, et un autre bus pour la RAM.
[[File:CPT-System-Architecture-gapfill1-ANS.svg|centre|vignette|upright=2|Architecture avec une ROM et une RAM.]]
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
===L'alignement mémoire : introduction===
Plus haut, nous avions dit qu'il y a une adresse par case mémoire, chaque case mémoire contenant un ou plusieurs octets. Mais les processeurs modernes partent du principe que la mémoire a un octet par adresse, pas plus. Et ce même si la mémoire reliée au processeur utilise des cases mémoires de 2, 3, 4 octets ou plus. D'ailleurs, la majorité des mémoires RAM actuelle a des cases mémoires de 64 bits, soit 8 octets par case mémoire. Les raisons à cela sont multiple, mais nous les verrons en détail dans le chapitre sur l'alignement mémoire. Toujours est-il qu'il faut distinguer les '''adresses mémoire''' et les '''adresses d'octet''' gérées par le processeur.
Le processeur génère des adresses d'octet, qui permettent de sélectionner un octet bien précis. L'adresse d'octet permet de sélectionner un octet parmi tous les autres. Mais la mémoire ne comprend pas directement cette adresse d'octet. Heureusement, l'octet en question est dans une case mémoire bien précise, qui a elle-même une adresse mémoire bien précise. L'adresse d'octet est alors convertie en une adresse mémoire, qui sélectionne la case mémoire adéquate, celle qui contient l'octet voulu. La case mémoire entière est lue, puis le processeur ne récupère que les données adéquates. Pour cela, des circuits d'alignement mémoire se chargent de faire la conversion entre adresses du processeur et adresse mémoire. Nous verrons cela dans le détail dans le chapitre sur l'alignement mémoire.
Il existe des mémoires qui n'utilisent pas d'adresses mémoire, mais passons : ce sera pour la suite du cours.
==Le processeur==
Dans les ordinateurs, l'unité de traitement porte le nom de '''processeur''', ou encore de '''''Central Processing Unit''''', abrévié en CPU. Le rôle principal du processeur est de faire des calculs. La plupart des processeurs actuels supportent au minimum l'addition, la soustraction et la multiplication. Quelques processeurs ne gèrent pas la division, qui est une opération très gourmande en circuit, peu utilisée, très lente. Il arrive que des processeurs très peu performants ne gèrent pas la multiplication, mais c'est assez rare.
Un processeur ne fait pas que des calculs. Tout processeur est conçu pour effectuer un nombre limité d'opérations bien précises, comme des calculs, des échanges de données avec la mémoire, etc. Ces opérations sont appelées des '''instructions'''. Les plus intuitives sont les '''instructions arithmétiques''', qui font des calculs, comme l'addition, la soustraction, la multiplication, la division. Mais il y a aussi des '''instructions d'accès mémoire''', qui échangent des données entre la mémoire RAM et le processeur. Les autres instructions ne sont pas très intuitives, aussi passons-les sous silence pour le moment, tout deviendra plus clair dans les chapitres sur le processeur.
===Le processeur exécute un programme, une suite d'instructions===
Tout processeur est conçu pour exécuter une suite d'instructions dans l'ordre demandé, cette suite s'appelant un '''programme'''. Ce que fait le processeur est défini par la suite d'instructions qu'il exécute, par le programme qu'on lui demande de faire. Les instructions sont exécutées dans un ordre bien précis, les unes après les autres. L'ordre en question est décidé par le programmeur. La totalité des logiciels présents sur un ordinateur sont des programmes comme les autres.
Le programme à exécuter est stockée dans la mémoire de l'ordinateur. C'est ainsi que l'ordinateur est rendu programmable : modifier le contenu de la mémoire permet de changer le programme exécuté. Mine de rien, cette idée de stocker le programme en mémoire est ce qui a fait que l’informatique est ce qu'elle est aujourd’hui. C'est la définition même d'ordinateur : appareil programmable qui stocke son programme dans une mémoire modifiable.
Une instruction est codée comme les données : sous la forme de suites de bits. Telle suite de bit indique qu'il faut faire une addition, telle autre demande de faire une soustraction, etc. Pour simplifier, nous allons supposer qu'il y a une instruction par adresse mémoire. Sur la grosse majorité des ordinateurs, les instructions sont placées les unes à la suite des autres dans l'ordre où elles doivent être exécutées. Un programme informatique n'est donc qu'une vulgaire suite d'instructions stockée quelque part dans la mémoire de l'ordinateur.
{|class="wikitable"
|+ Exemple de programme informatique
|-
! Adresse
! Instruction
|-
! 0
| Copier le contenu de l'adresse 0F05 dans le registre numéro 5
|-
! 1
| Charger le contenu de l'adresse 0555 dans le registre numéro 4
|-
! 2
| Additionner ces deux nombres
|-
! 3
| Charger le contenu de l'adresse 0555
|-
! 4
| Faire en XOR avec le résultat antérieur
|-
! ...
| ...
|-
! 5464
| Instruction d'arrêt
|}
Pour exécuter une suite d'instructions dans le bon ordre, le processeur détermine à chaque cycle quelle est la prochaine instruction à exécuter. Pour cela, le processeur mémorise l'adresse de l'instruction en cours dans un registre : le '''Program Counter'''. Je rappelle que des instructions consécutives sont dans des adresses consécutives. Pour passer à la prochaine instruction, il suffit donc d'incrémenter le ''program counter''.
: Si une instruction prend plusieurs octets, plusieurs adresses, il suffit de l'incrémenter du nombre d'octets/adresses.
D'autres processeurs font autrement : chaque instruction précise l'adresse de la suivante, directement dans la suite de bit représentant l'instruction en mémoire. Ces processeurs n'ont pas besoin de calculer une adresse qui leur est fournie sur un plateau d'argent. Sur des processeurs aussi bizarres, pas besoin de stocker les instructions en mémoire dans l'ordre dans lesquelles elles sont censées être exécutées. Mais ces processeurs sont très très rares et peuvent être considérés comme des exceptions à la règle.
Nous venons de voir qu'un processeur contient un registre appelé le ''program counter''. Mais il n'est pas le seul. Pour pouvoir fonctionner, tout processeur doit mémoriser un certain nombre d’informations nécessaires à son fonctionnement, qui sont mémorisées dans des '''registres de contrôle'''. La plupart ont des noms assez barbares (registre d'état, ''program counter'') et nous ne pouvons pas en parler à ce moment du cours. Nous les verrons en temps voulu, mais il est important de préciser qu'ils existent.
===L'intérieur d'un processeur===
Fort de ce que nous savons, nous pouvons expliquer ce qu'il y a à l'intérieur d'un processeur. Le premier point est qu'un processeur fait des calculs, ce qui implique qu'il contient des circuits de calcul. Ils sont regroupés dans une ou plusieurs '''unités de calcul'''. Nous avons déjà vu comment fabriquer une unité de calcul simple, dans un chapitre dédié, et c'est la même qui est présente dans un processeur. Du moins dans les grandes lignes, les circuits des processeurs modernes étant particulièrement optimisés. Il en est de même pour les autres circuits de calcul comme ceux pour les multiplications/division/autres.
Si le processeur fait des calculs, qu'en est-il des opérandes ? Et où sont mémorisés les résultats des opérations ? Pour cela, le processeur incorpore des '''registres généraux'''. Les registres généraux servent à mémoriser les opérandes et résultats des instructions. Ils mémorisent des données, contrairement aux registres de contrôle mentionnés plus haut. Le nombre de registres généraux dépend grandement du processeur. Les tout premiers processeurs se débrouillaient avec un seul registre, mais les processeurs actuels utilisent plusieurs registres, pour mémoriser plusieurs opérandes/résultats. Mais la présence de registres est source de pas mal de petites complications. Par exemple, il faut échanger les données entre la RAM et les registres, il faut gérer l'adressage des registres, etc. Il s'agit là de détails que nous expliquerons dans les chapitres sur le processeur.
Le processeur contient enfin un circuit pour interpréter les instructions, appelé l''''unité de contrôle'''. Elle lit les instructions depuis la mémoire, interprète la suite de bit associée, et commande le reste du processeur pour qu'il exécute l'instruction. Ses fonctions sont assez variées, mais nous allons simplifier en disant qu'elle configure l'unité de calcul et les registres pour faire le bon calcul. Son rôle est d'analyser la suite de bit qui constitue l'instruction, et d'en déduire quelle opération effectuer. Elle gère aussi l'accès à la mémoire RAM, et notamment ce qui est envoyé sur son bus d'adresse.
: Dans ce qui suit, on suppose que le ''program counter'' fait partie de l'unité de contrôle.
Pour résumer, un processeur contient une unité de calcul, des registres et une interface avec la mémoire RAM. Le tout est interconnecté, afin de pouvoir échanger des données. L’ensemble forme le '''chemin de données''', nom qui trahit le fait que c'est là que les données se déplacent et sont traitées. Il faut aussi ajouter l'unité de contrôle pour commander le tout. Elle lit les instructions en mémoire, puis commande le chemin de données pour que l'instruction soit exécutée correctement.
[[File:Microarchitecture d'un processeur.png|centre|vignette|upright=2|Microarchitecture d'un processeur]]
Un processeur parait donc assez simple expliqué comme ça, mais il y a de nombreuses subtilités. L'une d'entre elle est liée aux registres, et notamment à la manière dont on les utilise. Pour expliquer ces subtilités, nous allons voir comment les premiers processeurs fonctionnaient, avant de passer aux processeurs un peu plus modernes. Les tout premiers processeurs n'utilisaient qu'un seul registre, ce qui fait que l'utilisation des registres était très simple. Le passage à plusieurs registres a complexifié le tout.
===D'où viennent les adresses ?===
Il est maintenant temps de répondre à une question qui s'était posée dans la section sur l'adressage : d'où viennent les adresses envoyées à la mémoire ? Pour ce qui est des adresses des instructions, on connait déjà la réponse : c'est le ''program counter'' qui gère tout. Mais pour les données, il y a deux possibilités, qui correspondent à deux types de données : les données statiques et les données dynamiques.
Les '''données statiques''' sont les plus simples : elles existent durant toute la durée de vie du programme. Tant que celui-ci s'exécute, il aura besoin de ces données. En conséquence, il leur réserve une place en mémoire, qui est toujours la même. La donnée se situe donc à une adresse bien précise, qui ne change jamais. Attention cependant : les données peuvent être modifiées, changer de valeur. Le programme écrit dans les donnée statiques, c'est même assez fréquent. Ce sont ne sont pas forcément des données constantes !
Pour les données statiques, elles sont toujours placées à la même adresse mémoire. Pour le dire autrement, l'adresse mémoire est une constante, qui ne change pas. L'adresse est connue avant d’exécuter le programme, le programme a été codé pour utiliser cette adresse pour telle donnée, on a réservé une adresse pour la donnée voulue. Et même si vous quittez le programme et vous le relancez plusieurs jours après, l'adresse mémoire sera la même avant et après.
Et cela permet d'utiliser l''''adressage direct'''. L'idée est que les instructions précisent donc l'adresse à lire ou écrire. Pour cela, l'adresse est intégrée dans l’instruction elle-même. Pour rappel, l'instruction est codée par une suite de bit en mémoire RAM/ROM, dont certains précisent l'opération à faire, les autres servant à autre chose. L'idée est que certains bits précisent l'adresse mémoire de la donnée à lire. Les instructions sont donc du genre :
* ''LOAD 56'' - lit l'adresse numéro 56 et copie son contenu dans un registre;
* ''STORE R5 , adress 99'', copie le registre R5 dans l'adresse 99 ;
* ''ADD R5 , adress 209'' : additionne le registre R5 avec le contenu de l'adresse 209.
S'il existe des données statiques, c'est signe qu'il existe des '''données dynamiques'''. Ces dernières sont des données qui sont créées ou détruites selon les besoins. Pour comprendre d'où viennent ces données dynamiques, prenons le cas d'une personne qui écrit du texte sur un ordinateur. Le texte qu'il écrit est mémorisé dans la RAM de l’ordinateur, puis est sauvegardé sur le disque dur quand il sauvegarde son document. Au fur et à mesure qu'il écrit du texte, la RAM utilisée par ce texte augmente. Donc, ce texte est une donnée dynamique, dont la taille varie dans le temps.
Pour gérer des données dynamiques, la plupart des systèmes d'exploitation incorporent des fonctionnalités d''''allocation mémoire'''. Derrière ce nom barbare, se cache quelque chose de simple : les programmes peuvent réclamer de la mémoire au système d'exploitation, pour y placer les données qu'ils souhaitent. Les langages de programmation bas niveau supportent des fonctions comme malloc(), qui permettent de demander un bloc de mémoire de N octets à l'OS, qui doit alors accommoder la demande. De même, un programme peut libérer de la mémoire qu'il n'utilise plus avec des fonctions comme free().
Avec l'allocation mémoire, les données n'ont pas de place fixe en mémoire. Leur adresse mémoire peut varier d'une exécution du programme à l'autre. Pire que ça : les données peuvent être déplacées dans la mémoire RAM, si besoin. En clair : l'adresse est déterminée lors de l'exécution du programme. L'adresse est alors soit calculée, soit lue depuis la mémoire RAM, soit déterminée autrement. Toujours est-il qu'elle se retrouve dans un registre général. Pour gérer ces adresse variables, les processeurs utilisent l''''adressage indirect'''. L'adressage indirect permet d'utiliser une adresse qui est dans un registre de données. L'adresse en question peut être envoyée à la mémoire RAM sans problème, le processeur peut automatiquement connecter le registre adéquat sur le bus d'adresse.
Au tout début de l'informatique, les processeurs ne supportaient que l'adressage direct, pas plus. L'adressage indirect n'était tout simplement pas possible. Avec l'adressage direct, l'adresse à lire est extraite directement des instructions, par l'unité de contrôle. Le bus d'adresse de la RAM est alors relié directement à l'unité de contrôle, le bus de données est relié aux registres.
[[File:Architecture Harvard avec adressage direct uniquement.png|centre|vignette|upright=2|Architecture Harvard avec adressage direct uniquement]]
Mais dès les années 70, l'adressage indirect est apparu, rendant la programmation bien plus simple. Mais cela a demandé quelques adaptation au niveau du processeur. Avec l'adressage indirect, le bus d'adresse est connecté aux registres. Il a donc fallu rajouter un multiplexeur pour que le processeur décide de relier le bus d'adresse soit aux registres, soit à l'unité de contrôle.
===Un ordinateur peut avoir plusieurs processeurs===
La plupart des ordinateurs n'ont qu'un seul processeur, ce qui fait qu'on désigne avec le terme d''''ordinateurs mono-processeur'''. Mais il a existé (et existe encore) des '''ordinateurs multi-processeurs''', avec plusieurs processeurs sur la même carte mère. L'idée était de gagner en performance : deux processeurs permettent de faire deux fois plus de calcul qu'un seul, quatre permettent d'en faire quatre fois plus, etc. C'est très courant sur les supercalculateurs, des ordinateurs très puissants conçus pour du calcul industriel ou scientifique, mais aussi sur les serveurs ! Dans le cas le plus courant, ils utilisent plusieurs processeurs identiques : on utilise deux processeurs Core i3 de même modèle, ou quatre Pentium 3, etc.
Pour utiliser plusieurs processeurs, les programmes doivent être adaptés. Pour cela, il y a plusieurs possibilités :
* Une première possibilité, assez intuitive, est d’exécuter des programmes différents sur des processeurs différents. Par exemple, on exécute le navigateur web sur un processeur, le lecteur vidéo sur un autre, etc.
* La seconde option est de créer des programmes spéciaux, qui utilisent plusieurs processeurs. Ils répartissent les calculs à faire sur les différents processeurs. Un exemple est la lecture d'une vidéo sur le web : un processeur peut télécharger la vidéo pendant le visionnage et bufferiser celle-ci, un autre processeur peut décoder la vidéo, un autre décoder l'audio. De tels programmes restent des suites d'instructions, mais ils sont plus complexes que les programmes normaux, aussi nous les passons sous silence.
* La troisième option est d’exécuter le même programme sur les différents processeurs, mais chaque processeur traite son propre ensemble de données. Par exemple, pour un programme de rendu 3D, quatre processeurs peuvent s'occuper chacun d'une portion de l'image.
[[File:Architecture de Von Neumann Princeton multi processeurs.svg|centre|vignette|upright=2|Architecture de Von Neumann Princeton multi processeurs]]
De nos jours, les ordinateurs grand public les plus utilisés sont dans un cas intermédiaire, ils ne sont ni mono-, ni multi-processeur. Ils n'ont qu'un seul processeur, dans le sens où si on ouvre l'ordinateur et qu'on regarde la carte mère, il n'y a qu'un seul processeur. Mais ce processeur est en réalité assez similaire à un regroupement de plusieurs processeurs dans le même boitier. Il s'agit de '''processeurs multicœurs''', qui contiennent plusieurs cœurs, chaque cœur pouvant exécuter un programme tout seul.
La différence entre cœur et processeur est assez difficile à saisir, mais pour simplifier : un cœur est l'ensemble des circuits nécessaires pour exécuter un programme. Chaque cœur dispose de toute la machinerie électronique pour exécuter un programme, à savoir des circuits aux noms barbares comme : un séquenceur d'instruction, des registres, une unité de calcul. Par contre, certains circuits d'un processeur ne sont présents qu'en un seul exemplaire dans un processeur multicœur, comme les circuits de communication avec la mémoire ou les circuits d’interfaçage avec la carte mère.
Suivant le nombre de cœurs présents dans notre processeur, celui-ci sera appelé un processeur double-cœur (deux cœurs), quadruple-cœur (4 cœurs), octuple-cœur (8 cœurs), etc. Un processeur double-cœur est équivalent à avoir deux processeurs dans l'ordinateur, un processeur quadruple-cœur est équivalent à avoir quatre processeurs dans l'ordinateur, etc. Ces processeurs sont devenus la norme dans les ordinateurs grand public et les logiciels et systèmes d'exploitation se sont adaptés.
===Les coprocesseurs===
Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs qui complémentaient un processeur principal. Les ordinateurs de ce type avaient un processeur principal, le '''CPU''', qui était secondé par un ou plusieurs coprocesseurs. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle.
Les coprocesseurs les plus connus sont les '''coprocesseurs pour le rendu 2D/3D''' et les '''coprocesseurs sonores'''. Ils ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles de cette génération ou antérieure. Ils s'occupaient respectivement de calculer les graphismes des jeux vidéos, et de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
L'accès aux périphériques est quelque chose sur lequel nous passerons plusieurs chapitres dans ce cours. Mais sachez que l'accès aux périphériques peut demander pas mal de puissance de calculs. Le CPU principal peut faire ce genre de calculs par lui-même, mais il n'est pas rare qu'un '''coprocesseur d'IO''' soit dédié à l'accès aux périphériques. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont un peu à part des autres. Ils sont spécialisés dans les calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les entrées-sorties==
Tous les circuits vus précédemment traitent des données codées en binaire. Ceci dit, les données ne sortent pas de n'importe où : l'ordinateur contient des composants électroniques qui traduisent des informations venant de l’extérieur en nombres. Ces composants sont ce qu'on appelle des '''entrées'''. Par exemple, le clavier est une entrée : l'électronique du clavier attribue un nombre entier (''scancode'') à une touche, nombre qui sera communiqué à l’ordinateur lors de l'appui d'une touche. Pareil pour la souris : quand vous bougez la souris, celle-ci envoie des informations sur la position ou le mouvement du curseur, informations qui sont codées sous la forme de nombres. La carte son évoquée il y a quelques chapitres est bien sûr une entrée : elle est capable d'enregistrer un son, et de le restituer sous la forme de nombres.
S’il y a des entrées, on trouve aussi des '''sorties''', des composants électroniques qui transforment des nombres présents dans l'ordinateur en quelque chose d'utile. Ces sorties effectuent la traduction inverse de celle faite par les entrées : si les entrées convertissent une information en nombre, les sorties font l'inverse : là où les entrées encodent, les sorties décodent. Par exemple, un écran LCD est un circuit de sortie : il reçoit des informations, et les transforme en image affichée à l'écran. Même chose pour une imprimante : elle reçoit des documents texte encodés sous forme de nombres, et permet de les imprimer sur du papier. Et la carte son est aussi une sortie, vu qu'elle transforme les sons d'un fichier audio en tensions destinées à un haut-parleur : c'est à la fois une entrée, et une sortie.
Les '''entrées-sorties''' incluent toutes les entrées et sorties, et même certains composants qui sont les deux à la fois. Il s'agit d'un terme générique, qui regroupe des composants forts différents. Dans ce qui va suivre, nous allons parfois parler de périphériques au lieu d'entrées-sorties, mais les deux termes ne sont pas équivalents. Dans le détail, les entrées-sorties regroupent :
* Les '''périphériques''' sont les composants connectés sur l'unité centrale. Exemple : les claviers, souris, webcam, imprimantes, écrans, clés USB, disques durs externes, la Box internet, etc.
* Les '''cartes d'extension''', qui se connectent sur la carte mère via un connecteur, comme les cartes son ou les cartes graphiques.
* D'autres composants sont soudés à la carte mère mais sont techniquement des entrées-sorties : les cartes sons soudées sur les cartes mères actuelles, par exemple.
===L'interface avec le reste de l'ordinateur===
Les entrées-sorties sont très diverses, fonctionnent très différemment les unes des autres. Mais du point de vue du reste de l'ordinateur, les choses sont relativement standardisées. Du point de vue du processeur, les entrées-sorties sont juste des paquets de registres ! Tous les périphériques, toutes les entrées-sorties contiennent des '''registres d’interfaçage''', qui permettent de faire l'intermédiaire entre l'entrée/sortie et le reste de l'ordinateur. L'entrée/sortie est conçu pour réagir automatiquement quand on écrit dans ces registres.
[[File:Registres d'interfaçage.png|centre|vignette|upright=2|Registres d'interfaçage.]]
Les registres d’interfaçage sont assez variés. Les plus évidents sont les '''registres de données''', qui permettent l'échange de données entre le processeur et les périphériques. Pour échanger des données avec l'entrée/sortie, le processeur a juste à lire ou écrire dans ces registres de données. On trouve généralement un registre de lecture et un registre d'écriture, mais il se peut que les deux soient fusionnés en un seul registre d’interfaçage de données. Si le processeur veut envoyer une donnée à une entrée/sortie, il a juste à écrire dans ces registres. Inversement, s'il veut lire une donnée, il a juste à lire le registre adéquat.
Mais le processeur ne fait pas que transmettre des données à l'entrée/sortie. Le processeur lui envoie aussi des « commandes », des valeurs numériques auxquelles l'entrée/sortie répond en effectuant un ensemble d'actions préprogrammées. En clair, ce sont l'équivalent des instructions du processeur, mais pour l'entrée/sortie. Par exemple, les commandes envoyées à une carte graphique peuvent être : affiche l'image présente à cette adresse mémoire, calcule le rendu 3D à partir des données présentes dans ta mémoire, etc. Pour recevoir les commandes, l'entrée/sortie contient des ''registres de commande'' qui mémorisent les commandes envoyées par le processeur. Quand le processeur veut envoyer une commande à l'entrée/sortie, il écrit la commande en question dans ce ou ces registres.
Enfin, beaucoup d'entrée/sortie ont un ''registre d'état'', lisible par le processeur, qui contient des informations sur l'état de l'entrée/sortie. Ils servent notamment à indiquer au processeur que l'entrée/sortie est disponible, qu'il est en train d’exécuter une commande, qu'il est occupé, qu'il y a un problème, qu'il y a une erreur de configuration, etc.
===Les adresses des registres d’interfaçage===
Les registres des périphériques sont identifiés par des adresses mémoires. Et les adresses sont conçues de façon à ce que les adresses des différentes entrées/sorties ne se marchent pas sur les pieds. Chaque entrée/sortie, chaque registre, chaque contrôleur a sa propre adresse. D'ordinaire, certains bits de l'adresse indiquent quel est le destinataire. Certains indiquent quel est l'entrée/sortie voulue, les restants indiquant le registre de destination.
Il existe deux organisations possibles pour les adresses des registres d’interfaçages. La première possibilité est de séparer les adresses pour les registres d’interfaçage et les adresses pour la mémoire. Le processeur doit avoir des instructions séparées pour gérer les périphériques et adresser la mémoire. Il a des instructions de lecture/écriture pour lire/écrire en mémoire, et d'autres pour lire/écrire les registres d’interfaçage. Sans cela, le processeur ne saurait pas si une adresse est destinée à un périphérique ou à la mémoire.
[[File:Espaces d'adressages séparés entre mémoire et périphérique.png|centre|vignette|upright=2.5|Espaces d'adressages séparés entre mémoire et périphérique]]
L'autre méthode mélange les adresses mémoire et des entrées-sorties. Si on prend par exemple un processeur de 16 bits, où les adresses font 16 bits, alors les 65536 adresses possibles seront découpées en deux portions : une partie ira adresser la RAM/ROM, l'autre les périphériques. On parle alors d''''entrées-sorties mappées en mémoire'''. L'avantage est que le processeur n'a pas besoin d'avoir des instructions séparées pour les deux.
[[File:IO mappées en mémoire.png|centre|vignette|upright=2.0|IO mappées en mémoire]]
Pour résumer, communiquer avec une entrée/sortie est similaire à ce qu'on a avec les mémoires. Il suffit de lire ou écrire dans des registres d’interfaçage, qui ont chacun une adresse mémoire. Le problème est que le système d'exploitation ne connaît pas toujours le fonctionnement d'une entrée/sortie : il faut installer un programme qui va s'exécuter quand on souhaite communiquer avec l'entrée/sortie, et qui s'occupera de tout ce qui est nécessaire pour le transfert des données, l'adressage du périphérique, etc. Ce petit programme est appelé un driver ou '''pilote de périphérique'''. La « programmation » périphérique est très simple : il suffit de savoir quoi mettre dans les registres, et c'est le pilote qui s'en charge.
==Les architectures Harvard et Von Neumann==
Après avoir vu le processeur, les mémoires et les entrées-sorties, voyons voir comment le tout est interconnecté. Tous les ordinateurs ne sont pas organisés de la même manière, pour ce qui est de leurs bus. Mais pour comprendre pourquoi, nous devons regarder qui communique avec qui, dans un ordinateur. Pour rappel, les données sont placées en mémoire RAM, alors que les instructions sont placées en mémoire ROM. Le processeur lit des instructions dans la mémoire ROM, il lit et écrit dans la mémoire RAM, et accède aux registres d’interfaçage des entrées-sorties. Il y a donc besoins de trois interconnexions : CPU-ROM, CPU-RAM et CPU-IO.
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
Il parait intéressant d'utiliser trois interconnexions, au minimum CPU-ROM, CPU-RAM et CPU-IO. Néanmoins, faire ainsi a de nombreux désavantages. Déjà, il faut pouvoir brancher tout ça sur le processeur. Et celui-ci n'a pas forcément assez de broches pour. Aussi, il est parfois préférable de mutualiser des bus, à savoir de connecter plusieurs composants sur un même bus. Par exemple, on peut mutualiser le bus pour la mémoire RAM et pour la mémoire ROM. Il faut dire que les deux bus sont des bus mémoire, avec un bus d'adresse, un bus de données, et surtout : des bus de commande similaires. Les mutualiser est alors très simple, et permet d'économiser pas mal de broches.
[[File:Réseau d'interconnexion avec un processeur au centre et une architecture Harvard.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre et une architecture Harvard]]
Cette mutualisation nous amène naturellement à parler de la distinction entre les architectures Harvard d'un côté et les architectures Von Neumann de l'autre. Elle est très liée au fait d'utiliser soit un bus mémoire unique, soit des bus séparés pour la ROM et la RAM. Voyons cela en détail.
===Les architectures Harvard et Von Neumann : des bus séparés ou unifiés===
Avec l''''architecture Harvard''', la mémoire ROM et la mémoire RAM sont reliées au processeur par deux bus séparés. Il y a un bus RAM pour la mémoire RAM, un bus ROM pour la mémoire ROM. L'avantage de cette architecture est qu'elle permet de charger une instruction et une donnée simultanément : une instruction chargée sur le bus relié à la mémoire programme, et une donnée chargée sur le bus relié à la mémoire de données. Et cela simplifie fortement la conception du processeur.
[[File:Harvard Architecture.png|centre|vignette|upright=2|Architecture Harvard, avec une ROM et une RAM séparées.]]
Avec l''''architecture Von Neumann''', mémoire ROM et mémoire RAM sont reliées au processeur par un bus unique. Le bus unique qui relie processeur, RAM et ROM, s'appelle le '''bus mémoire'''. Un défaut de ces architecture est qu'elles ne peuvent pas charger une instruction et une donnée en même temps. Et cela pose quelques problèmes pour la conception du processeur. Par contre, nous verrons dans ce qui suit qu'utiliser un bus mémoire partagé est bien plus flexible et permet des choses que les architectures Harvard ne peuvent pas faire.
[[File:Architecture Von Neumann, avec deux bus séparés.png|centre|vignette|upright=2|Architecture Von Neumann, avec deux bus séparés.]]
===Les architectures Harvard et Von Neumann : des espaces d'adressage séparés ou unifiés===
La distinction précédente se base sur les connexions entre RAM, ROM et processeur. Mais il existe une autre distinction, très liée, qui est souvent utilisée comme seconde définition des architectures Harvard/Von Neumann. Elle est liée aux adresses mémoire que le processeur peut gérer. Prenons un processeur 16 bits, par exemple, qui gère naturellement des adresses de 16 bits. Il peut gérer 2^16 adresses, soit 64 kibioctets de mémoire. L'ensemble de ces adresses est appelé un '''espace d'adressage'''. Mais comment cet espace d'adressage est utilisé pour adresser une RAM et une ROM ?
Sur les architectures Harvard, le processeur voit deux mémoires séparées avec leur lot d'adresses distinctes. Une même adresse peut donc correspondre soit à la mémoire ROM, soit à la mémoire RAM, suivant le bus utilisé. L'espace d'adressage est donc doublé, dupliqué, avec un pour la ROM, un autre pour la RAM. Rien d'étonnant à cela : il y a deux bus d'adresses, chacun correspondant à un espace d'adressage.
[[File:Vision de la mémoire par un processeur sur une architecture Harvard.png|centre|vignette|upright=2|Vision de la mémoire par un processeur sur une architecture Harvard.]]
Avec l'architecture Von Neumann, la RAM et la ROM doivent se partager les adresses mémoires disponibles. Il n'y a qu'un seul espace d'adressage qui est coupé en deux, avec une partie pour la ROM et une autre pour la RAM. Une adresse correspond soit à la mémoire RAM, soit à la mémoire ROM, mais pas aux deux. Typiquement, la mémoire ROM occupe une partie des adresses, la mémoire RAM utilise le reste. La répartition des adresses est réalisée par les circuits de décodage d'adresse mentionnés plus haut.
[[File:Vision de la mémoire par un processeur sur une architecture Von Neumann.png|centre|vignette|upright=2|Vision de la mémoire par un processeur sur une architecture Von Neumann.]]
Les '''architectures Harvard modifiées''' sont des intermédiaires entre architectures Harvard et architectures Von Neumann, bien qu'elles penchent bien plus du côté des architectures Harvard. Précisons que la terminologie n'est pas claire, beaucoup d'auteurs mettent des définitions différentes derrière ces deux termes. Mais dans ce cours, nous utiliserons une définition très stricte de ce qu'est une architecture Harvard modifiée.
Une architecture Harvard modifiée est une architecture Harvard, où le processeur peut lire des données constantes depuis la mémoire ROM. Nous avions vu plus haut que les mémoires ROM peuvent mémoriser, en plus d'un programme exécutable, des données constantes, qui ne varient pas. Les architectures Harvard pures ne permettent pas de lire des données de ce genre depuis la mémoire ROM, alors que les architectures Harvard modifiées le permettent.
Une architecture Harvard modifiée dispose d'une instruction pour lire les données en mémoire RWM, et d'une instruction pour lire des données en mémoire ROM. Il y a donc deux versions de l'instruction LOAD, qui copient la donnée dans un registre général, mais dont la source de la donnée est différente. Une autre possibilité, plus rare, est que une instruction de copie, qui copie une constante depuis la mémoire ROM vers la mémoire RAM. Le cas le plus commun est l'utilisation de deux instructions LOAD séparées.
[[File:Espaces d'adressage sur une archi harvard modifiée.png|centre|vignette|upright=2.5|Espaces d'adressage sur une archi harvard modifiée]]
Ceci étant dit, revenons à la distinction entre architecture Harvard et Von Neumann. Il faut noter que la RAM et la ROM n'ont pas forcément la même taille. Et ce que ce soit sur une architecture Harvard que sur une architecture Von Neumann, mais c'est plus facile à expliquer sur une architecture Harvard.
On peut par exemple imaginer une architecture Harvard qui utilise des adresses de 16 bits pour la ROM, et seulement 8 bits pour la RAM. Le résultat est qu'il peut adresser 64 kibioctets de ROM, mais seulement 256 octets de RAM. Les deux bus d'adresse sont alors de taille différente, l'un faisant 8 bits, l'autre 16. Quelques processeurs 8 bits étaient dans ce cas, comme on le verra dans le chapitre sur les CPU 8bits. Mais d'autres processeurs utilisent des valeurs différentes, avec par exemple des adresses de 16 bits pour la RAM, mais de 20 bits pour la ROM, ou inversement.
Sur une architecture Von Neumann, tout dépend de comment les adresses sont réparties. La solution la plus simple découpe l'espace d'adressage en deux parties égales, avec la RAM qui est dans la moitié basse (qui part de l'adresse 0 jusqu'à l'adresse au milieu), alors que la ROM est dans la moitié haute (entre l'adresse du milieu et l'adresse maximale). Mais ce n'est pas la seule possibilité, la limite entre RAM et ROM peut être mise n'importe où. Prenons par exemple un processeur 32 bits, capable de gérer 4 milliards d'adresse. Il est parfaitement possible de réserver 128 mébioctets de poids fort à la mémoire ROM, et de laisser le reste à la mémoire RAM.
===Le décodage d'adresse sur les architectures Von Neumann===
Pour résumer, les architectures Harvard et Von Neumann se distinguent sur deux points :
* L'accès à la RAM et à la ROM se font par des bus séparés sur l'architecture Harvard, sur le même bus avec l'architecture Von Neumann.
* Les adresses pour la mémoire ROM et la mémoire RAM sont séparées sur les architectures Harvard, partagées sur l’architecture Von Neumann.
Les architectures Von Neumann utilisent donc un seul bus pour connecter la RAM et la ROM au processeur. Mais cela ne parait pas intuitif : comment deux composants peuvent se connecter aux mêmes fils ? Parce que c'est ce qu'implique le fait de partager un bus. Si je prends une mémoire RAM et une mémoire ROM, toutes deux de 8 bits, elles seront connectées à un bus mémoire de 8 bits. Intuitivement, on se dit qu'il y aura des conflits, du genre : la RAM et la ROM vont accéder au bus en même temps, comment savoir si une adresse est destinée à la RAM ou la ROM, etc ?
Tous ces problèmes sont résolus avec une solution très simple : à chaque instant, seule une mémoire est connectée au bus. L'idée est que les mémoires sont connectées ou déconnectées du bus selon les besoins. Si le processeur veut envoyer lire une donnée en mémoire RAM, il déconnecte la mémoire ROM du bus. Et inversement, s'il veut lire une instruction, il déconnecte la RAM et connecte la ROM.
Pour cela, les mémoires RAM et ROM possèdent une entrée ''Chip Select'' ou ''Output Enable'', qui agit comme une sorte de bouton ON/OFF. Lorsqu'on met un 1 sur cette entrée, la mémoire se connectera au bus. Ses entrées et sorties fonctionneront normalement, elle pourra recevoir des adresses, envoyer ou recevoir des données, tout sera normal. Par contre, si on met un 0 sur cette entrée, la mémoire se "désactive", ses entrée-sorties ne répondent plus aux sollicitations extérieures. Pire que ça : elles sont électriquement déconnectées.
Au total, tout cela demande de gérer deux bit ''Chip Select''/''Output Enable'' : un pour la RAM, un pour la ROM. Et ces deux bits sont configurés pour chaque accès mémoire, pour chaque lecture ou écriture. Pour cela, un circuit de '''décodage d'adresse''' prend en entrée l'adresse mémoire à lire/écrire, et active/désactive les mémoires RAM/ROM selon les besoins. Il prend l'adresse et configure les bits ''Chip Select''/''Output Enable''.
[[File:Décodage d'adresse sur une architecture Von Neumann.png|centre|vignette|upright=2|Décodage d'adresse sur une architecture Von Neumann.]]
L'implémentation la plus simple réserve la moitié des adresses pour la RAM, l'autre moitié pour la ROM. Typiquement, la ROM prend la moitié basse, la RAM la moitié haute. Dans ce cas, activer/désactiver la RAM et la ROM se fait avec seulement le bit de poids fort de l'adresse. Si le bit de poids fort est à 1, alors on accède à la RAM et la ROM doit être désactivée. Mais si ce bit est à 0, alors on accède à la moitié basse et il faut désactiver la RAM.
Une remarque intéressante : le fait de séparer la mémoire en deux parts égales permet de simuler une architecture Harvard à partir d'une architecture Von Neumann. Par exemple, le tout premier processeur d'Intel, le 4004, était l'un de ceux là. La RAM et la ROM sont reliés au même bus, et il y a donc un unique espace d'adressage, qui est séparé en deux parties égales. Le truc est que le processeur traite les deux parties égales comme deux espaces d'adressage séparés. Le processeur se débrouille pour cacher le fait qu'il y a un espace d'adressage unique coupé en deux, ce qui fait que les programmeurs voient bien deux espaces d'adressages distincts.
[[File:Décodage d'adresse sur une architecture Von Neumann basique.png|centre|vignette|upright=2|Décodage d'adresse sur une architecture Von Neumann basique.]]
Pour résumer, quand une adresse est envoyée sur le bus, les deux mémoires vont la recevoir mais une seule va répondre et se connecter au bus. Le décodage d'adresse garantit que seule la mémoire adéquate réponde à un accès mémoire. Le décodage d'adresse est réalisé par la carte mère, par un composant dédié.
Le mécanisme peut être utilisé pour combiner plusieurs RAM en une seule, idem avec les ROM. Pour comprendre l'idée, je vais prendre l'exemple de l'IBM PC, un des tout premier PC existant. Nous étudierons ce PC dans une section dédiée, à la fin du chapitre, aussi je vais passer rapidement dessus. Tout ce que je vais faire est vous présenter la carte mère du PC, et vous demander de faire est de compter les mémoires ROM et mémoires RAM sur la carte mère :
[[File:IBM 5150 Motherboard.svg|centre|vignette|upright=3|Carte mère de l'IBM 5150, un modèle de l'IBM PC.]]
Si vous remarquerez qu'il y a 5 mémoires ROM et 8 à 32 mémoires RAM. Le fait est que le processeur voit les différentes mémoires ROM comme une seule mémoire ROM. Idem avec les mémoires RAM : elle font chacune 2 kibioctets, et l'ensemble est vu par le processeur comme une seule RAM de 16 à 64 kibioctets. Et cela grâce aux circuits de décodage d'adresse, qui sont situés en haut à droite de la carte mère.
Pour comprendre l'idée, prenons l'exemple d'un processeur 16 bits, capable de gérer 64 kibioctets de mémoire. L'espace d'adressage est découpé en quatre portions, de 16 kibioctets chacune. Une portion est réservée à une ROM de 16 kibioctet, les autres sont chacune réservée à une RAM de 16 kibioctet. Le décodage d'adresse sélectionne alors la mémoire adéquate en utilisant les deux bits de poids fort de l'adresse.
* S'ils valent 00, alors c'est la mémoire ROM qui est activée, connectée au bus.
* S'ils valent 01, alors c'est la première mémoire RAM qui est connectée au bus.
* S'ils valent 10, alors c'est la seconde mémoire RAM qui est connectée au bus.
* S'ils valent 11, alors c'est la troisième mémoire RAM qui est connectée au bus.
[[File:Décodage d'adresse sur une architecture Von Neumann, utilisant plusieurs RAM et une ROM.png|centre|vignette|upright=3|Décodage d'adresse sur une architecture Von Neumann, utilisant plusieurs RAM et une ROM]]
===L'impact sur la conception du processeur===
Plus haut, j'ai parlé d'un des avantages des architectures Harvard : elles peuvent lire une instruction en même temps qu'elles accèdent à une donnée. La donnée est lue/écrite en RAM, alors que l'instruction est lue en ROM. Et cela permet de simplifier l'intérieur du processeur. Pas de beaucoup, mais c'est déjà ça de pris. Voyons maintenant comment cela impacte l'intérieur du processeur. Tout ce dont vous avez à vous rappeler est la séparation entre chemin de données et unité de contrôle, et que les registres généraux sont dans le premier, le ''program counter'' dans la seconde.
Avec une architecture Harvard, les instructions et les données passent par des bus différent : bus ROM pour les instructions, bus RAM pour les données. L'intuition nous dit que le bus pour la mémoire ROM est connecté à l'unité de contrôle, alors que le bus pour la RAM est connecté au chemin de données. Et dans les grandes lignes, c'est vrai. La logique est imparable pour ce qui est des bus de données. Mais il y a une petite subtilité pour les bus d'adresse.
Pour comprendre comment le processeur exploite ces deux bus, voyons ce qui transite dessus. Pour la mémoire ROM, elle reçoit l'adresse de l'instruction à lire, elle renvoie l'instruction adéquate. Pour cela, le ''program counter'' est envoyé sur le bus d'adresse, l'instruction sur le bus de données. Pour la mémoire RAM, elle échange des données avec les registres généraux, les registres pour les données. Les adresses utilisées pour la RAM viennent elles soit du chemin de données, soit de l'unité de contrôle, tout dépend du mode d'adressage. Mais le ''program counter'' n'est pas impliqué.
[[File:Architecture Harvard - échanges de données.png|centre|vignette|upright=2|Architecture Harvard - échanges de données]]
Les architectures Harvard modifiées doivent cependant rajouter une connexion entre le bus ROM et les registres généraux. C'est nécessaire pour charger une donnée constante depuis la mémoire ROM. Rappelons que la donnée constante est copiée dans un registre général, donc dans le chemin de données.
[[File:Architecture Harvard modifiée - implémentation du processeur.png|centre|vignette|upright=2|Architecture Harvard modifiée - implémentation du processeur]]
Avec les architectures Von Neumann, il y a un seul bus qui est relié à la fois au chemin de données et à l'unité de contrôle. Si le processeur lit une instruction, le bus doit être relié à l'unité de contrôle. Par contre, s'il accède à une donnée, il doit être relié au chemin de données (le bus d'adresse peut éventuellement être connecté au séquenceur, si celui-ci fournit l'adresse à lire). Il faut donc utiliser un paquet de multiplexeurs et de démultiplexeurs pour faire la connexion au bon endroit.
[[File:Architecture Von Neumann - implémentation du processeur.png|centre|vignette|upright=2|Architecture Von Neumann - implémentation du processeur]]
Une instruction se fait en deux temps : on charge l'instruction depuis la mémoire ROM, puis on l'exécute. Avec une architecture Harvard, tout cela se fait en un seul cycle d'horloge, vu que charger la ROM et accéder aux données peut se faire en même temps. Pas avec les architectures Von Neumann, qui doivent libérer le bus mémoire après avoir chargé une instruction. Elles n'ont pas le choix : elles chargent l'instruction lors d'un premier cycle d'horloge, puis l'exécutent lors du second.
Pour cela, ils incorporent un registre appelé le '''registre d'instruction''', qui mémorise l'instruction chargée. L'instruction est copiée dans ce registre lors du premier cycle, puis est utilisée lors du second cycle. Le registre permet de ne pas oublier l’instruction entre les deux cycles. Le registre d'instruction est obligatoire sur les architectures Von Neumann. En comparaison, il est facultatif sur les architectures Harvard. Elles peuvent en avoir un, pour des raisons techniques, mais ce n'est pas obligatoire.
[[File:Registre d'instruction.png|centre|vignette|upright=2|Registre d'instruction.]]
===Les architectures Von Neumann sont plus flexibles===
Sur les architectures Harvard, le processeur sait faire la distinction entre programme et données. Les données sont stockées dans la mémoire RAM, le programme est stocké dans la mémoire ROM. Les deux sont séparés, accédés par le processeur sur des bus séparés, et c'est ce qui permet de faire la différence entre les deux. Il est impossible que le processeur exécute des données ou modifie le programme. Du moins, tant que la mémoire qui stocke le programme est bien une ROM.
Par contre, sur les architectures Von Neumann, il est impossible de distinguer programme et données, sauf en ajoutant des techniques de protection mémoire avancées. La raison est qu'il est impossible de faire la différence entre donnée et instruction, vu que rien ne ressemble plus à une suite de bits qu'une autre suite de bits. Et c'est à l'origine d'un des avantages majeur de l'architecture Von Neumann : il est possible que des programmes soient copiés dans la mémoire RWM et exécutés dans celle-ci.
Un cas d'utilisation familier est celui de votre ordinateur personnel. Le système d'exploitation et les autres logiciels sont copiés en mémoire RAM à chaque fois que vous les lancez. Mais cet exemple implique un disque dur, ce qui rend les choses plus compliquées que prévu. Un autre exemple serait la compilation de code à la volée, mais il ne sera pas très parlant.
Un exemple plus adapté serait celui où la ROM mémorise un programme compressée dans la mémoire ROM, qui est décompressé pour être exécuté en mémoire RAM. Le programme de décompression est stocké en mémoire ROM et est exécuté au lancement de l’ordinateur. Cette méthode permet d'utiliser une mémoire ROM très petite et très lente, tout en ayant un programme rapide (si la mémoire RWM est rapide).
Il est aussi possible de créer des programmes qui modifient leurs propres instructions : cela s'appelle du '''code auto-modifiant'''. Ce genre de choses servait autrefois sur des ordinateurs rudimentaires, au tout début de l'informatique. A l'époque, les adresses à lire/écrire devaient être écrites en dur dans le programme, dans les instructions exécutées. Pour gérer certaines fonctionnalités des langages de programmation qui ont besoin d'adresses modifiables, comme les tableaux, on devait corriger les adresses au besoin avec du code auto-modifiant. De nos jours, le code automodifiant est utilisée occasionnellement pour rendre un programme indétectable dans la mémoire (les virus informatiques utilisent beaucoup ce genre de procédés).
L'impossibilité de séparer données et instructions est à l'origine de problèmes assez fâcheux. Il est parfaitement possible que le processeur charge et exécute des données, qu'il prend par erreur pour des instructions. C'est le cas quand des pirates informatiques arrivent à exploiter des bugs. Il arrive que des pirates informatiques vous fournissent des données corrompues, qui contiennent un virus ou un programme malveillant est caché dans les données. Les bugs en question permettent d'exécuter ces données, donc virus. Pour éviter cela, le système d'exploitation peut marquer certaines zones de la mémoire comme non-exécutable, c’est-à-dire que le système d'exploitation interdit d’exécution de quoi que ce soit qui est dans cette zone. Mais ce n'est pas parfait.
Toujours est-il que tout cela est impossible sur les architectures Harvard. Et ce serait très limitant. Imaginez : pas possible de lancer un programme depuis le disque dur ou une clé USB, le programme doit impérativement être dans une mémoire ROM, pas de compilation à la volée, etc. Que des techniques très utilisées dans l'informatique moderne. Malgré ses défauts, les architectures Von Neumann ne sont pas les plus utilisées pour rien. Les architectures Harvard sont concrètement utilisées uniquement dans l'informatique embarquée, sur des microcontrôleurs très spécifiques.
==Le bus de communication avec les entrées-sorties==
Le processeur, la mémoire et les entrées-sorties sont connectées par un ou plusieurs '''bus de communication'''. Ce bus n'est rien d'autre qu'un ensemble de fils électriques sur lesquels on envoie des zéros ou des uns. Pour communiquer avec la mémoire, il y a trois prérequis qu'un bus doit respecter : pouvoir sélectionner la case mémoire (ou l'entrée-sortie) dont on a besoin, préciser à la mémoire s'il s'agit d'une lecture ou d'une écriture, et enfin pouvoir transférer la donnée. Pour cela, on doit donc avoir trois bus spécialisés, bien distincts, qu'on nommera le bus de commande, le bus d'adresse, et le bus de donnée.
* Le '''bus de données''', sur lequel s'échangent les données entre les composants.
* Le '''bus de commande''' pour configurer la mémoire et les entrées-sorties.
* Le '''bus d'adresse''', facultatif, permet de préciser quelle adresse mémoire il faut lire/écrire.
Chaque composant possède des entrées séparées pour le bus d'adresse, le bus de commande et le bus de données. Par exemple, une mémoire RAM possédera des entrées sur lesquelles brancher le bus d'adresse, d'autres sur lesquelles brancher le bus de commande, et des broches d'entrée-sortie pour le bus de données. Précisons cependant que le bus de commande n'est pas exactement le même entre des mémoires RAM/ROM et des entrées-sorties.
[[File:Bus general schematic.svg|centre|vignette|upright=2|Contenu d'un bus, généralités.]]
===Le réseau d'interconnexion : généralités===
Reprenons où nous nous étions arrêté. Avant de voir les architectures Harvard et Von Neumann, nous avions dit que le processeur, les mémoires et les entrées-sorties sont reliées entre eux par un réseau d'interconnexion. Nous venons de voir qu'il est possible de mutualiser certains bus, notamment celui de la mémoire RAM et celui de la mémoire ROM. Mais il est possible de faire la même chose pour les entrées-sorties. Là encore, il est possible de regrouper le bus mémoire avec les bus pour les entrées-sorties. Voyons ce que cela implique.
{|
|[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec une architecture Harvard.]]
|[[File:Réseau d'interconnexion avec un processeur au centre et une architecture Harvard.png|centre|vignette|upright=2|Interconnexions d'une architecture Von Neumann.]]
|}
Avant de poursuivre, nous devons préciser quelque chose d'important. Sur les ordinateurs modernes, les entrées-sorties peuvent accéder à la mémoire RAM. Les ordinateurs modernes intègrent des techniques de '''''Direct Memory Access''''' (DMA) qui permettent aux entrées-sorties de lire ou d'écrire en mémoire RAM. Les transferts DMA se font sans intervention du processeur. Ils permettent de copier un bloc de plusieurs octets, dans deux sens : de la mémoire RAM vers une entrée-sortie, ou inversement. Le DMA demande d'ajouter un circuit dédié sur la carte mère : le contrôleur DMA. Il effectue la copie d'un paquet d'octets de la RAM vers l'entrée-sortie ou dans l'autre sens.
[[File:Réseau d'interconnexion avec un processeur au centre, et direct memory access.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre, et direct memory access]]
===Les bus systèmes===
La première solution utilise un bus unique, celui-ci est appelé le '''bus système''', aussi appelé ''backplane bus''. Le bus système est connecté à la mémoire RAM, la mémoire ROM, au processeur, et aux entrées-sorties. Tous les composants présents dans l'ordinateur sont connectés à ce bus, sans exception. De tels bus avaient pour avantage la simplicité. Le processeur n'est connecté qu'à un seul bus, ce qui utilise peu de broches et économise des fils. La mutualisation des bus est totale, le câblage est plus simple, la fabrication aussi.
[[File:Architecture minimale d'un ordinateur.png|centre|vignette|upright=2|Architecture minimale d'un ordinateur.]]
Un bus système contient un bus d'adresse, de données et de commande. Un bus système se marie bien avec des entrées-sorties mappées en mémoire. La conséquence est que le bus d'adresse ne sert pas que pour l'accès à la mémoire RAM/ROM, mais aussi pour l'accès aux entrées-sorties. Il y a moyen d'implémenter un système d'adresse séparés avec, mais c'est pas l'idéal.
[[File:Architecture Von Neumann avec les bus.png|centre|vignette|upright=2|Architecture Von Neumann avec les bus.]]
Un bus système n'a pas de limitations quant aux échanges de données. Le processeur peut communiquer directement avec les mémoires et les entrées-sorties, les entrées-sorties peuvent communiquer avec la mémoire RAM, etc. Notamment, un bus système peut implémenter le ''Direct Memory Access''. Il suffit juste de connecter un contrôleur DMA sur le bus système. Le contrôleur DMA est considéré comme une entrée-sortie, ses registres sont mappés en mémoire et sont donc accessibles directement par le processeur.
[[File:Bus système avec controleur DMA.png|centre|vignette|upright=2|Bus système avec contrôleur DMA.]]
Si on suit la définition à la lettre, un bus système est systématiquement une architecture Von Neumann, vu que la mémoire ROM et la mémoire RAM sont reliées sur le bus système. La conséquence est que les circuits de décodage d'adresse sont présents. Ils sont toujours sur la carte mère, et sont plus ou moins à côté du bus système. Cependant, le décodage d'adresse est parfois étendu pour tenir compte des entrées-sorties.
Les entrées-sorties soudées sur la carte mère ont elles aussi des entrées ''Chip Select'' ou quelque chose de similaire. Le décodage d'adresse peut alors les activer ou les désactiver suivant l'adresse envoyée sur le bus d'adresse. C'est ce qui arrive quand le processeur écrit dans un registre d’interfaçage : il envoie l'adresse de ce registre sur le bus d'adresse, le circuit de décodage d'adresse active seulement l'entrée-sortie associée.
Il faut noter que ce n'est pas systématique, il existe des techniques pour se passer de décodage d'adresse. Mais nous en reparlerons dans le chapitre sur les bus de communication.
[[File:Chipselectfr.png|centre|vignette|upright=1.5|Exemple détaillé.]]
Les bus systèmes sont certes très simples, mais ils ont aussi des désavantages. Par exemple, il faut éviter que le processeur et les entrées-sorties se marchent sur les pieds, ils ne peuvent pas utiliser le bus en même temps. De tels conflits d'accès au bus système sont fréquents et ils réduisent la performance, comme on le verra dans le chapitre sur les bus. De plus, un bus système a le fâcheux désavantage de relier des composants allant à des vitesses très différentes : il arrivait fréquemment qu'un composant rapide doive attendre qu'un composant lent libère le bus. Le processeur était le composant le plus touché par ces temps d'attente.
Elle était utilisée sur les tout premiers ordinateurs, pour sa simplicité. Elle était parfaitement adaptée aux anciens composants, qui allaient tous à la même vitesse. De nos jours, les ordinateurs à haute performance ne l'utilisent plus trop, mais elle est encore utilisée sur certains systèmes embarqués, en informatique industrielle dans des systèmes très peu puissants.
===Les bus d'entrées-sorties===
Les bus systèmes ont de nombreux problèmes, ce qui fait que d'anciens ordinateurs faisaient autrement. A la place d'un bus système unique, ils utilisent un bus séparé pour les mémoires, et un autre séparé pour les entrées-sorties. Le bus spécialisé pour la mémoire est appelé le '''bus mémoire''', l'autre bus est appelé le '''bus d'entrées-sorties'''. Le bus mémoire est généralement relié à la fois à la mémoire RAM et à la mémoire ROM, les exceptions ne sont pas rares, cependant.
[[File:Bus mémoire séparé du bus pour les IO.png|centre|vignette|upright=2|Bus mémoire séparé du bus pour les IO]]
Les bus d'entrée-sorties peuvent être spécialisés et simplifiés. Par exemple, ils peuvent avoir un bus de commande différent de celui de la mémoire, qui utilise nettement moins de fils. Le bus d'adresse peut aussi être réduit, et utiliser des adresses plus courtes que celles du bus mémoire. Les bus de données peuvent aussi être de taille différentes. Il est ainsi possible d'avoir un bus mémoire capable de lire/écrire 64 bits à la fois, alors que la communication avec les entrées-sorties se fait octet par octet ! En général, les bus d'entrée-sortie sont assez petits, ils ont une taille de 8 ou 16 bits, même si le bus mémoire est plus grand. Cela permet de ne pas gaspiller trop de broches. Ajouter un bus d'entrée-sortie n'est donc pas très gourmand en broches et en fils.
: Il est en théorie possible d'avoir une fréquence différente pour les deux bus, avec un bus mémoire ultra-rapide et un bus pour les entrées-sorties est un bus moins rapide. Mais il faut que le processeur soit prévu pour, et c'est très rare.
Niveau performances, le processeur peut théoriquement accéder à la mémoire en attendant qu'une entrée/sortie réponde, mais il faut que le processeur soit prévu pour, et ce n'est pas de la tarte. Par contre, cela implique d'avoir des adresses séparées pour les registres d’interfaçage et la mémoire. En clair : pas d'entrée-sortie mappée en mémoire ! Un autre problème est que les entrées-sorties ne peuvent pas communiquer avec la mémoire directement, elles doivent passer par l'intermédiaire du processeur. En clair : pas de ''Direct Memory Access'' ! Les deux sont des défauts rédhibitoires pour les programmeurs système, notamment pour ceux qui codent les pilotes de périphériques.
Pour résumer, les défauts sont assez problématiques : pas d'entrées-sorties mappées en mémoire, pas de ''Direct Memory Access'', économie de broches limitée. Les deux premiers sont des défauts majeurs, qui font que de tels bus ne sont pas utilisés dans les ordinateurs modernes. A la place, ils utilisent une troisième solution, distincte des bus systèmes et des bus d'entrée-sorties.
===Les bus avec répartiteur===
Il existe une méthode intermédiaire, qui garde deux bus séparés pour la mémoire et les entrées-sorties, mais élimine les problèmes de brochage sur le processeur. L'idée est d'intercaler, entre le processeur et les deux bus, un '''circuit répartiteur'''. Il récupère tous les accès et distribue ceux-ci soit sur le bus mémoire, soit sur le bus des périphériques. Le ou les répartiteurs s'appellent aussi le '''''chipset''''' de la carte mère.
C'était ce qui était fait à l'époque des premiers Pentium. À l'époque, la puce de gestion du bus PCI faisait office de répartiteur. Elle mémorisait des plages mémoires entières, certaines étant attribuées à la RAM, les autres aux périphériques mappés en mémoire. Elles utilisaient ces plages pour faire la répartition.
[[File:IO mappées en mémoire avec séparation des bus.png|centre|vignette|upright=2|IO mappées en mémoire avec séparation des bus]]
Niveau adresses des registres d'interfacage, il est possible d'avoir soit des adresses unifiées avec les adresses mémoire, soit des adresses séparées.
L'usage d'un répartiteur ne pose pas de problèmes particuliers pour implémenter le DMA. La seule contrainte est que le contrôleur DMA soit intégré dans le répartiteur. Les échanges entre IO et mémoire passent par le répartiteur, qui fait le pont entre bus mémoire et bus des IO.
[[File:Implémentation du DMA avec un répartiteur.png|centre|vignette|upright=2|Implémentation du DMA avec un répartiteur]]
==Les microcontrôleurs et ''system on chip''==
Parfois, on décide de regrouper la mémoire, les bus, le CPU et les ports d'entrée-sortie dans un seul circuit intégré, un seul boitier. L'ensemble forme alors ce qu'on appelle un '''''System on Chip''''' (système sur une puce), abrévié en SoC. Le nom est assez explicite : un SoC comprend un système informatique complet sur une seule puce de silicium, microprocesseurs, mémoires et périphériques inclus. Ils incorporent aussi des ''timers'', des compteurs, et autres circuits très utiles.
[[File:ARMSoCBlockDiagram.svg|centre|vignette|upright=2|SoC basé sur un processeur ARM, avec des entrées-sorties typiques de celles d'un µ-contrôleur. Le support du bus CAN, d'Ethernet, du bus SPI, d'un circuit de PWM (génération de signaux spécifiques), de convertisseurs analogique-digital et inverse, sont typiques des µ-contrôleurs.]]
Le terme SoC regroupe des circuits imprimés assez variés, aux usages foncièrement différents et à la conception distincte. Les plus simples d’entre eux sont des microcontrôleurs, qui sont utilisés pour des applications à base performance. Les plus complexes sont utilisés pour des applications qui demandent plus de puissance, nous les appellerons SoC haute performance.
La relation entre SoC et microcontrôleurs est assez compliquée à expliquer, la terminologie n'est pas clairement établie. Il existe quelques cours/livres qui séparent les deux, d'autres qui pensent que les deux sont très liés. Dans ce cours, nous allons partir du principe que tous les systèmes qui regroupent processeur, mémoire et quelques périphériques/entrées-sorties sont des SoC. Les microcontrôleurs sont donc un cas particulier de SoC, en suivant cette définition.
===Les microcontrôleurs===
Les '''microcontrôleurs''' sont des composants utilisés dans l'embarqué ou d'informatique industrielle. Leur nom trahit leur rôle. Ils sont utilisés pour contrôler de l'électroménager, des chaines de fabrication dans une usine, des applications robotiques, les alarmes domestiques, les voitures. De manière générale, on les trouve dans tous les systèmes dits embarqués et/ou temps réel. Ils ont besoin de s'interconnecter à un grand nombre de composants et intègrent pour cela un grand nombre d'entrée-sorties. Les microcontrôleurs sont généralement peu puissants, et doivent consommer peu d'énergie/électricité.
[[File:Microcontroller 8051.gif|centre|vignette|upright=2.5|Microcontrôleur Intel 8051.]]
Un microcontrôleur tend à intégrer des entrées-sorties assez spécifiques, qu'on ne retrouve pas dans les SoC destinés au grand public. Un microcontrôleur est typiquement relié à un paquet de senseurs et son rôle est de commander des moteurs ou d'autres composants. Et les entrées-sorties intégrées sont adaptées à cette tâche. Par exemple, ils tendent à intégrer de nombreux convertisseurs numériques-analogiques pour gérer des senseurs. Ils intègrent aussi des circuits de génération de signaux PWM spécialisés pour commander des moteurs, le processeur peut gérer des calculs trigonométriques (utiles pour commander la rotation d'un moteur), etc.
Fait amusant, on en trouve dans certains périphériques informatiques. Par exemple, les anciens disques durs intégraient un microcontrôleur qui contrôlait plusieurs moteurs/ Les moteurs pour faire tourner les plateaux magnétiques et les moteurs pour déplacer les têtes de lecture/écriture étaient commandés par ce microcontrôleur. Comme autre exemple, les claviers d'ordinateurs intègrent un microcontrôleur connecté aux touches, qui détecte quand les touches sont appuyées et qui communique avec l'ordinateur. Nous détaillerons ces deux exemples dans les chapitres dédiés aux périphériques et aux disques durs, tout deviendra plus clair à ce moment là. La majorité des périphériques ou des composants internes à un ordinateur contiennent des microcontrôleurs.
===Les SoC haute performance===
Les SoC les plus performants sont actuellement utilisés dans les téléphones mobiles, tablettes, ''Netbook'', ''smartphones'', ou tout appareil informatique grand public qui ne doit pas prendre beaucoup de place. La petite taille de ces appareils fait qu'ils gagnent à regrouper toute leur électronique dans un circuit imprimé unique. Mais les contraintes font qu'ils doivent être assez puissants. Ils incorporent des processeurs assez puissants, surtout ceux des ''smartphones''. C'est absolument nécessaire pour faire tourner le système d'exploitation du téléphone et les applications installées dessus.
Niveau entrées-sorties, ils incorporent souvent des interfaces WIFI et cellulaires (4G/5G), des ports USB, des ports audio, et même des cartes graphiques pour les plus puissants d'entre eux. Les SoC incorporent des cartes graphiques pour gérer tout ce qui a trait à l'écran LCD/OLED, mais aussi pour gérer la caméra, voire le visionnage de vidéo (avec des décodeurs/encodeurs matériel). Par exemple, les SoC Tegra de NVIDIA incorporent une carte graphique, avec des interfaces HDMI et VGA, avec des décodeurs vidéo matériel H.264 & VC-1 gérant le 720p. Pour résumer, les périphériques sont adaptés à leur utilisation et sont donc foncièrement différents de ceux des microcontrôleurs.
[[File:Phone hardware.png|centre|vignette|upright=2|Hardware d'un téléphone. On voit qu'il est centré autour d'un SoC, complété par de la RAM, un disque dur de faible capacité, de quoi gérer les entrées utilisateurs (l'écran tactile, les boutons), et un modem pour les émissions téléphoniques/2G/3G/4G/5G.]]
Un point important est que les processeurs d'un SoC haute performance sont... performants. Ils sont le plus souvent des processeurs de marque ARM, qui sont différents de ceux utilisés dans les PC fixe/portables grand public qui sont eux de type x86. Nous verrons dans quelques chapitres en quoi consistent ces différences, quand nous parlerons des jeux d'instruction du processeur. Autrefois réservé au monde des PCs, les processeurs multicœurs deviennent de plus en plus fréquents pour les SoC de haute performance. Il n'est pas rare qu'un SoC incorpore plusieurs cœurs. Il arrive même qu'ils soient foncièrement différents, avec plusieurs cœurs d'architecture différente.
La frontière entre SoC haute performance et microcontrôleur est de plus en plus floue. De nombreux appareils du quotidien intègrent des SoC haute performance, d'autres des microcontrôleurs. Par exemple, les lecteurs CD/DVD/BR et certains trackers GPS intègrent un SoC ou des processeurs dont la performance est assez pêchue. À l'opposé, les systèmes domotiques intègrent souvent des microcontrôleurs simples. Malgré tout, les deux cas d'utilisation font que le SoC/microcontrôleur est connecté à un grand nombre d'entrées-sorties très divers, comme des capteurs, des écrans, des LEDs, etc.
[[File:GPS tracker Hardware Architecture.png|centre|vignette|upright=2|Hardware d'un tracker GPS.]]
==Étude de quelques exemples d'architectures==
Après avoir vu la théorie, nous allons voir des exemples réels d'ordinateurs. Dans ce qui suit, nous allons voir des ordinateurs assez anciens, pour une raison simple : ils collent assez bien à l''''architecture de base''' vue plus haut, avec un CPU, une RAM et une ROM, quelques entrées-sorties. Tous les ordinateurs modernes, mais aussi dans les smartphones, les consoles de jeu et autres, utilisent une architecture grandement modifiée et améliorée, avec un grand nombre de périphériques, disques durs/SSD, un grand nombre de mémoires différentes, etc.
Il pourrait sembler pertinent d’étudier des microcontrôleurs ou des ''System On Chip'', en premier lieu. Mais nous éviterons soigneusement de tels systèmes pour le moment. La raison est qu'ils ont un grand nombre d'entrées-sorties, qui sont peu familières. Attendez-vous à avoir près d'une vingtaine ou centaine d'entrée-sorties différentes pour de tels systèmes. Le tout est très complexe, bien trop pour un premier exemple. A la place, nous allons voir précisément des exemples plus simples : les premiers PC, et des consoles de jeu 8 et 16 bits.
Bien que ce soit des systèmes très simples, ils sont cependant plus complexes que l'architecture de base. Et leur avantages/désavantages sont un peu inverse l'un de l'autre. Si on devait résumer les différences, on aurait ceci :
* Les PC ont plus d'entrées-sorties que les consoles, bien que nettement moins que pour les microcontrôleurs/SoC.
* Les PC utilisent des disques durs, les consoles font avec soit des cartouches de jeu, soit des CD/DVD.
* Les PC utilisent des cartes électroniques séparées pour le son et l'écran, les consoles utilisent des circuits soudés sur la carte mère, qui sont souvent des co-processeurs.
* Les PC ont une mémoire ROM soudées sur la carte mère, les consoles 8 bits font sans.
Les PC et micro-ordinateurs ont plus d'entrées-sorties que les consoles. Même si on mets de côté les périphériques, ils ont aussi beaucoup de composants soudées sur la carte mère. En comparaison, les consoles de jeu 8/16 bits se débrouillent avec : une cartouche de jeu et une manette en entrée, une sortie vidéo et une sortie son.
Un autre point important est l'absence de disque dur ou de lecteur CD. La présence d'un disque dur ou d'un lecteur CD/DVD complexifie tout de suite l'architecture des PC. Il faut leur réserver un bus dédié ou les connecter à un bus système, cela demande d'ajouter des circuits sur la carte mère, etc. Et surtout, il faut expliquer comment l'ordinateur exécute des programmes, ce qui demande de parler de l'interaction avec le disque dur et la ROM du BIOS. Rien de tout cela sur les consoles de jeu 8 et 16 bits. Elles utilisent à la place des cartouches de jeu, qui intègrent une mémoire ROM, pour mémoriser les données du jeu, voire son code. Pas besoin de parler des mémoires de stockage, on est beaucoup plus proche de l'architecture de base avec une ROM unique.
Par contre, n'allez pas croire que tout est rose avec les consoles 8/16 bits. Il y a quelques différences qui font qu'elles sont plus complexes qu'un PC sur certains points.
Les PC utilisent des cartes électroniques à brancher sur la carte mère pour alimenter l'écran et les hauts-parleurs/casques, alors que les consoles de jeu utilisent des souvent co-processeurs dédiés pour le son et les graphismes. La différence parait mineure, mais elle avantage les consoles. Nous avons déjà expliqué ce que sont les co-processeurs plus haut, aussi les co-processeurs des consoles nous paraitrons familiers. On n'a pas à s’embêter à expliquer ce que sont les cartes d'extension, les bus associés et tout ce qui va avec, cela peut être retardé pour la section sur l'architecture des PC.
La gestion de la cartouche de jeu est aussi un peu subtile à comprendre, bien que ce soit bien plus simple à comprendre qu'un système avec un disque dur. Les cartouches de jeu intègrent une mémoire ROM, pour mémoriser les données du jeu, voire son code. Et le processeur doit exécuter le code depuis cette mémoire ROM. La conséquence est que les consoles 8/16 bits utilisent une architecture Harvard, avec un bus relié à la cartouche pour lire les instructions. Mais si ce n'était que ça... Les cartouches mémorisent aussi les données pour les graphismes, ce qui fait que le co-processeur vidéo doit lui aussi lire la cartouche pour récupérer ces données...
===L'architecture de la TurboGraphX-16===
La console PC Engine, aussi appelée TurboGraphX, est une ancienne console 8 bits. Elle contient un processeur 65C02, 8 kibioctets de RAM, un port manettes, une carte son et une carte vidéo. La '''carte son''' est le composant qui s'occupe de commander les haut-parleurs et de gérer tout ce qui a rapport au son. La '''carte graphique''' est le composant qui est en charge de calculer les graphismes, tout ce qui s'affiche à l'écran. Sur cette console, les cartes son et graphique ne sont PAS des co-processeurs, ce sont des circuits électroniques dits fixes. C'est totalement différent de ce qu'on a sur les consoles modernes, aussi le préciser est important.
Bien que la carte graphique ne soit pas un processeur, elle a 64 kibioctets de RAM rien que pour elle. La RAM en question est séparée de la RAM normale, c'est un circuit intégré séparé. Et c'est un cas très fréquent, qui reviendra par la suite. La majeure partie des cartes graphiques dispose de leur propre '''mémoire vidéo''', totalement réservée à la carte graphique. La RAM vidéo est connectée à la carte graphique via un bus séparé. Le processeur est souvent connecté à ce bus, afin de pouvoir écrire des données dedans, mais ce n'est pas le cas ici.
[[File:Architecture de la PC Engine, aussi appelée TurboGrafx-16.png|centre|vignette|upright=2.5|Architecture de la PC Engine, aussi appelée TurboGrafx-16]]
L'architecture de la console était particulièrement simple. Le processeur était le centre de l'architecture, tout était connecté dessus. Il y a un bus pour la cartouche de jeu, un autre pour la RAM, un autre pour les manettes, un autre pour carte son, et un dernier pour la carte graphique. Le fait d'avoir un bus par composant est assez rare et ce n'est le cas ici que parce des conditions particulières sont remplies. Déjà, il y a peu d'entrée-sorties. Ensuite, les bus font tous 8 bits, vu que le processeur est un CPU 8 bits. Avec 5 connexions de 8 bits, le tout utilise 40 broches, ce qui est beaucoup, mais totalement gérable. Par contre, les choses changerons pour les autres consoles.
Au final, l'organisation des bus peut s'expliquer avec ce qu'on a vu dans la section sur les bus de communication. La console utilise une architecture Harvard, car la ROM et la RAM utilisent des bus différents. De plus, il y a des bus dédiés aux entrées-sorties, séparés des bus mémoire. Enfin, la carte graphique a droit à ses propres bus pour lire dans la cartouche et dans sa RAM vidéo dédiée.
===L'architecture de la console de jeu NES===
Maintenant, nous allons voir la console de Jeu Famicom, aussi appelée la NES en occident. Elle a une architecture centrée sur un processeur Ricoh 2A03, similaire au processeur 6502, un ancien processeur autrefois très utilisé et très populaire. Le processeur est associé à 2 KB de mémoire RAM.
Sur certaines cartouches, on trouve une RAM utilisée pour les sauvegardes, qui est adressée par le processeur directement. Première variation par rapport à l'architecture de la console précédente : l'ajout de la RAM pour les sauvegardes dans les cartouches.
Niveau carte graphique, une différence importante est que la carte graphique est connectée à la cartouche de jeu via un autre bus, afin de pouvoir lire les sprites et textures du jeu dans la cartouche.
[[File:Architecture de la NES.png|centre|vignette|upright=2.5|Architecture de la NES]]
La différence avec l'architecture précédente est que des bus ont été fusionnés. Comme dit plus haut, le système utilise une architecture Harvard, vu que la ROM est dans la cartouche, alors que la RAM est soudée à la carte mère. Par contre, la Famicon utilise un bus dédié aux entrées-sorties. Il est utilisé pour la carte son et la carte graphique, seules les manettes sont sur un bus à part. Ce qui fait qu'on devrait plutôt parler de bus de sorties, mais passons... L'essentiel est qu'on n'est plus tout à fait dans le cas de la console précédente, avec un bus par composant.
===L'architecture de la SNES===
L'architecture de la SNES est illustrée ci-dessous. Les changements pour le processeur et la RAM sont mineurs.La RAM a augmenté en taille et passe à 128 KB. Pareil pour la RAM de la carte vidéo, qui passe à 64 KB. Par contre, on remarque un changement complet au niveau des bus, de la carte graphique et de la carte son.
[[File:Architecture de la SNES.png|centre|vignette|upright=2|Architecture de la SNES]]
La console utilise un '''bus système unique''', sur lequel tout est connecté : ROM, RAM, entrées-sorties, etc. La seule exception est pour les manettes, qui sont encore connectées directement sur le processeur, via un bus séparé. La transition vers un bus système s'explique par le fait que la console est maintenant de 16 bits, ce qui fait que les bus doivent être plus larges. Le processeur adresse des mémoires RAM et ROM plus grandes, ce qui double la taille de leurs bus. De plus, les entrées-sorties aussi ont besoin d'un bus plus large. Le processeur n'ayant pas un nombre illimité de broches, la seule solution est de fusionner les bus en un seul bus système.
Un autre changement est que la carte graphique est maintenant composée de deux circuits séparés. Encore une fois, il ne s'agit pas de coprocesseurs, mais de circuits non-programmables. Par contre, la carte son est remplacée par deux coprocesseurs audio ! De plus, les deux processeurs sont connectés à une mémoire RAM dédiée de 64 KB, comme pour la carte graphique. L'un est un processeur 8 bits (le DSP), l'autre est un processeur 16 bits.
Un point très intéressant : certains jeux intégraient des coprocesseurs dans leurs cartouches de jeu ! Par exemple, les cartouches de Starfox et de Super Mario 2 contenait un coprocesseur Super FX, qui gérait des calculs de rendu 2D/3D. Le Cx4 faisait plus ou moins la même chose, il était spécialisé dans les calculs trigonométriques, et diverses opérations de rendu 2D/3D. En tout, il y a environ 16 coprocesseurs d'utiliser et on en trouve facilement la liste sur le net. La console était conçue pour, des pins sur les ports cartouches étaient prévues pour des fonctionnalités de cartouche annexes, dont ces coprocesseurs. Ces pins connectaient le coprocesseur au bus des entrées-sorties. Les coprocesseurs des cartouches de NES avaient souvent de la mémoire rien que pour eux, qui était intégrée dans la cartouche.
===L'architecture de la Megadrive et de la néo-géo===
Passons maintenant à la console de jeu Megadrive, une console 16 bits. Elle a une architecture similaire à celle de la néo-géo, une autre console bien plus puissante, sorti à peu près en même temps. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 et le Motorola 68000 étaient deux processeurs très populaires à l'époque. Le Z80 est une sorte de version améliorée de l'Intel 8088 utilisé sur les anciens PC et de nombreuses consoles utilisaient des Z80 comme processeur principal. Il était familier pour les programmeurs de l'époque, pour son cout réduit, sa bonne disponibilité, et bien d'autres avantages liés à sa production de masse.
Le Z80 est utilisé comme co-processeur audio. Il commande un synthétiseur sonore, et est relié à sa propre mémoire, distincte de la mémoire principale. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Le Motorola 68000 était un processeur 16 bits, alors que le Z80 est un processeur 8 bits. Et cette différence fait que l'on ne peut pas connecter directement les deux sur le même bus, ou du moins pas facilement. La solution retenue est d'utiliser deux bus séparés : un bus de 16 bits connecté au 68000, un bus de 8 bits connecté au Z80. Le premier bus est un bus système sur lequel est connecté le 68000, 64 kibioctets de RAM, la cartouche de jeu, et la carte graphique. Le second bus est un bus de 8 bits, plus court, relié au Z80, à un synthétiseur sonore, et 8 kibioctets de RAM
Les deux bus sont connectés à un '''''chipset''''', un circuit répartiteur, qui fait le pont entre les deux bus. Les manettes sont connectées sur le ''chipset''. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'un programme pré-déterminé sur le Z80.
: Pour ceux qui savent ce qu'est une interruption, les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Cet exemple nous montre que les bus systèmes sont certes très simples, mais aussi inflexibles. Ils fonctionnent bien quand les composants branchés dessus sont tous des composants 8 bits, ou sont tous de 16 bits, ou tous 32 bits. Mais dès qu'on mélange composants 8, 16, 32 ou 64 bits, les choses deviennent plus compliquées. Il est alors préférable d'utiliser des bus séparés, avec des répartiteurs pour faire le pont entre les différents bus. Et nous verrons que le problème s'est posé lui aussi sur les PC.
===L'architecture des anciennes consoles Playstation : beaucoup de co-processeurs===
Les consoles que nous venons d'aborder étaient des consoles 8 ou 16 bits. A partir des consoles 32 bits, leur architecture s'est rapprochée de celle des PC, avec un usage plus complexes de répartiteurs. La XBOX était très semblable à un PC : le processeur était un Pentium 3 modifié, la carte graphique était une Geforce 3 modifiée, les 64 mébioctets de RAM était la même mémoire DDR que celle des PC, le répartiteur secondaire était un ''chipset'' nForce de NVIDIA, etc. Mais les Playstation 1, 2 et 3 se distinguent de leur contemporains. Elles disposent de très nombreux co-processeurs, qui sont en plus très variés.
La Playstation 1 a été une des premières console à utiliser les CD-ROM comme support de stockage, en remplacement des cartouches. La conséquence est que la console contient une mémoire ROM, soudée à la carte mère, de 512 kibioctets. Elle contient aussi 2 mébioctets de RAM, une carte graphique avec 1 mébioctet de mémoire vidéo, un processeur, et de quoi gérer les périphériques. Il y a un co-processeur audio spécialisé, avec 512 kibioctets de RAM, ce qui nous est familier. Par contre, les autres co-processeurs ne le sont pas.
Déjà, le lecteur de CD-ROM est associé à des circuits sur la carte mère, il y a tout un sous-système dédié au lecteur de CD. Il y a un contrôleur qui sert d'interface avec le lecteur proprement dit, mais aussi deux co-processeurs audio et 32 kibioctets de RAM. Les co-processeurs audio servent à lire des CD sans trop utiliser le second co-processeur audio, ils lui servent de complément.
Ensuite, le processeur incorpore plusieurs cœurs, avec un cœur principal et plusieurs co-processeurs. Le premier est un co-processeur système, qui est utilisé pour gérer la mémoire cache intégrée au processeur, pour des fonctionnalités appelées interruptions et exceptions, ainsi que pour configurer le processeur. Le second est un co-processeur arithmétique spécialisé dans les calculs en virgule flottante, très importants pour le rendu 3D. Enfin, il y a un décodeur vidéo, qui n'est pas un co-processeur, mais un circuit non-programmable, spécialisé dans le décodage vidéo. De nos jours, ce circuit aurait été intégré dans la carte graphique, mais il était intégré dans le processeur sur la Playstation 2.
Pour le reste, le processeur est la figure centrale de la console. Il est connecté à 4 bus : un pour la RAM, un pour la carte graphique, un pour les manettes, un autre pour le reste. Le dernier bus est connecté au système audio et au système pour le lecteur CD. Ce serait un bus d'entrée-sortie, s'il n'était pas connecté à la mémoire ROM. Vous avez bien lu : la mémoire ROM est reliée au bus d'entrée-sortie.
[[File:Architecture de la Playstation.png|centre|vignette|upright=2.5|Architecture de la Playstation]]
La Playstation 2 est composé d'un processeur, couplé à 32 Mébioctets de RAM, et d'un paquet de co-processeurs. Plus de co-processeurs que la PS1. Le processeur principal n'est pas la même que celui de la PS1, mais il a une architecture similaire. Il intègre un décodeur vidéo sur le même circuit intégré, ainsi que deux co-processeur. Les co-processeurs ne sont cependant pas les mêmes.
Le co-processeur système disparait et est remplacé par un second co-processeur arithmétique. Les deux co-processeurs arithmétiques sont spécialisés dans les nombres flottants, avec quelques différences entre les deux. Par exemple, le second co-processeur gérait des calculs trigonométriques, des exponentielles, des logarithmes, et d'autres fonctions complexes du genre ; mais pas le premier co-processeur. Ils sont reliés à 4 kibioctets de RAM pour le premier, 16 kibioctets de RAM pour le second ; qui sont intégrées dans le processeur et non-représentés dans le diagramme ci-dessous.
La PS2 intègre aussi un co-processeur d'entrées-sorties. Pour information, il s'agit du processeur principal de la Playstation 1, qui est ici utilisé différemment, suivant que l'on place un jeu PS1 ou PS1 dans la console. Si on met un jeu PS1, il est utilisé pour émuler la Playstation 1, afin de faire tourner le jeu PS1 sur la PS2. Si on met un jeu PS2, il est utilisé comme co-processeur d'entrée-sortie et fait l'interface entre CPU et entrées-sorties. Il est relié à 2 mébioctets de RAM, soit exactement la même quantité de mémoire que la Playstation 1.
Tous les périphériques sont connectés au co-processeur d'entrées-sortie. Pour cela, le co-processeur d'entrées-sortie est relié à deux bus dédiés aux périphériques. Le premier bus est relié aux manettes, aux ports USB et aux ports pour cartes mémoires. Le second bus est relié à la carte son, la carte réseau, le lecteur DVD, et un port PCMIA. Notons que la carte son intègre un co-processeur audio, qui n'est pas représenté dans le diagramme ci-dessous.
[[File:Playstation 2 architecture.png|centre|vignette|upright=2.5|Playstation 2 architecture]]
==L'architecture des PC et son évolution==
Après avoir vu les consoles, nous allons maintenant voir les anciens PC, des années 80 ou 90. Le tout premier PC était techniquement l''''IBM PC'''. Par la suite, de nombreux ordinateurs ont tenté de reproduire l'IBM PC originel, avec parfois quelques modifications mineures. De tels ordinateurs ''IBM PC compatibles'', ont été très nombreux, pour des raisons diverses. Le fait d'utiliser des composants banalisés, facilement disponibles, ainsi qu'une bonne documentation de l'IBM PC originel, a grandement aidé. Les IBM PC compatibles ont progressivement évolué pour donner les PC actuels. L'IBM PC compatible a donné naissance à de nombreux standards divers.
===L'IBM PC originel et l'IBM PC XT===
[[File:IBM PC XT 02.jpg|vignette|IBM PC XT.]]
Nous allons commencer par voir l'IBM PC originel, et son successeur : l'IBM Personal Computer XT. Nous les appelerons tous deux l'IBM PC. L'IBM PC utilisait un processeur Intel 8088, qui était un processeur 8 bits. Ils utilisaient un bus système unique, appelé le '''bus XT'''. Le bus système allait à 4.77 MHz, soit la même fréquence que le processeur. C'était un bus de 8 bits, ce qui collait parfaitement avec les processeurs 8 bits commercialisés par Intel à l'époque.
L'IBM PC comprenait une mémoire ROM avec de quoi faire fonctionner le PC. La ROM en question contenait un programme minimal, appelé le '''BIOS''', sans lequel le PC ne fonctionnait pas du tout. Il servait de base pour le système d'exploitation et MS-DOS ne fonctionnait pas sans elle. De nos jours, son rôle est plus limité : sans elle, le PC ne démarre pas. Mais nous détaillerons cela dans le prochain chapitre.
En plus de la ROM pour le BIOS, l'IBM PC avait quatre mémoires ROM dédiée au langage de programmation BASIC. Lorsque le PC démarrait, il ne bootait pas un système d'exploitation, mais lançait l'interpréteur pour le langage BASIC. De nos jours, ce serait l'équivalent d'un ordinateur qui boote directement sur du Python, à savoir la console Python que vous avez peut-être déjà utilisé si vous avez testé Python. Ceux qui ont déjà touché à un ordinateur de l'époque savent ce que ca veut dire, mais c'est malheureusement très difficile à expliquer sans ce genre d'expérience. Toujours est-il que c'était une sorte de norme à l'époque
: les ordinateurs bootaient généralement sur un interpréteur BASIC.
[[File:XT Bus pins.svg|vignette|Connecteur du bus XT.]]
Les PC étaient conçus pour qu'on branche des '''cartes d'extension''', à savoir des cartes électroniques qu'on branchait sur la carte mère, à l'intérieur du PC. Les cartes d'extension de l'époque étaient surtout des cartes son ou des cartes graphiques, mais aussi des cartes pour brancher des péripéhriques. par exemple, on pouvait ajouter deux cartes graphiques dans l'IBM PC originel : l'''IBM Monochrome Display Adapter'' et/ou la ''IBM Color Graphics Adapter''. De nos jours, les cartes son sont intégrées à la carte mère, mais les cartes graphiques sont restées des cartes d'extension.
Les cartes d'extension étaient branchées sur un '''connecteur XT''', qui était directement relié au bus XT. Le connecteur XT est illustré ci-contre, mais ne vous en souciez pas trop pour le moment. La carte mère de l'IBM PC avait 5 connecteurs de ce type, qu'on pouvait peupler avec autant de cartes d'extension. L'IBM Personal Computer XT est passé à 8 connecteurs XT, soit trois de plus.
Pour ce qui est des périphériques, l'IBM PC avait plusieurs connecteurs : un port série, un port parallèle, un port pour le clavier, et un port pour un lecteur cassette. Le clavier et le lecteur cassette étaient connectés directement sur la carte mère, qui contenait quelques circuits pour gérer le clavier. Par contre, les deux premiers n'étaient pas connectés à la carte mère. Le port série était en réalité une carte d'extension, branchée sur un connecteur XT. Et il en est de même pour le port parallèle.
Pour ce qui est des supports de stockage, l'IBM PC originel n'avait pas de disque dur et n'avait que des lecteurs de disquette. De plus, le lecteur de disquette n'était pas connecté directement sur la carte mère, mais était connecté à une carte d'extension, branchée sur un connecteur XT. La carte d'extension avait deux connecteurs, un par lecteur de disquette, ce qui fait que les deux lecteurs de disquettes pouvaient être branchés sur une seule carte d'extension. L'IBM Personal Computer XT a ajouté un disque dur, sauf sur quelques sous-modèles spécifiques.
Le PC avait aussi un petit haut-parleur capable de faire des bips.
Pour résumer, l'IBM PC originel se reposait beaucoup sur les cartes d'extension, sa carte mère contenait peu de choses. Enfin, peu de choses... Il y avait un processeur Intel 8088, éventuellement un coprocesseur flottant 8087, de la RAM, de la ROM, et des circuits intégrés assez divers. En voici la liste, certains vous seront familiers, d'autres vous seront inconnus à ce stade du cours :
* les circuits de décodage d'adresse ;
* un contrôleur DMA intel 8273 ;
* un contrôleur d'interruption 8259 ;
* un contrôleur de bus Intel 8288 pour gérer le bus XT ;
* un générateur d'horloge Intel 8284 et un diviseur de fréquence ;
* un ''timer'' Intel 8253, le même que celui étudié dans le chapitre sur les ''timers'' ;
* un contrôleur parallèle 8255.
Les multiplexeurs, registres et portes logiques, sont des circuits de décodage d'adresse, qui permettent de combiner plusieurs RAM en une seule, idem avec la mémoire ROM. Si vous verrez qu'il y a 5 mémoires ROM : une ROM pour le BIOS, et quatre autres ROM pour le BASIC. Les 4 ROM du BASIC sont combinées en une seule mémoire ROM. Pour les RAM, il y en a 8 à 32, qui sont combinées en une seule RAM de 16 à 64 kibioctets.
[[File:IBM 5150 Motherboard.svg|centre|vignette|upright=3|Carte mère de l'IBM 5150, un modèle de l'IBM PC.]]
===L'architecture d'un IBM PC compatible 16 bits===
Les PC suivants sont passés à des processeurs 16 bits, mais c'était toujours des processeurs x86 d'Intel, à savoir des Intel 286 et 386. La RAM a grossi, quelques entrées-sorties ont été ajoutées, mais l'architecture globale est plus moins resté le même. C'est surtout au niveau du bus et des périphériques que les changements majeurs ont eu lieu.
[[File:ISA Bus pins.svg|vignette|Connecteur ISA.]]
Les PC 16 bits utilisaient un bus système unique, sur lequel tout était connecté : le processeur, la RAM, la ROM, les cartes d'extension et tout le reste. Le bus en question s'appelait le '''bus AT''', mais il a rapidement été renommé en '''bus ISA''' (''Industry Standard Architecture''). Le bus ISA était prévu pour avoir une compatibilité avec le bus 8 bits de l'IBM PC originel. D'ailleurs, cela se ressent jusque dans le connecteur utilisé : le connecteur ISA est un connecteur XT qu'on a fusionné avec un second connecteur pour l'étendre de 8 à 16 bits.
Les PC 16 bits avaient toujours un port série, un port parallèle, un clavier, un lecteur de disquette et des cartes d'extension. Des disques durs pouvaient être ajoutés, aussi. Mais pour ces périphériques, un changement majeur a eu lieu comparé à l'IBM PC originel. L'IBM PC originel utilisait des cartes d'extension pour tout, sauf le clavier. Mais maintenant, les périphériques ne sont plus connectés à une carte d'extension. A la place, les circuits de la carte d'extension sont déplacés sur la carte mère. Mais n'allez pas croire qu'ils étaient connectés directement au bus ISA, il y avait des intermédiaires.
Le clavier était relié à un '''contrôleur de clavier''', qui faisait l'interface entre le connecteur du clavier et le bus ISA. Le contrôleur de clavier était appelé le ''Keyboard Controler'', abrévié en KB. Il recevait ce qui est tapé au clavier et traduisait cela en quelque chose de compréhensible par l'ordinateur.
Les autres périphériques étaient connectés à un circuit intégré dédié : l''''Intel 82091AA'''. Il était connecté au lecteur de disquette, au port série et au port parallèle. Il servait d'intermédiaire entre ces périphériques et le bus ISA. Vous pouvez le voir comme une sorte de répartiteur, mais qui ne serait pas connecté sur le processeur et la RAM
Enfin, il ne faut pas oublier les autres composants présents sur l'IBM PC originel. Le BIOS est toujours là, de même que les ''timers'' Intel 8253 PIT, le contrôleur d'interruption Intel 8259 et le contrôleur DMA Intel 8237. Les PC 16 bits ont aussi intégré une ''Real Time Clock'' (RTC). Pour rappel, c'est un composant qui permet au PC de mémoriser la date et l'heure courante, à la seconde près. Le tout est résumé dans le schéma ci-dessous.
[[File:Architecture de l'IBM PC compatible.png|centre|vignette|upright=2.5|Architecture de l'IBM PC compatible]]
Un point important est que le bus ISA allait à la même fréquence que le processeur, vu que c'était un bus système. Les processeurs de l'époque étaient des CPU 286 d'Intel, ou le 386 d'Intel. Les Intel 286 allaient de 4 MHz minimum, à 25 MHz maximum. Le 386, quant à lui, allait de 12 à 40 MHz. Le bus ISA devait aller à cette fréquence, il était synchrone avec le processeur.
Par la suite, les processeurs ont gagné en performance, ce qui fait que le bus ISA est devenu trop lent pour le processeur. Une idée a alors été de conserver le bus ISA, pour des raisons de compatibilité, mais de le reléguer comme bus secondaire. L'ordinateur contient alors deux bus : un bus système, et un bus ISA secondaire. Le lien entre les deux est réalisé par un '''pont ISA''', ''ISA Bridge'' en anglais. Le bus ISA fonctionnait alors sa fréquence usuelle, alors que le bus système était beaucoup plus rapide. Le bus système fonctionnait à une fréquence bien plus élevée, ce qui fait que le processeur pouvait communiquer à pleine vitesse, notamment avec la RAM. Le processeur n'était alors plus forcé à aller à la même fréquence que le bus ISA
[[File:Architecture de l'IBM PC compatible avec bridge ISA.png|centre|vignette|upright=2.5|Architecture de l'IBM PC compatible avec bridge ISA]]
Les PC de l'époque intégraient donc plusieurs bus séparés. Vous avez bien lu : plusieurs bus ! Ici, il s'agit de ce que j'appelle des '''bus en cascade''', à savoir qu'un bus est connecté à un autre bus par un intermédiaire. Au passage, si j'aborde ces exemples, car c'est pareil sur les ordinateurs modernes. Le pont ISA a été remplacé par des circuits différents, mais qui ont un rôle assez similaire. Le ''chipset'' de votre carte mère n'est qu'un lointain descendant du pont ISA, qui s'interface avec des bus différents.
===L'arrivée des standards AT et IDE pour les disques durs===
Initialement, les disques durs étaient placés dans l'ordinateur et étaient connectés sur le bus ISA, via une carte d'extension ISA. En clair, il fallait connecter le disque dur sur une carte d'extension, et non sur la carte mère. Les cartes d'extension en question permettaient de connecter un ou plusieurs disques durs, parfois des lecteurs de disquette supplémentaires. Les cartes ISA de ce type faisaient juste l'interface entre le bus ISA et les disques durs, rien de plus. L'interface en question a été standardisée, ce qui a donné le standard ''AT Bus Attachment'', qui a été abrévié en ATA.
Et ce n'était pas que pour les disques durs, de nombreux composants étaient dans ce cas. Une carte d'extension servait d'intermédiaire entre eux et la carte mère. Les cartes d'extension en question étaient appelées des ''Host bus adapter''.
[[File:Acculogic sIDE-4 Controller ISA.jpg|centre|vignette|upright=2|Carte ISA d'interface disque dur, de marque Acculogic.]]
Mais les choses ont rapidement évoluées, que ce soit du côté des cartes mères que du côté des disques durs. Le '''standard IDE''' a permis de brancher un disque dur directement sur la carte mère, sans passer par une carte d'interface ISA. Pour cela, la carte mère réservait un connecteur ISA pour le disque dur, renommé '''connecteur ATA'''. Pour que cela soit possible, il a fallu rajouter des circuits sur la carte mère. Tout ce qui était sur les cartes d'interface ISA s'est retrouvé sur la carte mère.
[[File:Ajout des ports IDE sur la carte mère.png|centre|vignette|upright=2|Ajout des ports IDE sur la carte mère]]
En réalité, les connecteurs ATA étaient des connecteurs ISA simplifiés. Un connecteur ISA avait en tout 98 broches, alors qu'un connecteur ATA n'en contient que 40. Les broches qui étaient inutiles pour les disques durs ont simplement été enlevées. Et qui dit connecteur spécialisé, dit câble spécialisé. Les disques durs étaient branchés sur le connecteur AT grâce à un câble ATA, sur lequel on pouvait connecter deux disques durs.
[[File:ATA Plug.svg|centre|vignette|upright=2|Connecteur ATA.]]
[[File:ATA cables.jpg|centre|vignette|upright=2|Cable ATA.]]
Il était donc possible de connecter deux disques durs sur un seul connecteur ATA. Et cette possibilité est devenue d'autant plus utile par la suite. A partir de la version 2, ATA supportait aussi les lecteurs de disquettes, les lecteurs de CD/DVD, et bien d'autres supports de stockage. Il était alors possible de connecter un lecteur CD et un disque dur sur un seul connecteur. Les cartes mères avaient généralement deux connecteurs ATA, et n'avaient pas besoin de plus. C'était suffisant pour connecter un disque dur, un lecteur de disquette et un lecteur CD, configuration courante entre les années 90 et 2000.
Un câble est donc connecté à deux supports de stockage. Pour distinguer les deux, le standard ATA ajoute une possibilité de configuration. Sur un câble, il doit y avoir un support de stockage "maitre" et un support "esclave". C'était la terminologie de l'époque, que je reproduis ici, même si elle est fortement trompeuse. N'allez pas croire que cela implique que l'un ait des avantages sur l'autre. Le support 'maitre" n'a pas droit à plus de bande passante, il n'a pas la priorité sur l'autre, rien du tout. Il s'agit juste d'un nombre qui permet de savoir avec qui le processeur communique, qui vaut 0 pour le premier support, 1 pour l'autre. Une sorte d'adresse de 1 bit, si l'on veut.
[[File:ATA-Konfiguration02.png|centre|vignette|upright=2|Configuration ATA.]]
Pour configurer un support de stockage en mode "maitre" ou "esclave", le support de stockage avait quelques pins dédiés. Il suffisait de placer un détrompeur en plastique sur les pins adéquats. Les pins se trouvaient à l'arrière du disque dur ou du lecteur de CD/DVD/Disquette/autre.
[[File:HDD Master and Slave Description.jpg|centre|vignette|upright=2|Configuration ''Master/Slave''.]]
===L'architecture d'un PC avec un processeur Intel 486===
Maintenant, passons aux ordinateurs 32 bits, avec l'exemple d'un PC avec un processeur 486 d'Intel. A cette époque, le bus ISA était devenu trop limité et était en place d'être remplacé par le bus PCI, qui avait la même fonction. De nombreuses cartes d'extension utilisaient déjà ce standard et étaient branchées sur des connecteurs PCI dédiés, différents des connecteurs ISA. Intuitivement, on se dit que le bus PCI remplaçait le bus ISA, mais les choses étaient plus compliquées. Les disques durs gardaient leur connecteur ATA, et ne passaient pas par le bus PCI. Ils avaient un bus IDE séparé, qui était un bus ISA modifié.
Là encore, les processeurs étaient devenus beaucoup plus rapides que le bus PCI. Les deux allaient à des fréquences assez différentes, ce qui fait que le bus PCI était séparé du bus système. Il y avait alors deux implémentations possibles.
* La première utilise un répartiteur unique, relié au processeur, à la RAM, au bus PCI, et au bus IDE.
* La seconde utilise un bus système séparé du bus PCI, avec un '''pont PCI''' pour faire l'interface entre les deux.
Le '''''System Controler''''' était un circuit intégré, placé sur la carte mère, qui peut servir soit de pont PCI, soit de répartiteur. Le répartiteur PCI sert d'intermédiaire avec le bus PCI, mais aussi avec le bus IDE, utilisé pour les disques durs, aussi appelé le bus ''Parallel ATA''. Il peut aussi être connecté au processeur, à la mémoire RAM, ainsi qu'à la mémoire cache, mais cela ne sert que quand il est utilisé comme répartiteur.
[[File:Architecture d'un PC utilisant un bus PCI, implémentation avec un répartiteur.png|centre|vignette|upright=2|Architecture d'un PC utilisant un bus PCI, implémentation avec un répartiteur]]
Pour des raisons de compatibilité, le bus ISA avait été conservé, aux côtés du bus PCI. Il y avait un pont ISA en plus du pont/répartiteur PCI. Une implémentation possible aurait été de connecter les deux ponts ISA et PCI à un bus système unique. Mais cette solution n'a pas été retenue. La raison est que le bus PCI et le bus ISA ont des performances très différentes. Le bus PCI est très rapide, le bus ISA beaucoup plus lent. La différence est d'un ordre de grandeur, environ. Dans ces conditions, il est possible de faire passer les communications ISA à travers le bus PCI. Pour cela, le pont ISA est directement connecté sur le pont PCI, comme illustré ci-dessous.
Et il en est de même pour le bus dédié aux disques durs. En effet, les disques durs étaient autrefois reliés au bus ISA, mais cela a changé depuis. Ils disposent maintenant de leur propre bus dédié, le '''bus IDE''', qui est un bus ISA simplifié. Et ce bus ISA simplifié était connecté directement sur le pont PCI.
[[File:Architecture de l'IBM PC compatible avec pont PCI.png|centre|vignette|upright=2|Architecture de l'IBM PC compatible avec pont PCI]]
Dans ce qui va suivre, nous allons étudier un exemple qui utilise un bus système séparé, avec un pont PCI, sans répartiteur. Voilà pour les grandes lignes, mais le schéma ci-dessous montre que tout est plus complexe. Vous remarquerez des connexions optionnelles entre le pont PCI et la mémoire RAM et la mémoire cache. La raison est que le pont PCI peut aussi servir de répartiteur en remplacement du bus système. Concrètement, on peut alors retirer le bus système. La mémoire, le bus PCI, le bus ISA, le bus IDE, le processeur et la RAM sont alors connectés au répartiteur PCI, qui sert d'intermédiaire central entre tous ces composants. Mais ce n'est pas la solution qui a été retenue dans notre exemple.
[[File:Intel486-Typ PCI System.png|centre|vignette|upright=2|PC IBM compatible avec un 486, un bus PCI et un bus ISA. Le ''host bus'' est le bus système.]]
Le pont ISA sert ici d'intermédiaire entre le bus système et le bus ISA. De plus, il a été amélioré sur de nombreux points. Il inclut notamment des circuits qui étaient autrefois sur la carte mère, à savoir le contrôleur DMA 82C87 et le contrôleur d'interruption 82C59, ainsi que les ''timers'' Intel 82C54. Les composants restants sont eux reliés sur un quatrième bus : le bus X, l'ancêtre du bus ''Low Pin Count''. Le bus X était celui du BIOS, du contrôleur de clavier, de la ''Real Time Clock'', et du contrôleur de périphérique 82091AA d'Intel.
[[File:ISA Bridge schematic.png|centre|vignette|upright=2|ISA Bridge.]]
===L'architecture des PC des années 90-2000===
Par la suite, les ponts PCI et ISA ont évolué avec l'évolution des bus de l'ordinateur. Le bus ISA a progressivement été remplacé par d'autres bus, comme le bus ''Low Pin Count'', le bus PCI a été remplacé par le PCI Express, d'autres bus ont été ajoutés, etc. Mais la séparation du ''chipset'' en deux a été conservée.
[[File:Chipset schematic.svg|vignette|upright=1.0|Chipset séparé en northbridge et southbridge.]]
Le pont PCI et le pont ISA ont été remplacés respectivement par le '''pont nord''' et le '''pont sud''', plus connus par leurs noms anglais de ''northbridge'' et de ''southbridge''. Le pont nord servait d'interface entre le processeur, la mémoire et la carte graphique et est connecté à chacun par un bus dédié. Il intégrait aussi le contrôleur mémoire. Le pont sud est le répartiteur pour les composants lents, à savoir l'USB, l'Ethernet, etc. Le bus qui relie le processeur au pont nord était appelé le '''''Front Side Bus''''', abrévié en FSB.
[[File:IMac Chipset.png|centre|vignette|upright=2|Chipset séparé en northbridge et southbridge.]]
Un point important est que le bus PCI est devenu un bus assez lent, ce qui fait qu'il a finit par être connecté au pont sud. Le pont PCI est donc devenu le pont sud, dans le courant des années 2000. Durant un moment, un équivalent du pont ISA a subsisté dans un circuit de '''''Super IO'''''. Concrètement, il s'occupait du lecteur de disquette, du port parallèle, du port série, et des ports PS/2 pour le clavier et la souris. Mais il ne gérait pas le bus ISA, mais son remplaçant, le bus ''Low Pin Count''.
[[File:Motherboard diagram fr.svg|centre|vignette|upright=1.5|Carte mère avec circuit Super IO.]]
===L'architecture des PC depuis les années 2000===
Depuis la sortie du processeur AMD Athlon 64, le pont nord a été fusionné dans le processeur. La fusion ne s'est pas faite en une fois, des fonctionnalités ont progressivement été progressivement intégrées dans le processeur. Le pont sud est resté, mais il a alors été progressivement connecté directement au processeur. La raison derrière cette intégration est que les processeurs avaient de plus en plus de transistors à leur disposition. Ils en ont profité pour intégrer le pont nord. Et cela permettait de simplifier le câblage des cartes mères, sans pour autant rendre vraiment plus complexe la fabrication du processeur. Les industriels y trouvent leur compte.
La première étape a été l'intégration du contrôleur mémoire a été intégré au processeur. Concrètement, le résultat était que la mémoire RAM n'était plus connectée au pont nord, mais était connectée directement au processeur ! Il y a donc eu un retour d'un bus mémoire, mais spécialisé pour la mémoire RAM. En théorie, une telle intégration permet diverses optimisations quant aux transferts avec la mémoire RAM. Les transferts ne passent pas par un répartiteur, ce qui réduit le temps d'accès à la mémoire RAM. Ajoutons de sombres histoires de prefetching, d'optimisation des commandes, et j'en passe. Toujours est-il que le pont nord ne servait alors d'intermédiaire que pour les ports PCI Express, et le pont sud.
[[File:X58 Block Diagram.png|centre|vignette|upright=2|Chipset X58 d'Intel.]]
Par la suite, la carte graphique fût aussi connectée directement sur le processeur. Le processeur incorpore pour cela des contrôleurs PCI-Express. Le pont nord a alors disparu complétement, son intégration dans le processeur était complète. Sur les cartes mères Intel récentes, le pont sdud subsiste, il est appelé le ''Platform Controler Hub'', ou PCH. L'organisation des bus sur la carte mère qui résulte de cette connexion du processeur à la carte graphique, est illustrée ci-dessous, avec l'exemple du PCH.
[[File:Intel 5 Series architecture.png|centre|vignette|upright=2|Intel 5 Series architecture]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=L'interface électrique entre circuits intégrés et bus
| prevText=L'interface électrique entre circuits intégrés et bus
| next=La hiérarchie mémoire
| nextText=La hiérarchie mémoire
}}
</noinclude>
f0dk05xdj6ffnki6os7h999wole2i9j
762913
762879
2026-04-04T15:57:32Z
Mewtow
31375
/* Les coprocesseurs */
762913
wikitext
text/x-wiki
Dans les chapitres précédents, nous avons vu comment représenter de l'information, la traiter et la mémoriser avec des circuits. Mais un ordinateur n'est pas qu'un amoncellement de circuits et est organisé d'une manière bien précise. Il est structuré autour de trois circuits principaux :
* un '''processeur''', qui manipule l'information et donne un résultat ;
* une '''mémoire''' qui mémorise les données à manipuler ;
* les '''entrées/sorties''', qui permettent à l'ordinateur de communiquer avec l'extérieur.
[[File:Architecture Von Neumann.png|centre|vignette|upright=2|Architecture d'un système à mémoire.]]
Pour faire simple, le processeur est un circuit qui s'occupe de faire des calculs. Rien d'étonnant à cela. Je rappelle que tout est codé par des nombres dans un ordinateur, ce qui fait que manipuler des nombres revient simplement à faire des calculs. Un ordinateur n'est donc qu'une grosse calculatrice améliorée, et le processeur est le composant qui fait les calculs.
La mémoire s'occupe purement de la mémorisation des données, des nombres sur lesquelles faire des calculs. Pour être plus précis, il y a deux mémoires : une pour les données proprement dites, une autre pour le programme à exécuter. La première est la '''mémoire RAM''', la seconde est la '''mémoire ROM'''. Nous détaillerons ce que sont ces deux mémoires dans la suite du chapitre, mais sachez que nous avions déjà rencontré ces deux types de mémoires dans les chapitres sur les registres et les mémoires adressables.
Les entrées-sorties permettent au processeur et à la mémoire de communiquer avec l'extérieur et d'échanger des informations avec des périphériques. Les '''périphériques''' regroupent, pour rappel, tout ce est branché sur un ordinateur, mais n'est pas à l'intérieur de celui-ci.
Le processeur, les mémoires et les entrées-sorties communiquent ensemble via un '''réseau d'interconnexions'''. Le terme est assez barbare, mais rien de compliqué sur le principe. C'est juste un ensemble de fils électriques qui relie les différents éléments d'un ordinateur. Les interconnexions sont souvent appelées le bus de communication, mais le terme est un abus de langage, comme on le verra plus bas.
Afin de simplifier les explications, on va supposer que le réseau d'interconnexion est le suivant. Tout est connecté au processeur. Il y a des interconnexions entre le processeur et la mémoire RAM, d'autres interconnexions entre processeur et mémoire ROM, et d'autres entre le processeur et les entrées-sorties. Nous verrons que d'autres réseaux d'interconnexions fusionnent certaines interconnexions, pour les partager entre la ROM et la RAM, par exemple. Mais pour le moment, gardez le schéma ci-dessous en tête.
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
==Les mémoires RAM et ROM==
La mémoire est le composant qui mémorise des informations, des données. Dans la majorité des cas, la mémoire est composée de plusieurs '''cases mémoire''', chacune mémorisant plusieurs bits, le nombre de bits étant identique pour toutes les cases mémoire. Dans le cas le plus simple, une case mémoire mémorise un '''octet''', un groupe de 8 bits. Mais les mémoires modernes mémorisent plusieurs octets par case mémoire : elles ont des cases mémoires de 16, 32 ou 64 bits, soit respectivement 2/4/8 octets. De rares mémoires assez anciennes utilisaient des cases mémoires contenant 1, 2, 3, 4, 5, 6 7, 13, 17, 23, 36 ou 48 bits. Mais ce n'était pas des mémoires électroniques, aussi nous allons les passer sous silence.
Tout ce qu'il faut savoir est que la quasi-totalité des mémoires électronique a un ou plusieurs octets par case mémoire. Pour simplifier, vous pouvez imaginer qu'une mémoire RAM est un regroupement de registre, chacun étant une case mémoire. C'est une description pas trop mauvaise pour décrire les mémoires RAM, qu'on abordera dans ce qui suit.
{|class="wikitable"
|+ Contenu d'une mémoire, case mémoire de 16 bits (deux octets)
|-
! Case mémoire N°1
| 0001 0110 1111 1110
|-
! Case mémoire N°2
| 1111 1110 0110 1111
|-
! Case mémoire N°3
| 0001 0000 0110 0001
|-
! Case mémoire N°4
| 1000 0110 0001 0000
|-
! Case mémoire N°5
| 1100 1010 0110 0001
|-
! ...
| ...
|-
! Case mémoire N°1023
| 0001 0110 0001 0110
|-
! Case mémoire N°1024
| 0001 0110 0001 0110
|}
Dans ce cours, il nous arrivera de partir du principe qu'il y a un octet par case mémoire, par souci de simplification. Mais ce ne sera pas systématique. De plus, il nous arrivera d'utiliser le terme adresse pour parler en réalité de la case mémoire associée, par métonymie.
===La capacité mémoire===
Bien évidemment, une mémoire ne peut stocker qu'une quantité finie de données. Et à ce petit jeu, certaines mémoires s'en sortent mieux que d'autres et peuvent stocker beaucoup plus de données que les autres. La '''capacité''' d'une mémoire correspond à la quantité d'informations que celle-ci peut mémoriser. Plus précisément, il s'agit du nombre maximal de bits qu'une mémoire peut contenir. Elle est le produit entre le nombre de cases mémoire, et la taille en bit d'une case mémoire.
Toutes les mémoires actuelles utilisant des cases mémoire d'un ou plusieurs octets, ce qui nous arrange pour compter la capacité d'une mémoire. Au lieu de compter cette capacité en bits, on préfère mesurer la capacité d'une mémoire avec le nombre d'octets qu'elle contient. Mais les mémoires des PC font plusieurs millions ou milliards d'octets. Pour se faciliter la tâche, on utilise des préfixes pour désigner les différentes capacités mémoires. Vous connaissez sûrement ces préfixes : kibioctets, mébioctets et gibioctets, notés respectivement Kio, Mio et Gio.
{|class="wikitable"
|-
!Préfixe!!Capacité mémoire en octets!!Puissance de deux
|-
||Kio||1024||2<sup>10</sup> octets
|-
||Mio||1 048 576||2<sup>20</sup> octets
|-
||Gio||1 073 741 824||2<sup>30</sup> octets
|}
On peut se demander pourquoi utiliser des puissances de 1024, et ne pas utiliser des puissances un peu plus communes ? Dans la majorité des situations, les électroniciens préfèrent manipuler des puissances de deux pour se faciliter la vie. Par convention, on utilise souvent des puissances de 1024, qui est la puissance de deux la plus proche de 1000. Or, dans le langage courant, kilo, méga et giga sont des multiples de 1000. Quand vous vous pesez sur votre balance et que celle-ci vous indique 58 kilogrammes, cela veut dire que vous pesez 58 000 grammes. De même, un kilomètre est égal à 1000 mètres, et non 1024 mètres.
Autrefois, on utilisait les termes kilo, méga et giga à la place de nos kibi, mebi et gibi, par abus de langage. Mais peu de personnes sont au courant de l'existence de ces nouvelles unités, et celles-ci sont rarement utilisées. Et cette confusion permet aux fabricants de disques durs de nous « arnaquer » : Ceux-ci donnent la capacité des disques durs qu'ils vendent en kilo, méga ou giga octets : l’acheteur croit implicitement avoir une capacité exprimée en kibi, mébi ou gibi octets, et se retrouve avec un disque dur qui contient moins de mémoire que prévu.
===Lecture et écriture : mémoires ROM et RWM===
Pour simplifier grandement, on peut grossièrement classer les mémoires en deux types : les ''Read Only Memory'' et les ''Read Write Memory'', aussi appelées mémoires ROM et mémoires RWM. Pour les '''mémoires ROM''', on ne peut pas modifier leur contenu. On peut y récupérer une donnée ou une instruction : on dit qu'on y accède en lecture. Mais on ne peut pas modifier les données qu'elles contiennent. Quant aux '''mémoires RWM''', on peut y accéder en lecture (récupérer une donnée stockée en mémoire), mais aussi en écriture : on peut stocker une donnée dans la mémoire, ou modifier une donnée existante.
Tout ordinateur contient au minimum une ROM et une RWM (souvent une mémoire RAM), les deux n'ont pas exactement le même rôle. Pour simplifier, la mémoire ROM mémorise le programme à exécuter, la mémoire RWM stocke des données. Il a existé des ordinateurs où la mémoire RWM était une mémoire magnétique, voire acoustique, mais ce n'est plus le cas de nos jours. Pour les ordinateurs modernes, la mémoire RWM est une mémoire électronique. Pour faire la différence avec ces anciennes mémoires RWM, elle est appelée la '''mémoire RAM'''. Il s'agit d'une mémoire qui stocke temporairement des données que le processeur doit manipuler (on dit qu'elle est volatile). Elle s'efface complètement quand on coupe l'alimentation de l'ordinateur.
Outre le programme à exécuter, la mémoire ROM peut mémoriser des constantes, des données qui ne changent pas. Elles ne sont jamais modifiées et gardent la même valeur quoi qu'il se passe lors de l'exécution du programme. En conséquence, elles ne sont jamais accédées en écriture durant l'exécution du programme, ce qui fait que leur place est dans une mémoire ROM. La mémoire RWM est alors destinée aux données temporaires, qui changent ou sont modifiées lors de l'exécution du programme, et qui sont donc manipulées aussi bien en lecture et en écriture. La mémoire RWM mémorise alors les variables du programme à exécuter, qui sont des données que le programme va manipuler. Pour les systèmes les plus simples, la mémoire RWM ne sert à rien de plus.
[[File:Espaces d'adressage sur une archi harvard modifiée.png|centre|vignette|upright=2.5|Espaces d'adressage sur une archi harvard modifiée]]
Pour donner un exemple de données stockées en ROM, on peut prendre l'exemple des anciennes consoles de jeu 8 et 16 bits. Les jeux vidéos sur ces consoles étaient placés dans des cartouches de jeu, précisément dans une mémoire ROM à l'intérieur de la cartouche de jeu. La ROM mémorisait non seulement le code du jeu, le programme du jeu vidéo, mais aussi les niveaux et les ''sprites'' et autres données graphiques.
Une conséquence est que les consoles 8/16 bits n'avaient pas besoin de beaucoup de RAM, comparé aux ordinateurs de l'époque, vu qu'une grande partie des données utiles étaient dans une ROM directement accessible par le processeur. À l'opposé, les micro-ordinateurs devaient copier les données d'un jeu depuis une disquette dans la mémoire RAM, ce qui demandait d'avoir plus de RAM. Le passage au support CD sur les consoles 32 bits a eu la même conséquence. Le processeur ne pouvant pas lire directement le CD à sa guise, il fallait copier les données du CD en RAM. D'où l'apparition de temps de chargement assez longs, inexistants sur support cartouche.
===L'adressage mémoire===
Sur une mémoire RAM ou ROM, on ne peut lire ou écrire qu'une case mémoire, qu'un registre à la fois : une lecture ou écriture ne peut lire ou modifier qu'une seule case mémoire. Techniquement, le processeur doit préciser à quel case mémoire il veut accéder à chaque lecture/écriture. Pour cela, chaque case mémoire se voit attribuer un nombre binaire unique, l''''adresse''', qui va permettre de le sélectionner et de l'identifier celle-ci parmi toutes les autres. En fait, on peut comparer une adresse à un numéro de téléphone (ou à une adresse d'appartement) : chacun de vos correspondants a un numéro de téléphone et vous savez que pour appeler telle personne, vous devez composer tel numéro. Les adresses mémoires en sont l'équivalent pour les cases mémoire.
[[File:Adressage mémoire.png|centre|vignette|upright=2|Exemple : on demande à la mémoire de sélectionner la case mémoire d'adresse 1002 et on récupère son contenu (ici, 17).]]
L'adresse mémoire est générée par le processeur. Le processeur peut parfaitement calculer des adresses, en extraire du programme qu'il exécute, et bien d'autres choses. Nous détaillerons d'ailleurs les mécanismes pour dans les chapitres portant sur les modes d'adressage du processeur. Mais pour le moment, nous avons juste besoin de savoir que c'est le processeur qui envoie des adresses aux mémoires RAM et ROM.
Les adresses générées par le processeur sont alors envoyées à la RAM ou la ROM via une connexion dédiée, un ensemble de fils qui connecte le processeur à la mémoire : le '''bus d'adresse mémoire'''. L'adresse sélectionne une case mémoire, le processeur peut alors récupérer la donnée dedans pour une lecture, écrire une donnée pour l'écriture. Pour cela, un second ensemble de fil connecte le processeur à la RAM/ROM, mais cette fois-ci pour échanger des données. Il s'agit du '''bus de données mémoire'''. Les deux sont souvent regroupés sous le terme de '''bus mémoire'''.
Un ordinateur contient toujours une RAM et une ROM, ce qui demande aux bus mémoire de s'adapter à la présence de deux mémoires. Il y a alors deux solutions, illustrées dans les deux schémas ci-dessous. Avec la première, il y a un seul bus mémoire partagé entre la RAM et la ROM, comme illustré ci-dessous. Une autre solution utilise deux bus séparés : un pour la RAM et un autre pour la ROM. Nous verrons les différences pratiques entre les deux à la fin du chapitre. Pour le moment, nous allons partir du principe qu'il y a un bus pour la mémoire ROM, et un autre bus pour la RAM.
[[File:CPT-System-Architecture-gapfill1-ANS.svg|centre|vignette|upright=2|Architecture avec une ROM et une RAM.]]
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
===L'alignement mémoire : introduction===
Plus haut, nous avions dit qu'il y a une adresse par case mémoire, chaque case mémoire contenant un ou plusieurs octets. Mais les processeurs modernes partent du principe que la mémoire a un octet par adresse, pas plus. Et ce même si la mémoire reliée au processeur utilise des cases mémoires de 2, 3, 4 octets ou plus. D'ailleurs, la majorité des mémoires RAM actuelle a des cases mémoires de 64 bits, soit 8 octets par case mémoire. Les raisons à cela sont multiple, mais nous les verrons en détail dans le chapitre sur l'alignement mémoire. Toujours est-il qu'il faut distinguer les '''adresses mémoire''' et les '''adresses d'octet''' gérées par le processeur.
Le processeur génère des adresses d'octet, qui permettent de sélectionner un octet bien précis. L'adresse d'octet permet de sélectionner un octet parmi tous les autres. Mais la mémoire ne comprend pas directement cette adresse d'octet. Heureusement, l'octet en question est dans une case mémoire bien précise, qui a elle-même une adresse mémoire bien précise. L'adresse d'octet est alors convertie en une adresse mémoire, qui sélectionne la case mémoire adéquate, celle qui contient l'octet voulu. La case mémoire entière est lue, puis le processeur ne récupère que les données adéquates. Pour cela, des circuits d'alignement mémoire se chargent de faire la conversion entre adresses du processeur et adresse mémoire. Nous verrons cela dans le détail dans le chapitre sur l'alignement mémoire.
Il existe des mémoires qui n'utilisent pas d'adresses mémoire, mais passons : ce sera pour la suite du cours.
==Le processeur==
Dans les ordinateurs, l'unité de traitement porte le nom de '''processeur''', ou encore de '''''Central Processing Unit''''', abrévié en CPU. Le rôle principal du processeur est de faire des calculs. La plupart des processeurs actuels supportent au minimum l'addition, la soustraction et la multiplication. Quelques processeurs ne gèrent pas la division, qui est une opération très gourmande en circuit, peu utilisée, très lente. Il arrive que des processeurs très peu performants ne gèrent pas la multiplication, mais c'est assez rare.
Un processeur ne fait pas que des calculs. Tout processeur est conçu pour effectuer un nombre limité d'opérations bien précises, comme des calculs, des échanges de données avec la mémoire, etc. Ces opérations sont appelées des '''instructions'''. Les plus intuitives sont les '''instructions arithmétiques''', qui font des calculs, comme l'addition, la soustraction, la multiplication, la division. Mais il y a aussi des '''instructions d'accès mémoire''', qui échangent des données entre la mémoire RAM et le processeur. Les autres instructions ne sont pas très intuitives, aussi passons-les sous silence pour le moment, tout deviendra plus clair dans les chapitres sur le processeur.
===Le processeur exécute un programme, une suite d'instructions===
Tout processeur est conçu pour exécuter une suite d'instructions dans l'ordre demandé, cette suite s'appelant un '''programme'''. Ce que fait le processeur est défini par la suite d'instructions qu'il exécute, par le programme qu'on lui demande de faire. Les instructions sont exécutées dans un ordre bien précis, les unes après les autres. L'ordre en question est décidé par le programmeur. La totalité des logiciels présents sur un ordinateur sont des programmes comme les autres.
Le programme à exécuter est stockée dans la mémoire de l'ordinateur. C'est ainsi que l'ordinateur est rendu programmable : modifier le contenu de la mémoire permet de changer le programme exécuté. Mine de rien, cette idée de stocker le programme en mémoire est ce qui a fait que l’informatique est ce qu'elle est aujourd’hui. C'est la définition même d'ordinateur : appareil programmable qui stocke son programme dans une mémoire modifiable.
Une instruction est codée comme les données : sous la forme de suites de bits. Telle suite de bit indique qu'il faut faire une addition, telle autre demande de faire une soustraction, etc. Pour simplifier, nous allons supposer qu'il y a une instruction par adresse mémoire. Sur la grosse majorité des ordinateurs, les instructions sont placées les unes à la suite des autres dans l'ordre où elles doivent être exécutées. Un programme informatique n'est donc qu'une vulgaire suite d'instructions stockée quelque part dans la mémoire de l'ordinateur.
{|class="wikitable"
|+ Exemple de programme informatique
|-
! Adresse
! Instruction
|-
! 0
| Copier le contenu de l'adresse 0F05 dans le registre numéro 5
|-
! 1
| Charger le contenu de l'adresse 0555 dans le registre numéro 4
|-
! 2
| Additionner ces deux nombres
|-
! 3
| Charger le contenu de l'adresse 0555
|-
! 4
| Faire en XOR avec le résultat antérieur
|-
! ...
| ...
|-
! 5464
| Instruction d'arrêt
|}
Pour exécuter une suite d'instructions dans le bon ordre, le processeur détermine à chaque cycle quelle est la prochaine instruction à exécuter. Pour cela, le processeur mémorise l'adresse de l'instruction en cours dans un registre : le '''Program Counter'''. Je rappelle que des instructions consécutives sont dans des adresses consécutives. Pour passer à la prochaine instruction, il suffit donc d'incrémenter le ''program counter''.
: Si une instruction prend plusieurs octets, plusieurs adresses, il suffit de l'incrémenter du nombre d'octets/adresses.
D'autres processeurs font autrement : chaque instruction précise l'adresse de la suivante, directement dans la suite de bit représentant l'instruction en mémoire. Ces processeurs n'ont pas besoin de calculer une adresse qui leur est fournie sur un plateau d'argent. Sur des processeurs aussi bizarres, pas besoin de stocker les instructions en mémoire dans l'ordre dans lesquelles elles sont censées être exécutées. Mais ces processeurs sont très très rares et peuvent être considérés comme des exceptions à la règle.
Nous venons de voir qu'un processeur contient un registre appelé le ''program counter''. Mais il n'est pas le seul. Pour pouvoir fonctionner, tout processeur doit mémoriser un certain nombre d’informations nécessaires à son fonctionnement, qui sont mémorisées dans des '''registres de contrôle'''. La plupart ont des noms assez barbares (registre d'état, ''program counter'') et nous ne pouvons pas en parler à ce moment du cours. Nous les verrons en temps voulu, mais il est important de préciser qu'ils existent.
===L'intérieur d'un processeur===
Fort de ce que nous savons, nous pouvons expliquer ce qu'il y a à l'intérieur d'un processeur. Le premier point est qu'un processeur fait des calculs, ce qui implique qu'il contient des circuits de calcul. Ils sont regroupés dans une ou plusieurs '''unités de calcul'''. Nous avons déjà vu comment fabriquer une unité de calcul simple, dans un chapitre dédié, et c'est la même qui est présente dans un processeur. Du moins dans les grandes lignes, les circuits des processeurs modernes étant particulièrement optimisés. Il en est de même pour les autres circuits de calcul comme ceux pour les multiplications/division/autres.
Si le processeur fait des calculs, qu'en est-il des opérandes ? Et où sont mémorisés les résultats des opérations ? Pour cela, le processeur incorpore des '''registres généraux'''. Les registres généraux servent à mémoriser les opérandes et résultats des instructions. Ils mémorisent des données, contrairement aux registres de contrôle mentionnés plus haut. Le nombre de registres généraux dépend grandement du processeur. Les tout premiers processeurs se débrouillaient avec un seul registre, mais les processeurs actuels utilisent plusieurs registres, pour mémoriser plusieurs opérandes/résultats. Mais la présence de registres est source de pas mal de petites complications. Par exemple, il faut échanger les données entre la RAM et les registres, il faut gérer l'adressage des registres, etc. Il s'agit là de détails que nous expliquerons dans les chapitres sur le processeur.
Le processeur contient enfin un circuit pour interpréter les instructions, appelé l''''unité de contrôle'''. Elle lit les instructions depuis la mémoire, interprète la suite de bit associée, et commande le reste du processeur pour qu'il exécute l'instruction. Ses fonctions sont assez variées, mais nous allons simplifier en disant qu'elle configure l'unité de calcul et les registres pour faire le bon calcul. Son rôle est d'analyser la suite de bit qui constitue l'instruction, et d'en déduire quelle opération effectuer. Elle gère aussi l'accès à la mémoire RAM, et notamment ce qui est envoyé sur son bus d'adresse.
: Dans ce qui suit, on suppose que le ''program counter'' fait partie de l'unité de contrôle.
Pour résumer, un processeur contient une unité de calcul, des registres et une interface avec la mémoire RAM. Le tout est interconnecté, afin de pouvoir échanger des données. L’ensemble forme le '''chemin de données''', nom qui trahit le fait que c'est là que les données se déplacent et sont traitées. Il faut aussi ajouter l'unité de contrôle pour commander le tout. Elle lit les instructions en mémoire, puis commande le chemin de données pour que l'instruction soit exécutée correctement.
[[File:Microarchitecture d'un processeur.png|centre|vignette|upright=2|Microarchitecture d'un processeur]]
Un processeur parait donc assez simple expliqué comme ça, mais il y a de nombreuses subtilités. L'une d'entre elle est liée aux registres, et notamment à la manière dont on les utilise. Pour expliquer ces subtilités, nous allons voir comment les premiers processeurs fonctionnaient, avant de passer aux processeurs un peu plus modernes. Les tout premiers processeurs n'utilisaient qu'un seul registre, ce qui fait que l'utilisation des registres était très simple. Le passage à plusieurs registres a complexifié le tout.
===D'où viennent les adresses ?===
Il est maintenant temps de répondre à une question qui s'était posée dans la section sur l'adressage : d'où viennent les adresses envoyées à la mémoire ? Pour ce qui est des adresses des instructions, on connait déjà la réponse : c'est le ''program counter'' qui gère tout. Mais pour les données, il y a deux possibilités, qui correspondent à deux types de données : les données statiques et les données dynamiques.
Les '''données statiques''' sont les plus simples : elles existent durant toute la durée de vie du programme. Tant que celui-ci s'exécute, il aura besoin de ces données. En conséquence, il leur réserve une place en mémoire, qui est toujours la même. La donnée se situe donc à une adresse bien précise, qui ne change jamais. Attention cependant : les données peuvent être modifiées, changer de valeur. Le programme écrit dans les donnée statiques, c'est même assez fréquent. Ce sont ne sont pas forcément des données constantes !
Pour les données statiques, elles sont toujours placées à la même adresse mémoire. Pour le dire autrement, l'adresse mémoire est une constante, qui ne change pas. L'adresse est connue avant d’exécuter le programme, le programme a été codé pour utiliser cette adresse pour telle donnée, on a réservé une adresse pour la donnée voulue. Et même si vous quittez le programme et vous le relancez plusieurs jours après, l'adresse mémoire sera la même avant et après.
Et cela permet d'utiliser l''''adressage direct'''. L'idée est que les instructions précisent donc l'adresse à lire ou écrire. Pour cela, l'adresse est intégrée dans l’instruction elle-même. Pour rappel, l'instruction est codée par une suite de bit en mémoire RAM/ROM, dont certains précisent l'opération à faire, les autres servant à autre chose. L'idée est que certains bits précisent l'adresse mémoire de la donnée à lire. Les instructions sont donc du genre :
* ''LOAD 56'' - lit l'adresse numéro 56 et copie son contenu dans un registre;
* ''STORE R5 , adress 99'', copie le registre R5 dans l'adresse 99 ;
* ''ADD R5 , adress 209'' : additionne le registre R5 avec le contenu de l'adresse 209.
S'il existe des données statiques, c'est signe qu'il existe des '''données dynamiques'''. Ces dernières sont des données qui sont créées ou détruites selon les besoins. Pour comprendre d'où viennent ces données dynamiques, prenons le cas d'une personne qui écrit du texte sur un ordinateur. Le texte qu'il écrit est mémorisé dans la RAM de l’ordinateur, puis est sauvegardé sur le disque dur quand il sauvegarde son document. Au fur et à mesure qu'il écrit du texte, la RAM utilisée par ce texte augmente. Donc, ce texte est une donnée dynamique, dont la taille varie dans le temps.
Pour gérer des données dynamiques, la plupart des systèmes d'exploitation incorporent des fonctionnalités d''''allocation mémoire'''. Derrière ce nom barbare, se cache quelque chose de simple : les programmes peuvent réclamer de la mémoire au système d'exploitation, pour y placer les données qu'ils souhaitent. Les langages de programmation bas niveau supportent des fonctions comme malloc(), qui permettent de demander un bloc de mémoire de N octets à l'OS, qui doit alors accommoder la demande. De même, un programme peut libérer de la mémoire qu'il n'utilise plus avec des fonctions comme free().
Avec l'allocation mémoire, les données n'ont pas de place fixe en mémoire. Leur adresse mémoire peut varier d'une exécution du programme à l'autre. Pire que ça : les données peuvent être déplacées dans la mémoire RAM, si besoin. En clair : l'adresse est déterminée lors de l'exécution du programme. L'adresse est alors soit calculée, soit lue depuis la mémoire RAM, soit déterminée autrement. Toujours est-il qu'elle se retrouve dans un registre général. Pour gérer ces adresse variables, les processeurs utilisent l''''adressage indirect'''. L'adressage indirect permet d'utiliser une adresse qui est dans un registre de données. L'adresse en question peut être envoyée à la mémoire RAM sans problème, le processeur peut automatiquement connecter le registre adéquat sur le bus d'adresse.
Au tout début de l'informatique, les processeurs ne supportaient que l'adressage direct, pas plus. L'adressage indirect n'était tout simplement pas possible. Avec l'adressage direct, l'adresse à lire est extraite directement des instructions, par l'unité de contrôle. Le bus d'adresse de la RAM est alors relié directement à l'unité de contrôle, le bus de données est relié aux registres.
[[File:Architecture Harvard avec adressage direct uniquement.png|centre|vignette|upright=2|Architecture Harvard avec adressage direct uniquement]]
Mais dès les années 70, l'adressage indirect est apparu, rendant la programmation bien plus simple. Mais cela a demandé quelques adaptation au niveau du processeur. Avec l'adressage indirect, le bus d'adresse est connecté aux registres. Il a donc fallu rajouter un multiplexeur pour que le processeur décide de relier le bus d'adresse soit aux registres, soit à l'unité de contrôle.
===Un ordinateur peut avoir plusieurs processeurs===
La plupart des ordinateurs n'ont qu'un seul processeur, ce qui fait qu'on désigne avec le terme d''''ordinateurs mono-processeur'''. Mais il a existé (et existe encore) des '''ordinateurs multi-processeurs''', avec plusieurs processeurs sur la même carte mère. L'idée était de gagner en performance : deux processeurs permettent de faire deux fois plus de calcul qu'un seul, quatre permettent d'en faire quatre fois plus, etc. C'est très courant sur les supercalculateurs, des ordinateurs très puissants conçus pour du calcul industriel ou scientifique, mais aussi sur les serveurs ! Dans le cas le plus courant, ils utilisent plusieurs processeurs identiques : on utilise deux processeurs Core i3 de même modèle, ou quatre Pentium 3, etc.
Pour utiliser plusieurs processeurs, les programmes doivent être adaptés. Pour cela, il y a plusieurs possibilités :
* Une première possibilité, assez intuitive, est d’exécuter des programmes différents sur des processeurs différents. Par exemple, on exécute le navigateur web sur un processeur, le lecteur vidéo sur un autre, etc.
* La seconde option est de créer des programmes spéciaux, qui utilisent plusieurs processeurs. Ils répartissent les calculs à faire sur les différents processeurs. Un exemple est la lecture d'une vidéo sur le web : un processeur peut télécharger la vidéo pendant le visionnage et bufferiser celle-ci, un autre processeur peut décoder la vidéo, un autre décoder l'audio. De tels programmes restent des suites d'instructions, mais ils sont plus complexes que les programmes normaux, aussi nous les passons sous silence.
* La troisième option est d’exécuter le même programme sur les différents processeurs, mais chaque processeur traite son propre ensemble de données. Par exemple, pour un programme de rendu 3D, quatre processeurs peuvent s'occuper chacun d'une portion de l'image.
[[File:Architecture de Von Neumann Princeton multi processeurs.svg|centre|vignette|upright=2|Architecture de Von Neumann Princeton multi processeurs]]
De nos jours, les ordinateurs grand public les plus utilisés sont dans un cas intermédiaire, ils ne sont ni mono-, ni multi-processeur. Ils n'ont qu'un seul processeur, dans le sens où si on ouvre l'ordinateur et qu'on regarde la carte mère, il n'y a qu'un seul processeur. Mais ce processeur est en réalité assez similaire à un regroupement de plusieurs processeurs dans le même boitier. Il s'agit de '''processeurs multicœurs''', qui contiennent plusieurs cœurs, chaque cœur pouvant exécuter un programme tout seul.
La différence entre cœur et processeur est assez difficile à saisir, mais pour simplifier : un cœur est l'ensemble des circuits nécessaires pour exécuter un programme. Chaque cœur dispose de toute la machinerie électronique pour exécuter un programme, à savoir des circuits aux noms barbares comme : un séquenceur d'instruction, des registres, une unité de calcul. Par contre, certains circuits d'un processeur ne sont présents qu'en un seul exemplaire dans un processeur multicœur, comme les circuits de communication avec la mémoire ou les circuits d’interfaçage avec la carte mère.
Suivant le nombre de cœurs présents dans notre processeur, celui-ci sera appelé un processeur double-cœur (deux cœurs), quadruple-cœur (4 cœurs), octuple-cœur (8 cœurs), etc. Un processeur double-cœur est équivalent à avoir deux processeurs dans l'ordinateur, un processeur quadruple-cœur est équivalent à avoir quatre processeurs dans l'ordinateur, etc. Ces processeurs sont devenus la norme dans les ordinateurs grand public et les logiciels et systèmes d'exploitation se sont adaptés.
===Les coprocesseurs===
Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs qui complémentaient un processeur principal. Les ordinateurs de ce type avaient un processeur principal, le '''CPU''', qui était secondé par un ou plusieurs coprocesseurs. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle.
Les coprocesseurs les plus connus sont les '''coprocesseurs pour le rendu 2D/3D''' et les '''coprocesseurs sonores'''. Ils ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles de cette génération ou antérieure. Ils s'occupaient respectivement de calculer les graphismes des jeux vidéos, et de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
L'accès aux périphériques est quelque chose sur lequel nous passerons plusieurs chapitres dans ce cours. Mais sachez que l'accès aux périphériques peut demander pas mal de puissance de calculs. Le CPU principal peut faire ce genre de calculs par lui-même, mais il n'est pas rare qu'un '''coprocesseur d'IO''' soit dédié à l'accès aux périphériques. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont un peu à part des autres. Ils sont spécialisés dans les calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les entrées-sorties==
Tous les circuits vus précédemment traitent des données codées en binaire. Ceci dit, les données ne sortent pas de n'importe où : l'ordinateur contient des composants électroniques qui traduisent des informations venant de l’extérieur en nombres. Ces composants sont ce qu'on appelle des '''entrées'''. Par exemple, le clavier est une entrée : l'électronique du clavier attribue un nombre entier (''scancode'') à une touche, nombre qui sera communiqué à l’ordinateur lors de l'appui d'une touche. Pareil pour la souris : quand vous bougez la souris, celle-ci envoie des informations sur la position ou le mouvement du curseur, informations qui sont codées sous la forme de nombres. La carte son évoquée il y a quelques chapitres est bien sûr une entrée : elle est capable d'enregistrer un son, et de le restituer sous la forme de nombres.
S’il y a des entrées, on trouve aussi des '''sorties''', des composants électroniques qui transforment des nombres présents dans l'ordinateur en quelque chose d'utile. Ces sorties effectuent la traduction inverse de celle faite par les entrées : si les entrées convertissent une information en nombre, les sorties font l'inverse : là où les entrées encodent, les sorties décodent. Par exemple, un écran LCD est un circuit de sortie : il reçoit des informations, et les transforme en image affichée à l'écran. Même chose pour une imprimante : elle reçoit des documents texte encodés sous forme de nombres, et permet de les imprimer sur du papier. Et la carte son est aussi une sortie, vu qu'elle transforme les sons d'un fichier audio en tensions destinées à un haut-parleur : c'est à la fois une entrée, et une sortie.
Les '''entrées-sorties''' incluent toutes les entrées et sorties, et même certains composants qui sont les deux à la fois. Il s'agit d'un terme générique, qui regroupe des composants forts différents. Dans ce qui va suivre, nous allons parfois parler de périphériques au lieu d'entrées-sorties, mais les deux termes ne sont pas équivalents. Dans le détail, les entrées-sorties regroupent :
* Les '''périphériques''' sont les composants connectés sur l'unité centrale. Exemple : les claviers, souris, webcam, imprimantes, écrans, clés USB, disques durs externes, la Box internet, etc.
* Les '''cartes d'extension''', qui se connectent sur la carte mère via un connecteur, comme les cartes son ou les cartes graphiques.
* D'autres composants sont soudés à la carte mère mais sont techniquement des entrées-sorties : les cartes sons soudées sur les cartes mères actuelles, par exemple.
===L'interface avec le reste de l'ordinateur===
Les entrées-sorties sont très diverses, fonctionnent très différemment les unes des autres. Mais du point de vue du reste de l'ordinateur, les choses sont relativement standardisées. Du point de vue du processeur, les entrées-sorties sont juste des paquets de registres ! Tous les périphériques, toutes les entrées-sorties contiennent des '''registres d’interfaçage''', qui permettent de faire l'intermédiaire entre l'entrée/sortie et le reste de l'ordinateur. L'entrée/sortie est conçu pour réagir automatiquement quand on écrit dans ces registres.
[[File:Registres d'interfaçage.png|centre|vignette|upright=2|Registres d'interfaçage.]]
Les registres d’interfaçage sont assez variés. Les plus évidents sont les '''registres de données''', qui permettent l'échange de données entre le processeur et les périphériques. Pour échanger des données avec l'entrée/sortie, le processeur a juste à lire ou écrire dans ces registres de données. On trouve généralement un registre de lecture et un registre d'écriture, mais il se peut que les deux soient fusionnés en un seul registre d’interfaçage de données. Si le processeur veut envoyer une donnée à une entrée/sortie, il a juste à écrire dans ces registres. Inversement, s'il veut lire une donnée, il a juste à lire le registre adéquat.
Mais le processeur ne fait pas que transmettre des données à l'entrée/sortie. Le processeur lui envoie aussi des « commandes », des valeurs numériques auxquelles l'entrée/sortie répond en effectuant un ensemble d'actions préprogrammées. En clair, ce sont l'équivalent des instructions du processeur, mais pour l'entrée/sortie. Par exemple, les commandes envoyées à une carte graphique peuvent être : affiche l'image présente à cette adresse mémoire, calcule le rendu 3D à partir des données présentes dans ta mémoire, etc. Pour recevoir les commandes, l'entrée/sortie contient des ''registres de commande'' qui mémorisent les commandes envoyées par le processeur. Quand le processeur veut envoyer une commande à l'entrée/sortie, il écrit la commande en question dans ce ou ces registres.
Enfin, beaucoup d'entrée/sortie ont un ''registre d'état'', lisible par le processeur, qui contient des informations sur l'état de l'entrée/sortie. Ils servent notamment à indiquer au processeur que l'entrée/sortie est disponible, qu'il est en train d’exécuter une commande, qu'il est occupé, qu'il y a un problème, qu'il y a une erreur de configuration, etc.
===Les adresses des registres d’interfaçage===
Les registres des périphériques sont identifiés par des adresses mémoires. Et les adresses sont conçues de façon à ce que les adresses des différentes entrées/sorties ne se marchent pas sur les pieds. Chaque entrée/sortie, chaque registre, chaque contrôleur a sa propre adresse. D'ordinaire, certains bits de l'adresse indiquent quel est le destinataire. Certains indiquent quel est l'entrée/sortie voulue, les restants indiquant le registre de destination.
Il existe deux organisations possibles pour les adresses des registres d’interfaçages. La première possibilité est de séparer les adresses pour les registres d’interfaçage et les adresses pour la mémoire. Le processeur doit avoir des instructions séparées pour gérer les périphériques et adresser la mémoire. Il a des instructions de lecture/écriture pour lire/écrire en mémoire, et d'autres pour lire/écrire les registres d’interfaçage. Sans cela, le processeur ne saurait pas si une adresse est destinée à un périphérique ou à la mémoire.
[[File:Espaces d'adressages séparés entre mémoire et périphérique.png|centre|vignette|upright=2.5|Espaces d'adressages séparés entre mémoire et périphérique]]
L'autre méthode mélange les adresses mémoire et des entrées-sorties. Si on prend par exemple un processeur de 16 bits, où les adresses font 16 bits, alors les 65536 adresses possibles seront découpées en deux portions : une partie ira adresser la RAM/ROM, l'autre les périphériques. On parle alors d''''entrées-sorties mappées en mémoire'''. L'avantage est que le processeur n'a pas besoin d'avoir des instructions séparées pour les deux.
[[File:IO mappées en mémoire.png|centre|vignette|upright=2.0|IO mappées en mémoire]]
Pour résumer, communiquer avec une entrée/sortie est similaire à ce qu'on a avec les mémoires. Il suffit de lire ou écrire dans des registres d’interfaçage, qui ont chacun une adresse mémoire. Le problème est que le système d'exploitation ne connaît pas toujours le fonctionnement d'une entrée/sortie : il faut installer un programme qui va s'exécuter quand on souhaite communiquer avec l'entrée/sortie, et qui s'occupera de tout ce qui est nécessaire pour le transfert des données, l'adressage du périphérique, etc. Ce petit programme est appelé un driver ou '''pilote de périphérique'''. La « programmation » périphérique est très simple : il suffit de savoir quoi mettre dans les registres, et c'est le pilote qui s'en charge.
==Les architectures Harvard et Von Neumann==
Après avoir vu le processeur, les mémoires et les entrées-sorties, voyons voir comment le tout est interconnecté. Tous les ordinateurs ne sont pas organisés de la même manière, pour ce qui est de leurs bus. Mais pour comprendre pourquoi, nous devons regarder qui communique avec qui, dans un ordinateur. Pour rappel, les données sont placées en mémoire RAM, alors que les instructions sont placées en mémoire ROM. Le processeur lit des instructions dans la mémoire ROM, il lit et écrit dans la mémoire RAM, et accède aux registres d’interfaçage des entrées-sorties. Il y a donc besoins de trois interconnexions : CPU-ROM, CPU-RAM et CPU-IO.
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
Il parait intéressant d'utiliser trois interconnexions, au minimum CPU-ROM, CPU-RAM et CPU-IO. Néanmoins, faire ainsi a de nombreux désavantages. Déjà, il faut pouvoir brancher tout ça sur le processeur. Et celui-ci n'a pas forcément assez de broches pour. Aussi, il est parfois préférable de mutualiser des bus, à savoir de connecter plusieurs composants sur un même bus. Par exemple, on peut mutualiser le bus pour la mémoire RAM et pour la mémoire ROM. Il faut dire que les deux bus sont des bus mémoire, avec un bus d'adresse, un bus de données, et surtout : des bus de commande similaires. Les mutualiser est alors très simple, et permet d'économiser pas mal de broches.
[[File:Réseau d'interconnexion avec un processeur au centre et une architecture Harvard.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre et une architecture Harvard]]
Cette mutualisation nous amène naturellement à parler de la distinction entre les architectures Harvard d'un côté et les architectures Von Neumann de l'autre. Elle est très liée au fait d'utiliser soit un bus mémoire unique, soit des bus séparés pour la ROM et la RAM. Voyons cela en détail.
===Les architectures Harvard et Von Neumann : des bus séparés ou unifiés===
Avec l''''architecture Harvard''', la mémoire ROM et la mémoire RAM sont reliées au processeur par deux bus séparés. Il y a un bus RAM pour la mémoire RAM, un bus ROM pour la mémoire ROM. L'avantage de cette architecture est qu'elle permet de charger une instruction et une donnée simultanément : une instruction chargée sur le bus relié à la mémoire programme, et une donnée chargée sur le bus relié à la mémoire de données. Et cela simplifie fortement la conception du processeur.
[[File:Harvard Architecture.png|centre|vignette|upright=2|Architecture Harvard, avec une ROM et une RAM séparées.]]
Avec l''''architecture Von Neumann''', mémoire ROM et mémoire RAM sont reliées au processeur par un bus unique. Le bus unique qui relie processeur, RAM et ROM, s'appelle le '''bus mémoire'''. Un défaut de ces architecture est qu'elles ne peuvent pas charger une instruction et une donnée en même temps. Et cela pose quelques problèmes pour la conception du processeur. Par contre, nous verrons dans ce qui suit qu'utiliser un bus mémoire partagé est bien plus flexible et permet des choses que les architectures Harvard ne peuvent pas faire.
[[File:Architecture Von Neumann, avec deux bus séparés.png|centre|vignette|upright=2|Architecture Von Neumann, avec deux bus séparés.]]
===Les architectures Harvard et Von Neumann : des espaces d'adressage séparés ou unifiés===
La distinction précédente se base sur les connexions entre RAM, ROM et processeur. Mais il existe une autre distinction, très liée, qui est souvent utilisée comme seconde définition des architectures Harvard/Von Neumann. Elle est liée aux adresses mémoire que le processeur peut gérer. Prenons un processeur 16 bits, par exemple, qui gère naturellement des adresses de 16 bits. Il peut gérer 2^16 adresses, soit 64 kibioctets de mémoire. L'ensemble de ces adresses est appelé un '''espace d'adressage'''. Mais comment cet espace d'adressage est utilisé pour adresser une RAM et une ROM ?
Sur les architectures Harvard, le processeur voit deux mémoires séparées avec leur lot d'adresses distinctes. Une même adresse peut donc correspondre soit à la mémoire ROM, soit à la mémoire RAM, suivant le bus utilisé. L'espace d'adressage est donc doublé, dupliqué, avec un pour la ROM, un autre pour la RAM. Rien d'étonnant à cela : il y a deux bus d'adresses, chacun correspondant à un espace d'adressage.
[[File:Vision de la mémoire par un processeur sur une architecture Harvard.png|centre|vignette|upright=2|Vision de la mémoire par un processeur sur une architecture Harvard.]]
Avec l'architecture Von Neumann, la RAM et la ROM doivent se partager les adresses mémoires disponibles. Il n'y a qu'un seul espace d'adressage qui est coupé en deux, avec une partie pour la ROM et une autre pour la RAM. Une adresse correspond soit à la mémoire RAM, soit à la mémoire ROM, mais pas aux deux. Typiquement, la mémoire ROM occupe une partie des adresses, la mémoire RAM utilise le reste. La répartition des adresses est réalisée par les circuits de décodage d'adresse mentionnés plus haut.
[[File:Vision de la mémoire par un processeur sur une architecture Von Neumann.png|centre|vignette|upright=2|Vision de la mémoire par un processeur sur une architecture Von Neumann.]]
Les '''architectures Harvard modifiées''' sont des intermédiaires entre architectures Harvard et architectures Von Neumann, bien qu'elles penchent bien plus du côté des architectures Harvard. Précisons que la terminologie n'est pas claire, beaucoup d'auteurs mettent des définitions différentes derrière ces deux termes. Mais dans ce cours, nous utiliserons une définition très stricte de ce qu'est une architecture Harvard modifiée.
Une architecture Harvard modifiée est une architecture Harvard, où le processeur peut lire des données constantes depuis la mémoire ROM. Nous avions vu plus haut que les mémoires ROM peuvent mémoriser, en plus d'un programme exécutable, des données constantes, qui ne varient pas. Les architectures Harvard pures ne permettent pas de lire des données de ce genre depuis la mémoire ROM, alors que les architectures Harvard modifiées le permettent.
Une architecture Harvard modifiée dispose d'une instruction pour lire les données en mémoire RWM, et d'une instruction pour lire des données en mémoire ROM. Il y a donc deux versions de l'instruction LOAD, qui copient la donnée dans un registre général, mais dont la source de la donnée est différente. Une autre possibilité, plus rare, est que une instruction de copie, qui copie une constante depuis la mémoire ROM vers la mémoire RAM. Le cas le plus commun est l'utilisation de deux instructions LOAD séparées.
[[File:Espaces d'adressage sur une archi harvard modifiée.png|centre|vignette|upright=2.5|Espaces d'adressage sur une archi harvard modifiée]]
Ceci étant dit, revenons à la distinction entre architecture Harvard et Von Neumann. Il faut noter que la RAM et la ROM n'ont pas forcément la même taille. Et ce que ce soit sur une architecture Harvard que sur une architecture Von Neumann, mais c'est plus facile à expliquer sur une architecture Harvard.
On peut par exemple imaginer une architecture Harvard qui utilise des adresses de 16 bits pour la ROM, et seulement 8 bits pour la RAM. Le résultat est qu'il peut adresser 64 kibioctets de ROM, mais seulement 256 octets de RAM. Les deux bus d'adresse sont alors de taille différente, l'un faisant 8 bits, l'autre 16. Quelques processeurs 8 bits étaient dans ce cas, comme on le verra dans le chapitre sur les CPU 8bits. Mais d'autres processeurs utilisent des valeurs différentes, avec par exemple des adresses de 16 bits pour la RAM, mais de 20 bits pour la ROM, ou inversement.
Sur une architecture Von Neumann, tout dépend de comment les adresses sont réparties. La solution la plus simple découpe l'espace d'adressage en deux parties égales, avec la RAM qui est dans la moitié basse (qui part de l'adresse 0 jusqu'à l'adresse au milieu), alors que la ROM est dans la moitié haute (entre l'adresse du milieu et l'adresse maximale). Mais ce n'est pas la seule possibilité, la limite entre RAM et ROM peut être mise n'importe où. Prenons par exemple un processeur 32 bits, capable de gérer 4 milliards d'adresse. Il est parfaitement possible de réserver 128 mébioctets de poids fort à la mémoire ROM, et de laisser le reste à la mémoire RAM.
===Le décodage d'adresse sur les architectures Von Neumann===
Pour résumer, les architectures Harvard et Von Neumann se distinguent sur deux points :
* L'accès à la RAM et à la ROM se font par des bus séparés sur l'architecture Harvard, sur le même bus avec l'architecture Von Neumann.
* Les adresses pour la mémoire ROM et la mémoire RAM sont séparées sur les architectures Harvard, partagées sur l’architecture Von Neumann.
Les architectures Von Neumann utilisent donc un seul bus pour connecter la RAM et la ROM au processeur. Mais cela ne parait pas intuitif : comment deux composants peuvent se connecter aux mêmes fils ? Parce que c'est ce qu'implique le fait de partager un bus. Si je prends une mémoire RAM et une mémoire ROM, toutes deux de 8 bits, elles seront connectées à un bus mémoire de 8 bits. Intuitivement, on se dit qu'il y aura des conflits, du genre : la RAM et la ROM vont accéder au bus en même temps, comment savoir si une adresse est destinée à la RAM ou la ROM, etc ?
Tous ces problèmes sont résolus avec une solution très simple : à chaque instant, seule une mémoire est connectée au bus. L'idée est que les mémoires sont connectées ou déconnectées du bus selon les besoins. Si le processeur veut envoyer lire une donnée en mémoire RAM, il déconnecte la mémoire ROM du bus. Et inversement, s'il veut lire une instruction, il déconnecte la RAM et connecte la ROM.
Pour cela, les mémoires RAM et ROM possèdent une entrée ''Chip Select'' ou ''Output Enable'', qui agit comme une sorte de bouton ON/OFF. Lorsqu'on met un 1 sur cette entrée, la mémoire se connectera au bus. Ses entrées et sorties fonctionneront normalement, elle pourra recevoir des adresses, envoyer ou recevoir des données, tout sera normal. Par contre, si on met un 0 sur cette entrée, la mémoire se "désactive", ses entrée-sorties ne répondent plus aux sollicitations extérieures. Pire que ça : elles sont électriquement déconnectées.
Au total, tout cela demande de gérer deux bit ''Chip Select''/''Output Enable'' : un pour la RAM, un pour la ROM. Et ces deux bits sont configurés pour chaque accès mémoire, pour chaque lecture ou écriture. Pour cela, un circuit de '''décodage d'adresse''' prend en entrée l'adresse mémoire à lire/écrire, et active/désactive les mémoires RAM/ROM selon les besoins. Il prend l'adresse et configure les bits ''Chip Select''/''Output Enable''.
[[File:Décodage d'adresse sur une architecture Von Neumann.png|centre|vignette|upright=2|Décodage d'adresse sur une architecture Von Neumann.]]
L'implémentation la plus simple réserve la moitié des adresses pour la RAM, l'autre moitié pour la ROM. Typiquement, la ROM prend la moitié basse, la RAM la moitié haute. Dans ce cas, activer/désactiver la RAM et la ROM se fait avec seulement le bit de poids fort de l'adresse. Si le bit de poids fort est à 1, alors on accède à la RAM et la ROM doit être désactivée. Mais si ce bit est à 0, alors on accède à la moitié basse et il faut désactiver la RAM.
Une remarque intéressante : le fait de séparer la mémoire en deux parts égales permet de simuler une architecture Harvard à partir d'une architecture Von Neumann. Par exemple, le tout premier processeur d'Intel, le 4004, était l'un de ceux là. La RAM et la ROM sont reliés au même bus, et il y a donc un unique espace d'adressage, qui est séparé en deux parties égales. Le truc est que le processeur traite les deux parties égales comme deux espaces d'adressage séparés. Le processeur se débrouille pour cacher le fait qu'il y a un espace d'adressage unique coupé en deux, ce qui fait que les programmeurs voient bien deux espaces d'adressages distincts.
[[File:Décodage d'adresse sur une architecture Von Neumann basique.png|centre|vignette|upright=2|Décodage d'adresse sur une architecture Von Neumann basique.]]
Pour résumer, quand une adresse est envoyée sur le bus, les deux mémoires vont la recevoir mais une seule va répondre et se connecter au bus. Le décodage d'adresse garantit que seule la mémoire adéquate réponde à un accès mémoire. Le décodage d'adresse est réalisé par la carte mère, par un composant dédié.
Le mécanisme peut être utilisé pour combiner plusieurs RAM en une seule, idem avec les ROM. Pour comprendre l'idée, je vais prendre l'exemple de l'IBM PC, un des tout premier PC existant. Nous étudierons ce PC dans une section dédiée, à la fin du chapitre, aussi je vais passer rapidement dessus. Tout ce que je vais faire est vous présenter la carte mère du PC, et vous demander de faire est de compter les mémoires ROM et mémoires RAM sur la carte mère :
[[File:IBM 5150 Motherboard.svg|centre|vignette|upright=3|Carte mère de l'IBM 5150, un modèle de l'IBM PC.]]
Si vous remarquerez qu'il y a 5 mémoires ROM et 8 à 32 mémoires RAM. Le fait est que le processeur voit les différentes mémoires ROM comme une seule mémoire ROM. Idem avec les mémoires RAM : elle font chacune 2 kibioctets, et l'ensemble est vu par le processeur comme une seule RAM de 16 à 64 kibioctets. Et cela grâce aux circuits de décodage d'adresse, qui sont situés en haut à droite de la carte mère.
Pour comprendre l'idée, prenons l'exemple d'un processeur 16 bits, capable de gérer 64 kibioctets de mémoire. L'espace d'adressage est découpé en quatre portions, de 16 kibioctets chacune. Une portion est réservée à une ROM de 16 kibioctet, les autres sont chacune réservée à une RAM de 16 kibioctet. Le décodage d'adresse sélectionne alors la mémoire adéquate en utilisant les deux bits de poids fort de l'adresse.
* S'ils valent 00, alors c'est la mémoire ROM qui est activée, connectée au bus.
* S'ils valent 01, alors c'est la première mémoire RAM qui est connectée au bus.
* S'ils valent 10, alors c'est la seconde mémoire RAM qui est connectée au bus.
* S'ils valent 11, alors c'est la troisième mémoire RAM qui est connectée au bus.
[[File:Décodage d'adresse sur une architecture Von Neumann, utilisant plusieurs RAM et une ROM.png|centre|vignette|upright=3|Décodage d'adresse sur une architecture Von Neumann, utilisant plusieurs RAM et une ROM]]
===L'impact sur la conception du processeur===
Plus haut, j'ai parlé d'un des avantages des architectures Harvard : elles peuvent lire une instruction en même temps qu'elles accèdent à une donnée. La donnée est lue/écrite en RAM, alors que l'instruction est lue en ROM. Et cela permet de simplifier l'intérieur du processeur. Pas de beaucoup, mais c'est déjà ça de pris. Voyons maintenant comment cela impacte l'intérieur du processeur. Tout ce dont vous avez à vous rappeler est la séparation entre chemin de données et unité de contrôle, et que les registres généraux sont dans le premier, le ''program counter'' dans la seconde.
Avec une architecture Harvard, les instructions et les données passent par des bus différent : bus ROM pour les instructions, bus RAM pour les données. L'intuition nous dit que le bus pour la mémoire ROM est connecté à l'unité de contrôle, alors que le bus pour la RAM est connecté au chemin de données. Et dans les grandes lignes, c'est vrai. La logique est imparable pour ce qui est des bus de données. Mais il y a une petite subtilité pour les bus d'adresse.
Pour comprendre comment le processeur exploite ces deux bus, voyons ce qui transite dessus. Pour la mémoire ROM, elle reçoit l'adresse de l'instruction à lire, elle renvoie l'instruction adéquate. Pour cela, le ''program counter'' est envoyé sur le bus d'adresse, l'instruction sur le bus de données. Pour la mémoire RAM, elle échange des données avec les registres généraux, les registres pour les données. Les adresses utilisées pour la RAM viennent elles soit du chemin de données, soit de l'unité de contrôle, tout dépend du mode d'adressage. Mais le ''program counter'' n'est pas impliqué.
[[File:Architecture Harvard - échanges de données.png|centre|vignette|upright=2|Architecture Harvard - échanges de données]]
Les architectures Harvard modifiées doivent cependant rajouter une connexion entre le bus ROM et les registres généraux. C'est nécessaire pour charger une donnée constante depuis la mémoire ROM. Rappelons que la donnée constante est copiée dans un registre général, donc dans le chemin de données.
[[File:Architecture Harvard modifiée - implémentation du processeur.png|centre|vignette|upright=2|Architecture Harvard modifiée - implémentation du processeur]]
Avec les architectures Von Neumann, il y a un seul bus qui est relié à la fois au chemin de données et à l'unité de contrôle. Si le processeur lit une instruction, le bus doit être relié à l'unité de contrôle. Par contre, s'il accède à une donnée, il doit être relié au chemin de données (le bus d'adresse peut éventuellement être connecté au séquenceur, si celui-ci fournit l'adresse à lire). Il faut donc utiliser un paquet de multiplexeurs et de démultiplexeurs pour faire la connexion au bon endroit.
[[File:Architecture Von Neumann - implémentation du processeur.png|centre|vignette|upright=2|Architecture Von Neumann - implémentation du processeur]]
Une instruction se fait en deux temps : on charge l'instruction depuis la mémoire ROM, puis on l'exécute. Avec une architecture Harvard, tout cela se fait en un seul cycle d'horloge, vu que charger la ROM et accéder aux données peut se faire en même temps. Pas avec les architectures Von Neumann, qui doivent libérer le bus mémoire après avoir chargé une instruction. Elles n'ont pas le choix : elles chargent l'instruction lors d'un premier cycle d'horloge, puis l'exécutent lors du second.
Pour cela, ils incorporent un registre appelé le '''registre d'instruction''', qui mémorise l'instruction chargée. L'instruction est copiée dans ce registre lors du premier cycle, puis est utilisée lors du second cycle. Le registre permet de ne pas oublier l’instruction entre les deux cycles. Le registre d'instruction est obligatoire sur les architectures Von Neumann. En comparaison, il est facultatif sur les architectures Harvard. Elles peuvent en avoir un, pour des raisons techniques, mais ce n'est pas obligatoire.
[[File:Registre d'instruction.png|centre|vignette|upright=2|Registre d'instruction.]]
===Les architectures Von Neumann sont plus flexibles===
Sur les architectures Harvard, le processeur sait faire la distinction entre programme et données. Les données sont stockées dans la mémoire RAM, le programme est stocké dans la mémoire ROM. Les deux sont séparés, accédés par le processeur sur des bus séparés, et c'est ce qui permet de faire la différence entre les deux. Il est impossible que le processeur exécute des données ou modifie le programme. Du moins, tant que la mémoire qui stocke le programme est bien une ROM.
Par contre, sur les architectures Von Neumann, il est impossible de distinguer programme et données, sauf en ajoutant des techniques de protection mémoire avancées. La raison est qu'il est impossible de faire la différence entre donnée et instruction, vu que rien ne ressemble plus à une suite de bits qu'une autre suite de bits. Et c'est à l'origine d'un des avantages majeur de l'architecture Von Neumann : il est possible que des programmes soient copiés dans la mémoire RWM et exécutés dans celle-ci.
Un cas d'utilisation familier est celui de votre ordinateur personnel. Le système d'exploitation et les autres logiciels sont copiés en mémoire RAM à chaque fois que vous les lancez. Mais cet exemple implique un disque dur, ce qui rend les choses plus compliquées que prévu. Un autre exemple serait la compilation de code à la volée, mais il ne sera pas très parlant.
Un exemple plus adapté serait celui où la ROM mémorise un programme compressée dans la mémoire ROM, qui est décompressé pour être exécuté en mémoire RAM. Le programme de décompression est stocké en mémoire ROM et est exécuté au lancement de l’ordinateur. Cette méthode permet d'utiliser une mémoire ROM très petite et très lente, tout en ayant un programme rapide (si la mémoire RWM est rapide).
Il est aussi possible de créer des programmes qui modifient leurs propres instructions : cela s'appelle du '''code auto-modifiant'''. Ce genre de choses servait autrefois sur des ordinateurs rudimentaires, au tout début de l'informatique. A l'époque, les adresses à lire/écrire devaient être écrites en dur dans le programme, dans les instructions exécutées. Pour gérer certaines fonctionnalités des langages de programmation qui ont besoin d'adresses modifiables, comme les tableaux, on devait corriger les adresses au besoin avec du code auto-modifiant. De nos jours, le code automodifiant est utilisée occasionnellement pour rendre un programme indétectable dans la mémoire (les virus informatiques utilisent beaucoup ce genre de procédés).
L'impossibilité de séparer données et instructions est à l'origine de problèmes assez fâcheux. Il est parfaitement possible que le processeur charge et exécute des données, qu'il prend par erreur pour des instructions. C'est le cas quand des pirates informatiques arrivent à exploiter des bugs. Il arrive que des pirates informatiques vous fournissent des données corrompues, qui contiennent un virus ou un programme malveillant est caché dans les données. Les bugs en question permettent d'exécuter ces données, donc virus. Pour éviter cela, le système d'exploitation peut marquer certaines zones de la mémoire comme non-exécutable, c’est-à-dire que le système d'exploitation interdit d’exécution de quoi que ce soit qui est dans cette zone. Mais ce n'est pas parfait.
Toujours est-il que tout cela est impossible sur les architectures Harvard. Et ce serait très limitant. Imaginez : pas possible de lancer un programme depuis le disque dur ou une clé USB, le programme doit impérativement être dans une mémoire ROM, pas de compilation à la volée, etc. Que des techniques très utilisées dans l'informatique moderne. Malgré ses défauts, les architectures Von Neumann ne sont pas les plus utilisées pour rien. Les architectures Harvard sont concrètement utilisées uniquement dans l'informatique embarquée, sur des microcontrôleurs très spécifiques.
==Le bus de communication avec les entrées-sorties==
Le processeur, la mémoire et les entrées-sorties sont connectées par un ou plusieurs '''bus de communication'''. Ce bus n'est rien d'autre qu'un ensemble de fils électriques sur lesquels on envoie des zéros ou des uns. Pour communiquer avec la mémoire, il y a trois prérequis qu'un bus doit respecter : pouvoir sélectionner la case mémoire (ou l'entrée-sortie) dont on a besoin, préciser à la mémoire s'il s'agit d'une lecture ou d'une écriture, et enfin pouvoir transférer la donnée. Pour cela, on doit donc avoir trois bus spécialisés, bien distincts, qu'on nommera le bus de commande, le bus d'adresse, et le bus de donnée.
* Le '''bus de données''', sur lequel s'échangent les données entre les composants.
* Le '''bus de commande''' pour configurer la mémoire et les entrées-sorties.
* Le '''bus d'adresse''', facultatif, permet de préciser quelle adresse mémoire il faut lire/écrire.
Chaque composant possède des entrées séparées pour le bus d'adresse, le bus de commande et le bus de données. Par exemple, une mémoire RAM possédera des entrées sur lesquelles brancher le bus d'adresse, d'autres sur lesquelles brancher le bus de commande, et des broches d'entrée-sortie pour le bus de données. Précisons cependant que le bus de commande n'est pas exactement le même entre des mémoires RAM/ROM et des entrées-sorties.
[[File:Bus general schematic.svg|centre|vignette|upright=2|Contenu d'un bus, généralités.]]
===Le réseau d'interconnexion : généralités===
Reprenons où nous nous étions arrêté. Avant de voir les architectures Harvard et Von Neumann, nous avions dit que le processeur, les mémoires et les entrées-sorties sont reliées entre eux par un réseau d'interconnexion. Nous venons de voir qu'il est possible de mutualiser certains bus, notamment celui de la mémoire RAM et celui de la mémoire ROM. Mais il est possible de faire la même chose pour les entrées-sorties. Là encore, il est possible de regrouper le bus mémoire avec les bus pour les entrées-sorties. Voyons ce que cela implique.
{|
|[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec une architecture Harvard.]]
|[[File:Réseau d'interconnexion avec un processeur au centre et une architecture Harvard.png|centre|vignette|upright=2|Interconnexions d'une architecture Von Neumann.]]
|}
Avant de poursuivre, nous devons préciser quelque chose d'important. Sur les ordinateurs modernes, les entrées-sorties peuvent accéder à la mémoire RAM. Les ordinateurs modernes intègrent des techniques de '''''Direct Memory Access''''' (DMA) qui permettent aux entrées-sorties de lire ou d'écrire en mémoire RAM. Les transferts DMA se font sans intervention du processeur. Ils permettent de copier un bloc de plusieurs octets, dans deux sens : de la mémoire RAM vers une entrée-sortie, ou inversement. Le DMA demande d'ajouter un circuit dédié sur la carte mère : le contrôleur DMA. Il effectue la copie d'un paquet d'octets de la RAM vers l'entrée-sortie ou dans l'autre sens.
[[File:Réseau d'interconnexion avec un processeur au centre, et direct memory access.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre, et direct memory access]]
===Les bus systèmes===
La première solution utilise un bus unique, celui-ci est appelé le '''bus système''', aussi appelé ''backplane bus''. Le bus système est connecté à la mémoire RAM, la mémoire ROM, au processeur, et aux entrées-sorties. Tous les composants présents dans l'ordinateur sont connectés à ce bus, sans exception. De tels bus avaient pour avantage la simplicité. Le processeur n'est connecté qu'à un seul bus, ce qui utilise peu de broches et économise des fils. La mutualisation des bus est totale, le câblage est plus simple, la fabrication aussi.
[[File:Architecture minimale d'un ordinateur.png|centre|vignette|upright=2|Architecture minimale d'un ordinateur.]]
Un bus système contient un bus d'adresse, de données et de commande. Un bus système se marie bien avec des entrées-sorties mappées en mémoire. La conséquence est que le bus d'adresse ne sert pas que pour l'accès à la mémoire RAM/ROM, mais aussi pour l'accès aux entrées-sorties. Il y a moyen d'implémenter un système d'adresse séparés avec, mais c'est pas l'idéal.
[[File:Architecture Von Neumann avec les bus.png|centre|vignette|upright=2|Architecture Von Neumann avec les bus.]]
Un bus système n'a pas de limitations quant aux échanges de données. Le processeur peut communiquer directement avec les mémoires et les entrées-sorties, les entrées-sorties peuvent communiquer avec la mémoire RAM, etc. Notamment, un bus système peut implémenter le ''Direct Memory Access''. Il suffit juste de connecter un contrôleur DMA sur le bus système. Le contrôleur DMA est considéré comme une entrée-sortie, ses registres sont mappés en mémoire et sont donc accessibles directement par le processeur.
[[File:Bus système avec controleur DMA.png|centre|vignette|upright=2|Bus système avec contrôleur DMA.]]
Si on suit la définition à la lettre, un bus système est systématiquement une architecture Von Neumann, vu que la mémoire ROM et la mémoire RAM sont reliées sur le bus système. La conséquence est que les circuits de décodage d'adresse sont présents. Ils sont toujours sur la carte mère, et sont plus ou moins à côté du bus système. Cependant, le décodage d'adresse est parfois étendu pour tenir compte des entrées-sorties.
Les entrées-sorties soudées sur la carte mère ont elles aussi des entrées ''Chip Select'' ou quelque chose de similaire. Le décodage d'adresse peut alors les activer ou les désactiver suivant l'adresse envoyée sur le bus d'adresse. C'est ce qui arrive quand le processeur écrit dans un registre d’interfaçage : il envoie l'adresse de ce registre sur le bus d'adresse, le circuit de décodage d'adresse active seulement l'entrée-sortie associée.
Il faut noter que ce n'est pas systématique, il existe des techniques pour se passer de décodage d'adresse. Mais nous en reparlerons dans le chapitre sur les bus de communication.
[[File:Chipselectfr.png|centre|vignette|upright=1.5|Exemple détaillé.]]
Les bus systèmes sont certes très simples, mais ils ont aussi des désavantages. Par exemple, il faut éviter que le processeur et les entrées-sorties se marchent sur les pieds, ils ne peuvent pas utiliser le bus en même temps. De tels conflits d'accès au bus système sont fréquents et ils réduisent la performance, comme on le verra dans le chapitre sur les bus. De plus, un bus système a le fâcheux désavantage de relier des composants allant à des vitesses très différentes : il arrivait fréquemment qu'un composant rapide doive attendre qu'un composant lent libère le bus. Le processeur était le composant le plus touché par ces temps d'attente.
Elle était utilisée sur les tout premiers ordinateurs, pour sa simplicité. Elle était parfaitement adaptée aux anciens composants, qui allaient tous à la même vitesse. De nos jours, les ordinateurs à haute performance ne l'utilisent plus trop, mais elle est encore utilisée sur certains systèmes embarqués, en informatique industrielle dans des systèmes très peu puissants.
===Les bus d'entrées-sorties===
Les bus systèmes ont de nombreux problèmes, ce qui fait que d'anciens ordinateurs faisaient autrement. A la place d'un bus système unique, ils utilisent un bus séparé pour les mémoires, et un autre séparé pour les entrées-sorties. Le bus spécialisé pour la mémoire est appelé le '''bus mémoire''', l'autre bus est appelé le '''bus d'entrées-sorties'''. Le bus mémoire est généralement relié à la fois à la mémoire RAM et à la mémoire ROM, les exceptions ne sont pas rares, cependant.
[[File:Bus mémoire séparé du bus pour les IO.png|centre|vignette|upright=2|Bus mémoire séparé du bus pour les IO]]
Les bus d'entrée-sorties peuvent être spécialisés et simplifiés. Par exemple, ils peuvent avoir un bus de commande différent de celui de la mémoire, qui utilise nettement moins de fils. Le bus d'adresse peut aussi être réduit, et utiliser des adresses plus courtes que celles du bus mémoire. Les bus de données peuvent aussi être de taille différentes. Il est ainsi possible d'avoir un bus mémoire capable de lire/écrire 64 bits à la fois, alors que la communication avec les entrées-sorties se fait octet par octet ! En général, les bus d'entrée-sortie sont assez petits, ils ont une taille de 8 ou 16 bits, même si le bus mémoire est plus grand. Cela permet de ne pas gaspiller trop de broches. Ajouter un bus d'entrée-sortie n'est donc pas très gourmand en broches et en fils.
: Il est en théorie possible d'avoir une fréquence différente pour les deux bus, avec un bus mémoire ultra-rapide et un bus pour les entrées-sorties est un bus moins rapide. Mais il faut que le processeur soit prévu pour, et c'est très rare.
Niveau performances, le processeur peut théoriquement accéder à la mémoire en attendant qu'une entrée/sortie réponde, mais il faut que le processeur soit prévu pour, et ce n'est pas de la tarte. Par contre, cela implique d'avoir des adresses séparées pour les registres d’interfaçage et la mémoire. En clair : pas d'entrée-sortie mappée en mémoire ! Un autre problème est que les entrées-sorties ne peuvent pas communiquer avec la mémoire directement, elles doivent passer par l'intermédiaire du processeur. En clair : pas de ''Direct Memory Access'' ! Les deux sont des défauts rédhibitoires pour les programmeurs système, notamment pour ceux qui codent les pilotes de périphériques.
Pour résumer, les défauts sont assez problématiques : pas d'entrées-sorties mappées en mémoire, pas de ''Direct Memory Access'', économie de broches limitée. Les deux premiers sont des défauts majeurs, qui font que de tels bus ne sont pas utilisés dans les ordinateurs modernes. A la place, ils utilisent une troisième solution, distincte des bus systèmes et des bus d'entrée-sorties.
===Les bus avec répartiteur===
Il existe une méthode intermédiaire, qui garde deux bus séparés pour la mémoire et les entrées-sorties, mais élimine les problèmes de brochage sur le processeur. L'idée est d'intercaler, entre le processeur et les deux bus, un '''circuit répartiteur'''. Il récupère tous les accès et distribue ceux-ci soit sur le bus mémoire, soit sur le bus des périphériques. Le ou les répartiteurs s'appellent aussi le '''''chipset''''' de la carte mère.
C'était ce qui était fait à l'époque des premiers Pentium. À l'époque, la puce de gestion du bus PCI faisait office de répartiteur. Elle mémorisait des plages mémoires entières, certaines étant attribuées à la RAM, les autres aux périphériques mappés en mémoire. Elles utilisaient ces plages pour faire la répartition.
[[File:IO mappées en mémoire avec séparation des bus.png|centre|vignette|upright=2|IO mappées en mémoire avec séparation des bus]]
Niveau adresses des registres d'interfacage, il est possible d'avoir soit des adresses unifiées avec les adresses mémoire, soit des adresses séparées.
L'usage d'un répartiteur ne pose pas de problèmes particuliers pour implémenter le DMA. La seule contrainte est que le contrôleur DMA soit intégré dans le répartiteur. Les échanges entre IO et mémoire passent par le répartiteur, qui fait le pont entre bus mémoire et bus des IO.
[[File:Implémentation du DMA avec un répartiteur.png|centre|vignette|upright=2|Implémentation du DMA avec un répartiteur]]
==Les microcontrôleurs et ''system on chip''==
Parfois, on décide de regrouper la mémoire, les bus, le CPU et les ports d'entrée-sortie dans un seul circuit intégré, un seul boitier. L'ensemble forme alors ce qu'on appelle un '''''System on Chip''''' (système sur une puce), abrévié en SoC. Le nom est assez explicite : un SoC comprend un système informatique complet sur une seule puce de silicium, microprocesseurs, mémoires et périphériques inclus. Ils incorporent aussi des ''timers'', des compteurs, et autres circuits très utiles.
[[File:ARMSoCBlockDiagram.svg|centre|vignette|upright=2|SoC basé sur un processeur ARM, avec des entrées-sorties typiques de celles d'un µ-contrôleur. Le support du bus CAN, d'Ethernet, du bus SPI, d'un circuit de PWM (génération de signaux spécifiques), de convertisseurs analogique-digital et inverse, sont typiques des µ-contrôleurs.]]
Le terme SoC regroupe des circuits imprimés assez variés, aux usages foncièrement différents et à la conception distincte. Les plus simples d’entre eux sont des microcontrôleurs, qui sont utilisés pour des applications à base performance. Les plus complexes sont utilisés pour des applications qui demandent plus de puissance, nous les appellerons SoC haute performance.
La relation entre SoC et microcontrôleurs est assez compliquée à expliquer, la terminologie n'est pas clairement établie. Il existe quelques cours/livres qui séparent les deux, d'autres qui pensent que les deux sont très liés. Dans ce cours, nous allons partir du principe que tous les systèmes qui regroupent processeur, mémoire et quelques périphériques/entrées-sorties sont des SoC. Les microcontrôleurs sont donc un cas particulier de SoC, en suivant cette définition.
===Les microcontrôleurs===
Les '''microcontrôleurs''' sont des composants utilisés dans l'embarqué ou d'informatique industrielle. Leur nom trahit leur rôle. Ils sont utilisés pour contrôler de l'électroménager, des chaines de fabrication dans une usine, des applications robotiques, les alarmes domestiques, les voitures. De manière générale, on les trouve dans tous les systèmes dits embarqués et/ou temps réel. Ils ont besoin de s'interconnecter à un grand nombre de composants et intègrent pour cela un grand nombre d'entrée-sorties. Les microcontrôleurs sont généralement peu puissants, et doivent consommer peu d'énergie/électricité.
[[File:Microcontroller 8051.gif|centre|vignette|upright=2.5|Microcontrôleur Intel 8051.]]
Un microcontrôleur tend à intégrer des entrées-sorties assez spécifiques, qu'on ne retrouve pas dans les SoC destinés au grand public. Un microcontrôleur est typiquement relié à un paquet de senseurs et son rôle est de commander des moteurs ou d'autres composants. Et les entrées-sorties intégrées sont adaptées à cette tâche. Par exemple, ils tendent à intégrer de nombreux convertisseurs numériques-analogiques pour gérer des senseurs. Ils intègrent aussi des circuits de génération de signaux PWM spécialisés pour commander des moteurs, le processeur peut gérer des calculs trigonométriques (utiles pour commander la rotation d'un moteur), etc.
Fait amusant, on en trouve dans certains périphériques informatiques. Par exemple, les anciens disques durs intégraient un microcontrôleur qui contrôlait plusieurs moteurs/ Les moteurs pour faire tourner les plateaux magnétiques et les moteurs pour déplacer les têtes de lecture/écriture étaient commandés par ce microcontrôleur. Comme autre exemple, les claviers d'ordinateurs intègrent un microcontrôleur connecté aux touches, qui détecte quand les touches sont appuyées et qui communique avec l'ordinateur. Nous détaillerons ces deux exemples dans les chapitres dédiés aux périphériques et aux disques durs, tout deviendra plus clair à ce moment là. La majorité des périphériques ou des composants internes à un ordinateur contiennent des microcontrôleurs.
===Les SoC haute performance===
Les SoC les plus performants sont actuellement utilisés dans les téléphones mobiles, tablettes, ''Netbook'', ''smartphones'', ou tout appareil informatique grand public qui ne doit pas prendre beaucoup de place. La petite taille de ces appareils fait qu'ils gagnent à regrouper toute leur électronique dans un circuit imprimé unique. Mais les contraintes font qu'ils doivent être assez puissants. Ils incorporent des processeurs assez puissants, surtout ceux des ''smartphones''. C'est absolument nécessaire pour faire tourner le système d'exploitation du téléphone et les applications installées dessus.
Niveau entrées-sorties, ils incorporent souvent des interfaces WIFI et cellulaires (4G/5G), des ports USB, des ports audio, et même des cartes graphiques pour les plus puissants d'entre eux. Les SoC incorporent des cartes graphiques pour gérer tout ce qui a trait à l'écran LCD/OLED, mais aussi pour gérer la caméra, voire le visionnage de vidéo (avec des décodeurs/encodeurs matériel). Par exemple, les SoC Tegra de NVIDIA incorporent une carte graphique, avec des interfaces HDMI et VGA, avec des décodeurs vidéo matériel H.264 & VC-1 gérant le 720p. Pour résumer, les périphériques sont adaptés à leur utilisation et sont donc foncièrement différents de ceux des microcontrôleurs.
[[File:Phone hardware.png|centre|vignette|upright=2|Hardware d'un téléphone. On voit qu'il est centré autour d'un SoC, complété par de la RAM, un disque dur de faible capacité, de quoi gérer les entrées utilisateurs (l'écran tactile, les boutons), et un modem pour les émissions téléphoniques/2G/3G/4G/5G.]]
Un point important est que les processeurs d'un SoC haute performance sont... performants. Ils sont le plus souvent des processeurs de marque ARM, qui sont différents de ceux utilisés dans les PC fixe/portables grand public qui sont eux de type x86. Nous verrons dans quelques chapitres en quoi consistent ces différences, quand nous parlerons des jeux d'instruction du processeur. Autrefois réservé au monde des PCs, les processeurs multicœurs deviennent de plus en plus fréquents pour les SoC de haute performance. Il n'est pas rare qu'un SoC incorpore plusieurs cœurs. Il arrive même qu'ils soient foncièrement différents, avec plusieurs cœurs d'architecture différente.
La frontière entre SoC haute performance et microcontrôleur est de plus en plus floue. De nombreux appareils du quotidien intègrent des SoC haute performance, d'autres des microcontrôleurs. Par exemple, les lecteurs CD/DVD/BR et certains trackers GPS intègrent un SoC ou des processeurs dont la performance est assez pêchue. À l'opposé, les systèmes domotiques intègrent souvent des microcontrôleurs simples. Malgré tout, les deux cas d'utilisation font que le SoC/microcontrôleur est connecté à un grand nombre d'entrées-sorties très divers, comme des capteurs, des écrans, des LEDs, etc.
[[File:GPS tracker Hardware Architecture.png|centre|vignette|upright=2|Hardware d'un tracker GPS.]]
==Étude de quelques exemples d'architectures==
Après avoir vu la théorie, nous allons voir des exemples réels d'ordinateurs. Dans ce qui suit, nous allons voir des ordinateurs assez anciens, pour une raison simple : ils collent assez bien à l''''architecture de base''' vue plus haut, avec un CPU, une RAM et une ROM, quelques entrées-sorties. Tous les ordinateurs modernes, mais aussi dans les smartphones, les consoles de jeu et autres, utilisent une architecture grandement modifiée et améliorée, avec un grand nombre de périphériques, disques durs/SSD, un grand nombre de mémoires différentes, etc.
Il pourrait sembler pertinent d’étudier des microcontrôleurs ou des ''System On Chip'', en premier lieu. Mais nous éviterons soigneusement de tels systèmes pour le moment. La raison est qu'ils ont un grand nombre d'entrées-sorties, qui sont peu familières. Attendez-vous à avoir près d'une vingtaine ou centaine d'entrée-sorties différentes pour de tels systèmes. Le tout est très complexe, bien trop pour un premier exemple. A la place, nous allons voir précisément des exemples plus simples : les premiers PC, et des consoles de jeu 8 et 16 bits.
Bien que ce soit des systèmes très simples, ils sont cependant plus complexes que l'architecture de base. Et leur avantages/désavantages sont un peu inverse l'un de l'autre. Si on devait résumer les différences, on aurait ceci :
* Les PC ont plus d'entrées-sorties que les consoles, bien que nettement moins que pour les microcontrôleurs/SoC.
* Les PC utilisent des disques durs, les consoles font avec soit des cartouches de jeu, soit des CD/DVD.
* Les PC utilisent des cartes électroniques séparées pour le son et l'écran, les consoles utilisent des circuits soudés sur la carte mère, qui sont souvent des co-processeurs.
* Les PC ont une mémoire ROM soudées sur la carte mère, les consoles 8 bits font sans.
Les PC et micro-ordinateurs ont plus d'entrées-sorties que les consoles. Même si on mets de côté les périphériques, ils ont aussi beaucoup de composants soudées sur la carte mère. En comparaison, les consoles de jeu 8/16 bits se débrouillent avec : une cartouche de jeu et une manette en entrée, une sortie vidéo et une sortie son.
Un autre point important est l'absence de disque dur ou de lecteur CD. La présence d'un disque dur ou d'un lecteur CD/DVD complexifie tout de suite l'architecture des PC. Il faut leur réserver un bus dédié ou les connecter à un bus système, cela demande d'ajouter des circuits sur la carte mère, etc. Et surtout, il faut expliquer comment l'ordinateur exécute des programmes, ce qui demande de parler de l'interaction avec le disque dur et la ROM du BIOS. Rien de tout cela sur les consoles de jeu 8 et 16 bits. Elles utilisent à la place des cartouches de jeu, qui intègrent une mémoire ROM, pour mémoriser les données du jeu, voire son code. Pas besoin de parler des mémoires de stockage, on est beaucoup plus proche de l'architecture de base avec une ROM unique.
Par contre, n'allez pas croire que tout est rose avec les consoles 8/16 bits. Il y a quelques différences qui font qu'elles sont plus complexes qu'un PC sur certains points.
Les PC utilisent des cartes électroniques à brancher sur la carte mère pour alimenter l'écran et les hauts-parleurs/casques, alors que les consoles de jeu utilisent des souvent co-processeurs dédiés pour le son et les graphismes. La différence parait mineure, mais elle avantage les consoles. Nous avons déjà expliqué ce que sont les co-processeurs plus haut, aussi les co-processeurs des consoles nous paraitrons familiers. On n'a pas à s’embêter à expliquer ce que sont les cartes d'extension, les bus associés et tout ce qui va avec, cela peut être retardé pour la section sur l'architecture des PC.
La gestion de la cartouche de jeu est aussi un peu subtile à comprendre, bien que ce soit bien plus simple à comprendre qu'un système avec un disque dur. Les cartouches de jeu intègrent une mémoire ROM, pour mémoriser les données du jeu, voire son code. Et le processeur doit exécuter le code depuis cette mémoire ROM. La conséquence est que les consoles 8/16 bits utilisent une architecture Harvard, avec un bus relié à la cartouche pour lire les instructions. Mais si ce n'était que ça... Les cartouches mémorisent aussi les données pour les graphismes, ce qui fait que le co-processeur vidéo doit lui aussi lire la cartouche pour récupérer ces données...
===L'architecture de la TurboGraphX-16===
La console PC Engine, aussi appelée TurboGraphX, est une ancienne console 8 bits. Elle contient un processeur 65C02, 8 kibioctets de RAM, un port manettes, une carte son et une carte vidéo. La '''carte son''' est le composant qui s'occupe de commander les haut-parleurs et de gérer tout ce qui a rapport au son. La '''carte graphique''' est le composant qui est en charge de calculer les graphismes, tout ce qui s'affiche à l'écran. Sur cette console, les cartes son et graphique ne sont PAS des co-processeurs, ce sont des circuits électroniques dits fixes. C'est totalement différent de ce qu'on a sur les consoles modernes, aussi le préciser est important.
Bien que la carte graphique ne soit pas un processeur, elle a 64 kibioctets de RAM rien que pour elle. La RAM en question est séparée de la RAM normale, c'est un circuit intégré séparé. Et c'est un cas très fréquent, qui reviendra par la suite. La majeure partie des cartes graphiques dispose de leur propre '''mémoire vidéo''', totalement réservée à la carte graphique. La RAM vidéo est connectée à la carte graphique via un bus séparé. Le processeur est souvent connecté à ce bus, afin de pouvoir écrire des données dedans, mais ce n'est pas le cas ici.
[[File:Architecture de la PC Engine, aussi appelée TurboGrafx-16.png|centre|vignette|upright=2.5|Architecture de la PC Engine, aussi appelée TurboGrafx-16]]
L'architecture de la console était particulièrement simple. Le processeur était le centre de l'architecture, tout était connecté dessus. Il y a un bus pour la cartouche de jeu, un autre pour la RAM, un autre pour les manettes, un autre pour carte son, et un dernier pour la carte graphique. Le fait d'avoir un bus par composant est assez rare et ce n'est le cas ici que parce des conditions particulières sont remplies. Déjà, il y a peu d'entrée-sorties. Ensuite, les bus font tous 8 bits, vu que le processeur est un CPU 8 bits. Avec 5 connexions de 8 bits, le tout utilise 40 broches, ce qui est beaucoup, mais totalement gérable. Par contre, les choses changerons pour les autres consoles.
Au final, l'organisation des bus peut s'expliquer avec ce qu'on a vu dans la section sur les bus de communication. La console utilise une architecture Harvard, car la ROM et la RAM utilisent des bus différents. De plus, il y a des bus dédiés aux entrées-sorties, séparés des bus mémoire. Enfin, la carte graphique a droit à ses propres bus pour lire dans la cartouche et dans sa RAM vidéo dédiée.
===L'architecture de la console de jeu NES===
Maintenant, nous allons voir la console de Jeu Famicom, aussi appelée la NES en occident. Elle a une architecture centrée sur un processeur Ricoh 2A03, similaire au processeur 6502, un ancien processeur autrefois très utilisé et très populaire. Le processeur est associé à 2 KB de mémoire RAM.
Sur certaines cartouches, on trouve une RAM utilisée pour les sauvegardes, qui est adressée par le processeur directement. Première variation par rapport à l'architecture de la console précédente : l'ajout de la RAM pour les sauvegardes dans les cartouches.
Niveau carte graphique, une différence importante est que la carte graphique est connectée à la cartouche de jeu via un autre bus, afin de pouvoir lire les sprites et textures du jeu dans la cartouche.
[[File:Architecture de la NES.png|centre|vignette|upright=2.5|Architecture de la NES]]
La différence avec l'architecture précédente est que des bus ont été fusionnés. Comme dit plus haut, le système utilise une architecture Harvard, vu que la ROM est dans la cartouche, alors que la RAM est soudée à la carte mère. Par contre, la Famicon utilise un bus dédié aux entrées-sorties. Il est utilisé pour la carte son et la carte graphique, seules les manettes sont sur un bus à part. Ce qui fait qu'on devrait plutôt parler de bus de sorties, mais passons... L'essentiel est qu'on n'est plus tout à fait dans le cas de la console précédente, avec un bus par composant.
===L'architecture de la SNES===
L'architecture de la SNES est illustrée ci-dessous. Les changements pour le processeur et la RAM sont mineurs.La RAM a augmenté en taille et passe à 128 KB. Pareil pour la RAM de la carte vidéo, qui passe à 64 KB. Par contre, on remarque un changement complet au niveau des bus, de la carte graphique et de la carte son.
[[File:Architecture de la SNES.png|centre|vignette|upright=2|Architecture de la SNES]]
La console utilise un '''bus système unique''', sur lequel tout est connecté : ROM, RAM, entrées-sorties, etc. La seule exception est pour les manettes, qui sont encore connectées directement sur le processeur, via un bus séparé. La transition vers un bus système s'explique par le fait que la console est maintenant de 16 bits, ce qui fait que les bus doivent être plus larges. Le processeur adresse des mémoires RAM et ROM plus grandes, ce qui double la taille de leurs bus. De plus, les entrées-sorties aussi ont besoin d'un bus plus large. Le processeur n'ayant pas un nombre illimité de broches, la seule solution est de fusionner les bus en un seul bus système.
Un autre changement est que la carte graphique est maintenant composée de deux circuits séparés. Encore une fois, il ne s'agit pas de coprocesseurs, mais de circuits non-programmables. Par contre, la carte son est remplacée par deux coprocesseurs audio ! De plus, les deux processeurs sont connectés à une mémoire RAM dédiée de 64 KB, comme pour la carte graphique. L'un est un processeur 8 bits (le DSP), l'autre est un processeur 16 bits.
Un point très intéressant : certains jeux intégraient des coprocesseurs dans leurs cartouches de jeu ! Par exemple, les cartouches de Starfox et de Super Mario 2 contenait un coprocesseur Super FX, qui gérait des calculs de rendu 2D/3D. Le Cx4 faisait plus ou moins la même chose, il était spécialisé dans les calculs trigonométriques, et diverses opérations de rendu 2D/3D. En tout, il y a environ 16 coprocesseurs d'utiliser et on en trouve facilement la liste sur le net. La console était conçue pour, des pins sur les ports cartouches étaient prévues pour des fonctionnalités de cartouche annexes, dont ces coprocesseurs. Ces pins connectaient le coprocesseur au bus des entrées-sorties. Les coprocesseurs des cartouches de NES avaient souvent de la mémoire rien que pour eux, qui était intégrée dans la cartouche.
===L'architecture de la Megadrive et de la néo-géo===
Passons maintenant à la console de jeu Megadrive, une console 16 bits. Elle a une architecture similaire à celle de la néo-géo, une autre console bien plus puissante, sorti à peu près en même temps. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 et le Motorola 68000 étaient deux processeurs très populaires à l'époque. Le Z80 est une sorte de version améliorée de l'Intel 8088 utilisé sur les anciens PC et de nombreuses consoles utilisaient des Z80 comme processeur principal. Il était familier pour les programmeurs de l'époque, pour son cout réduit, sa bonne disponibilité, et bien d'autres avantages liés à sa production de masse.
Le Z80 est utilisé comme co-processeur audio. Il commande un synthétiseur sonore, et est relié à sa propre mémoire, distincte de la mémoire principale. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Le Motorola 68000 était un processeur 16 bits, alors que le Z80 est un processeur 8 bits. Et cette différence fait que l'on ne peut pas connecter directement les deux sur le même bus, ou du moins pas facilement. La solution retenue est d'utiliser deux bus séparés : un bus de 16 bits connecté au 68000, un bus de 8 bits connecté au Z80. Le premier bus est un bus système sur lequel est connecté le 68000, 64 kibioctets de RAM, la cartouche de jeu, et la carte graphique. Le second bus est un bus de 8 bits, plus court, relié au Z80, à un synthétiseur sonore, et 8 kibioctets de RAM
Les deux bus sont connectés à un '''''chipset''''', un circuit répartiteur, qui fait le pont entre les deux bus. Les manettes sont connectées sur le ''chipset''. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'un programme pré-déterminé sur le Z80.
: Pour ceux qui savent ce qu'est une interruption, les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Cet exemple nous montre que les bus systèmes sont certes très simples, mais aussi inflexibles. Ils fonctionnent bien quand les composants branchés dessus sont tous des composants 8 bits, ou sont tous de 16 bits, ou tous 32 bits. Mais dès qu'on mélange composants 8, 16, 32 ou 64 bits, les choses deviennent plus compliquées. Il est alors préférable d'utiliser des bus séparés, avec des répartiteurs pour faire le pont entre les différents bus. Et nous verrons que le problème s'est posé lui aussi sur les PC.
===L'architecture des anciennes consoles Playstation : beaucoup de co-processeurs===
Les consoles que nous venons d'aborder étaient des consoles 8 ou 16 bits. A partir des consoles 32 bits, leur architecture s'est rapprochée de celle des PC, avec un usage plus complexes de répartiteurs. La XBOX était très semblable à un PC : le processeur était un Pentium 3 modifié, la carte graphique était une Geforce 3 modifiée, les 64 mébioctets de RAM était la même mémoire DDR que celle des PC, le répartiteur secondaire était un ''chipset'' nForce de NVIDIA, etc. Mais les Playstation 1, 2 et 3 se distinguent de leur contemporains. Elles disposent de très nombreux co-processeurs, qui sont en plus très variés.
La Playstation 1 a été une des premières console à utiliser les CD-ROM comme support de stockage, en remplacement des cartouches. La conséquence est que la console contient une mémoire ROM, soudée à la carte mère, de 512 kibioctets. Elle contient aussi 2 mébioctets de RAM, une carte graphique avec 1 mébioctet de mémoire vidéo, un processeur, et de quoi gérer les périphériques. Il y a un co-processeur audio spécialisé, avec 512 kibioctets de RAM, ce qui nous est familier. Par contre, les autres co-processeurs ne le sont pas.
Déjà, le lecteur de CD-ROM est associé à des circuits sur la carte mère, il y a tout un sous-système dédié au lecteur de CD. Il y a un contrôleur qui sert d'interface avec le lecteur proprement dit, mais aussi deux co-processeurs audio et 32 kibioctets de RAM. Les co-processeurs audio servent à lire des CD sans trop utiliser le second co-processeur audio, ils lui servent de complément.
Ensuite, le processeur incorpore plusieurs cœurs, avec un cœur principal et plusieurs co-processeurs. Le premier est un co-processeur système, qui est utilisé pour gérer la mémoire cache intégrée au processeur, pour des fonctionnalités appelées interruptions et exceptions, ainsi que pour configurer le processeur. Le second est un co-processeur arithmétique spécialisé dans les calculs en virgule flottante, très importants pour le rendu 3D. Enfin, il y a un décodeur vidéo, qui n'est pas un co-processeur, mais un circuit non-programmable, spécialisé dans le décodage vidéo. De nos jours, ce circuit aurait été intégré dans la carte graphique, mais il était intégré dans le processeur sur la Playstation 2.
Pour le reste, le processeur est la figure centrale de la console. Il est connecté à 4 bus : un pour la RAM, un pour la carte graphique, un pour les manettes, un autre pour le reste. Le dernier bus est connecté au système audio et au système pour le lecteur CD. Ce serait un bus d'entrée-sortie, s'il n'était pas connecté à la mémoire ROM. Vous avez bien lu : la mémoire ROM est reliée au bus d'entrée-sortie.
[[File:Architecture de la Playstation.png|centre|vignette|upright=2.5|Architecture de la Playstation]]
La Playstation 2 est composé d'un processeur, couplé à 32 Mébioctets de RAM, et d'un paquet de co-processeurs. Plus de co-processeurs que la PS1. Le processeur principal n'est pas la même que celui de la PS1, mais il a une architecture similaire. Il intègre un décodeur vidéo sur le même circuit intégré, ainsi que deux co-processeur. Les co-processeurs ne sont cependant pas les mêmes.
Le co-processeur système disparait et est remplacé par un second co-processeur arithmétique. Les deux co-processeurs arithmétiques sont spécialisés dans les nombres flottants, avec quelques différences entre les deux. Par exemple, le second co-processeur gérait des calculs trigonométriques, des exponentielles, des logarithmes, et d'autres fonctions complexes du genre ; mais pas le premier co-processeur. Ils sont reliés à 4 kibioctets de RAM pour le premier, 16 kibioctets de RAM pour le second ; qui sont intégrées dans le processeur et non-représentés dans le diagramme ci-dessous.
La PS2 intègre aussi un co-processeur d'entrées-sorties. Pour information, il s'agit du processeur principal de la Playstation 1, qui est ici utilisé différemment, suivant que l'on place un jeu PS1 ou PS1 dans la console. Si on met un jeu PS1, il est utilisé pour émuler la Playstation 1, afin de faire tourner le jeu PS1 sur la PS2. Si on met un jeu PS2, il est utilisé comme co-processeur d'entrée-sortie et fait l'interface entre CPU et entrées-sorties. Il est relié à 2 mébioctets de RAM, soit exactement la même quantité de mémoire que la Playstation 1.
Tous les périphériques sont connectés au co-processeur d'entrées-sortie. Pour cela, le co-processeur d'entrées-sortie est relié à deux bus dédiés aux périphériques. Le premier bus est relié aux manettes, aux ports USB et aux ports pour cartes mémoires. Le second bus est relié à la carte son, la carte réseau, le lecteur DVD, et un port PCMIA. Notons que la carte son intègre un co-processeur audio, qui n'est pas représenté dans le diagramme ci-dessous.
[[File:Playstation 2 architecture.png|centre|vignette|upright=2.5|Playstation 2 architecture]]
==L'architecture des PC et son évolution==
Après avoir vu les consoles, nous allons maintenant voir les anciens PC, des années 80 ou 90. Le tout premier PC était techniquement l''''IBM PC'''. Par la suite, de nombreux ordinateurs ont tenté de reproduire l'IBM PC originel, avec parfois quelques modifications mineures. De tels ordinateurs ''IBM PC compatibles'', ont été très nombreux, pour des raisons diverses. Le fait d'utiliser des composants banalisés, facilement disponibles, ainsi qu'une bonne documentation de l'IBM PC originel, a grandement aidé. Les IBM PC compatibles ont progressivement évolué pour donner les PC actuels. L'IBM PC compatible a donné naissance à de nombreux standards divers.
===L'IBM PC originel et l'IBM PC XT===
[[File:IBM PC XT 02.jpg|vignette|IBM PC XT.]]
Nous allons commencer par voir l'IBM PC originel, et son successeur : l'IBM Personal Computer XT. Nous les appelerons tous deux l'IBM PC. L'IBM PC utilisait un processeur Intel 8088, qui était un processeur 8 bits. Ils utilisaient un bus système unique, appelé le '''bus XT'''. Le bus système allait à 4.77 MHz, soit la même fréquence que le processeur. C'était un bus de 8 bits, ce qui collait parfaitement avec les processeurs 8 bits commercialisés par Intel à l'époque.
L'IBM PC comprenait une mémoire ROM avec de quoi faire fonctionner le PC. La ROM en question contenait un programme minimal, appelé le '''BIOS''', sans lequel le PC ne fonctionnait pas du tout. Il servait de base pour le système d'exploitation et MS-DOS ne fonctionnait pas sans elle. De nos jours, son rôle est plus limité : sans elle, le PC ne démarre pas. Mais nous détaillerons cela dans le prochain chapitre.
En plus de la ROM pour le BIOS, l'IBM PC avait quatre mémoires ROM dédiée au langage de programmation BASIC. Lorsque le PC démarrait, il ne bootait pas un système d'exploitation, mais lançait l'interpréteur pour le langage BASIC. De nos jours, ce serait l'équivalent d'un ordinateur qui boote directement sur du Python, à savoir la console Python que vous avez peut-être déjà utilisé si vous avez testé Python. Ceux qui ont déjà touché à un ordinateur de l'époque savent ce que ca veut dire, mais c'est malheureusement très difficile à expliquer sans ce genre d'expérience. Toujours est-il que c'était une sorte de norme à l'époque
: les ordinateurs bootaient généralement sur un interpréteur BASIC.
[[File:XT Bus pins.svg|vignette|Connecteur du bus XT.]]
Les PC étaient conçus pour qu'on branche des '''cartes d'extension''', à savoir des cartes électroniques qu'on branchait sur la carte mère, à l'intérieur du PC. Les cartes d'extension de l'époque étaient surtout des cartes son ou des cartes graphiques, mais aussi des cartes pour brancher des péripéhriques. par exemple, on pouvait ajouter deux cartes graphiques dans l'IBM PC originel : l'''IBM Monochrome Display Adapter'' et/ou la ''IBM Color Graphics Adapter''. De nos jours, les cartes son sont intégrées à la carte mère, mais les cartes graphiques sont restées des cartes d'extension.
Les cartes d'extension étaient branchées sur un '''connecteur XT''', qui était directement relié au bus XT. Le connecteur XT est illustré ci-contre, mais ne vous en souciez pas trop pour le moment. La carte mère de l'IBM PC avait 5 connecteurs de ce type, qu'on pouvait peupler avec autant de cartes d'extension. L'IBM Personal Computer XT est passé à 8 connecteurs XT, soit trois de plus.
Pour ce qui est des périphériques, l'IBM PC avait plusieurs connecteurs : un port série, un port parallèle, un port pour le clavier, et un port pour un lecteur cassette. Le clavier et le lecteur cassette étaient connectés directement sur la carte mère, qui contenait quelques circuits pour gérer le clavier. Par contre, les deux premiers n'étaient pas connectés à la carte mère. Le port série était en réalité une carte d'extension, branchée sur un connecteur XT. Et il en est de même pour le port parallèle.
Pour ce qui est des supports de stockage, l'IBM PC originel n'avait pas de disque dur et n'avait que des lecteurs de disquette. De plus, le lecteur de disquette n'était pas connecté directement sur la carte mère, mais était connecté à une carte d'extension, branchée sur un connecteur XT. La carte d'extension avait deux connecteurs, un par lecteur de disquette, ce qui fait que les deux lecteurs de disquettes pouvaient être branchés sur une seule carte d'extension. L'IBM Personal Computer XT a ajouté un disque dur, sauf sur quelques sous-modèles spécifiques.
Le PC avait aussi un petit haut-parleur capable de faire des bips.
Pour résumer, l'IBM PC originel se reposait beaucoup sur les cartes d'extension, sa carte mère contenait peu de choses. Enfin, peu de choses... Il y avait un processeur Intel 8088, éventuellement un coprocesseur flottant 8087, de la RAM, de la ROM, et des circuits intégrés assez divers. En voici la liste, certains vous seront familiers, d'autres vous seront inconnus à ce stade du cours :
* les circuits de décodage d'adresse ;
* un contrôleur DMA intel 8273 ;
* un contrôleur d'interruption 8259 ;
* un contrôleur de bus Intel 8288 pour gérer le bus XT ;
* un générateur d'horloge Intel 8284 et un diviseur de fréquence ;
* un ''timer'' Intel 8253, le même que celui étudié dans le chapitre sur les ''timers'' ;
* un contrôleur parallèle 8255.
Les multiplexeurs, registres et portes logiques, sont des circuits de décodage d'adresse, qui permettent de combiner plusieurs RAM en une seule, idem avec la mémoire ROM. Si vous verrez qu'il y a 5 mémoires ROM : une ROM pour le BIOS, et quatre autres ROM pour le BASIC. Les 4 ROM du BASIC sont combinées en une seule mémoire ROM. Pour les RAM, il y en a 8 à 32, qui sont combinées en une seule RAM de 16 à 64 kibioctets.
[[File:IBM 5150 Motherboard.svg|centre|vignette|upright=3|Carte mère de l'IBM 5150, un modèle de l'IBM PC.]]
===L'architecture d'un IBM PC compatible 16 bits===
Les PC suivants sont passés à des processeurs 16 bits, mais c'était toujours des processeurs x86 d'Intel, à savoir des Intel 286 et 386. La RAM a grossi, quelques entrées-sorties ont été ajoutées, mais l'architecture globale est plus moins resté le même. C'est surtout au niveau du bus et des périphériques que les changements majeurs ont eu lieu.
[[File:ISA Bus pins.svg|vignette|Connecteur ISA.]]
Les PC 16 bits utilisaient un bus système unique, sur lequel tout était connecté : le processeur, la RAM, la ROM, les cartes d'extension et tout le reste. Le bus en question s'appelait le '''bus AT''', mais il a rapidement été renommé en '''bus ISA''' (''Industry Standard Architecture''). Le bus ISA était prévu pour avoir une compatibilité avec le bus 8 bits de l'IBM PC originel. D'ailleurs, cela se ressent jusque dans le connecteur utilisé : le connecteur ISA est un connecteur XT qu'on a fusionné avec un second connecteur pour l'étendre de 8 à 16 bits.
Les PC 16 bits avaient toujours un port série, un port parallèle, un clavier, un lecteur de disquette et des cartes d'extension. Des disques durs pouvaient être ajoutés, aussi. Mais pour ces périphériques, un changement majeur a eu lieu comparé à l'IBM PC originel. L'IBM PC originel utilisait des cartes d'extension pour tout, sauf le clavier. Mais maintenant, les périphériques ne sont plus connectés à une carte d'extension. A la place, les circuits de la carte d'extension sont déplacés sur la carte mère. Mais n'allez pas croire qu'ils étaient connectés directement au bus ISA, il y avait des intermédiaires.
Le clavier était relié à un '''contrôleur de clavier''', qui faisait l'interface entre le connecteur du clavier et le bus ISA. Le contrôleur de clavier était appelé le ''Keyboard Controler'', abrévié en KB. Il recevait ce qui est tapé au clavier et traduisait cela en quelque chose de compréhensible par l'ordinateur.
Les autres périphériques étaient connectés à un circuit intégré dédié : l''''Intel 82091AA'''. Il était connecté au lecteur de disquette, au port série et au port parallèle. Il servait d'intermédiaire entre ces périphériques et le bus ISA. Vous pouvez le voir comme une sorte de répartiteur, mais qui ne serait pas connecté sur le processeur et la RAM
Enfin, il ne faut pas oublier les autres composants présents sur l'IBM PC originel. Le BIOS est toujours là, de même que les ''timers'' Intel 8253 PIT, le contrôleur d'interruption Intel 8259 et le contrôleur DMA Intel 8237. Les PC 16 bits ont aussi intégré une ''Real Time Clock'' (RTC). Pour rappel, c'est un composant qui permet au PC de mémoriser la date et l'heure courante, à la seconde près. Le tout est résumé dans le schéma ci-dessous.
[[File:Architecture de l'IBM PC compatible.png|centre|vignette|upright=2.5|Architecture de l'IBM PC compatible]]
Un point important est que le bus ISA allait à la même fréquence que le processeur, vu que c'était un bus système. Les processeurs de l'époque étaient des CPU 286 d'Intel, ou le 386 d'Intel. Les Intel 286 allaient de 4 MHz minimum, à 25 MHz maximum. Le 386, quant à lui, allait de 12 à 40 MHz. Le bus ISA devait aller à cette fréquence, il était synchrone avec le processeur.
Par la suite, les processeurs ont gagné en performance, ce qui fait que le bus ISA est devenu trop lent pour le processeur. Une idée a alors été de conserver le bus ISA, pour des raisons de compatibilité, mais de le reléguer comme bus secondaire. L'ordinateur contient alors deux bus : un bus système, et un bus ISA secondaire. Le lien entre les deux est réalisé par un '''pont ISA''', ''ISA Bridge'' en anglais. Le bus ISA fonctionnait alors sa fréquence usuelle, alors que le bus système était beaucoup plus rapide. Le bus système fonctionnait à une fréquence bien plus élevée, ce qui fait que le processeur pouvait communiquer à pleine vitesse, notamment avec la RAM. Le processeur n'était alors plus forcé à aller à la même fréquence que le bus ISA
[[File:Architecture de l'IBM PC compatible avec bridge ISA.png|centre|vignette|upright=2.5|Architecture de l'IBM PC compatible avec bridge ISA]]
Les PC de l'époque intégraient donc plusieurs bus séparés. Vous avez bien lu : plusieurs bus ! Ici, il s'agit de ce que j'appelle des '''bus en cascade''', à savoir qu'un bus est connecté à un autre bus par un intermédiaire. Au passage, si j'aborde ces exemples, car c'est pareil sur les ordinateurs modernes. Le pont ISA a été remplacé par des circuits différents, mais qui ont un rôle assez similaire. Le ''chipset'' de votre carte mère n'est qu'un lointain descendant du pont ISA, qui s'interface avec des bus différents.
===L'arrivée des standards AT et IDE pour les disques durs===
Initialement, les disques durs étaient placés dans l'ordinateur et étaient connectés sur le bus ISA, via une carte d'extension ISA. En clair, il fallait connecter le disque dur sur une carte d'extension, et non sur la carte mère. Les cartes d'extension en question permettaient de connecter un ou plusieurs disques durs, parfois des lecteurs de disquette supplémentaires. Les cartes ISA de ce type faisaient juste l'interface entre le bus ISA et les disques durs, rien de plus. L'interface en question a été standardisée, ce qui a donné le standard ''AT Bus Attachment'', qui a été abrévié en ATA.
Et ce n'était pas que pour les disques durs, de nombreux composants étaient dans ce cas. Une carte d'extension servait d'intermédiaire entre eux et la carte mère. Les cartes d'extension en question étaient appelées des ''Host bus adapter''.
[[File:Acculogic sIDE-4 Controller ISA.jpg|centre|vignette|upright=2|Carte ISA d'interface disque dur, de marque Acculogic.]]
Mais les choses ont rapidement évoluées, que ce soit du côté des cartes mères que du côté des disques durs. Le '''standard IDE''' a permis de brancher un disque dur directement sur la carte mère, sans passer par une carte d'interface ISA. Pour cela, la carte mère réservait un connecteur ISA pour le disque dur, renommé '''connecteur ATA'''. Pour que cela soit possible, il a fallu rajouter des circuits sur la carte mère. Tout ce qui était sur les cartes d'interface ISA s'est retrouvé sur la carte mère.
[[File:Ajout des ports IDE sur la carte mère.png|centre|vignette|upright=2|Ajout des ports IDE sur la carte mère]]
En réalité, les connecteurs ATA étaient des connecteurs ISA simplifiés. Un connecteur ISA avait en tout 98 broches, alors qu'un connecteur ATA n'en contient que 40. Les broches qui étaient inutiles pour les disques durs ont simplement été enlevées. Et qui dit connecteur spécialisé, dit câble spécialisé. Les disques durs étaient branchés sur le connecteur AT grâce à un câble ATA, sur lequel on pouvait connecter deux disques durs.
[[File:ATA Plug.svg|centre|vignette|upright=2|Connecteur ATA.]]
[[File:ATA cables.jpg|centre|vignette|upright=2|Cable ATA.]]
Il était donc possible de connecter deux disques durs sur un seul connecteur ATA. Et cette possibilité est devenue d'autant plus utile par la suite. A partir de la version 2, ATA supportait aussi les lecteurs de disquettes, les lecteurs de CD/DVD, et bien d'autres supports de stockage. Il était alors possible de connecter un lecteur CD et un disque dur sur un seul connecteur. Les cartes mères avaient généralement deux connecteurs ATA, et n'avaient pas besoin de plus. C'était suffisant pour connecter un disque dur, un lecteur de disquette et un lecteur CD, configuration courante entre les années 90 et 2000.
Un câble est donc connecté à deux supports de stockage. Pour distinguer les deux, le standard ATA ajoute une possibilité de configuration. Sur un câble, il doit y avoir un support de stockage "maitre" et un support "esclave". C'était la terminologie de l'époque, que je reproduis ici, même si elle est fortement trompeuse. N'allez pas croire que cela implique que l'un ait des avantages sur l'autre. Le support 'maitre" n'a pas droit à plus de bande passante, il n'a pas la priorité sur l'autre, rien du tout. Il s'agit juste d'un nombre qui permet de savoir avec qui le processeur communique, qui vaut 0 pour le premier support, 1 pour l'autre. Une sorte d'adresse de 1 bit, si l'on veut.
[[File:ATA-Konfiguration02.png|centre|vignette|upright=2|Configuration ATA.]]
Pour configurer un support de stockage en mode "maitre" ou "esclave", le support de stockage avait quelques pins dédiés. Il suffisait de placer un détrompeur en plastique sur les pins adéquats. Les pins se trouvaient à l'arrière du disque dur ou du lecteur de CD/DVD/Disquette/autre.
[[File:HDD Master and Slave Description.jpg|centre|vignette|upright=2|Configuration ''Master/Slave''.]]
===L'architecture d'un PC avec un processeur Intel 486===
Maintenant, passons aux ordinateurs 32 bits, avec l'exemple d'un PC avec un processeur 486 d'Intel. A cette époque, le bus ISA était devenu trop limité et était en place d'être remplacé par le bus PCI, qui avait la même fonction. De nombreuses cartes d'extension utilisaient déjà ce standard et étaient branchées sur des connecteurs PCI dédiés, différents des connecteurs ISA. Intuitivement, on se dit que le bus PCI remplaçait le bus ISA, mais les choses étaient plus compliquées. Les disques durs gardaient leur connecteur ATA, et ne passaient pas par le bus PCI. Ils avaient un bus IDE séparé, qui était un bus ISA modifié.
Là encore, les processeurs étaient devenus beaucoup plus rapides que le bus PCI. Les deux allaient à des fréquences assez différentes, ce qui fait que le bus PCI était séparé du bus système. Il y avait alors deux implémentations possibles.
* La première utilise un répartiteur unique, relié au processeur, à la RAM, au bus PCI, et au bus IDE.
* La seconde utilise un bus système séparé du bus PCI, avec un '''pont PCI''' pour faire l'interface entre les deux.
Le '''''System Controler''''' était un circuit intégré, placé sur la carte mère, qui peut servir soit de pont PCI, soit de répartiteur. Le répartiteur PCI sert d'intermédiaire avec le bus PCI, mais aussi avec le bus IDE, utilisé pour les disques durs, aussi appelé le bus ''Parallel ATA''. Il peut aussi être connecté au processeur, à la mémoire RAM, ainsi qu'à la mémoire cache, mais cela ne sert que quand il est utilisé comme répartiteur.
[[File:Architecture d'un PC utilisant un bus PCI, implémentation avec un répartiteur.png|centre|vignette|upright=2|Architecture d'un PC utilisant un bus PCI, implémentation avec un répartiteur]]
Pour des raisons de compatibilité, le bus ISA avait été conservé, aux côtés du bus PCI. Il y avait un pont ISA en plus du pont/répartiteur PCI. Une implémentation possible aurait été de connecter les deux ponts ISA et PCI à un bus système unique. Mais cette solution n'a pas été retenue. La raison est que le bus PCI et le bus ISA ont des performances très différentes. Le bus PCI est très rapide, le bus ISA beaucoup plus lent. La différence est d'un ordre de grandeur, environ. Dans ces conditions, il est possible de faire passer les communications ISA à travers le bus PCI. Pour cela, le pont ISA est directement connecté sur le pont PCI, comme illustré ci-dessous.
Et il en est de même pour le bus dédié aux disques durs. En effet, les disques durs étaient autrefois reliés au bus ISA, mais cela a changé depuis. Ils disposent maintenant de leur propre bus dédié, le '''bus IDE''', qui est un bus ISA simplifié. Et ce bus ISA simplifié était connecté directement sur le pont PCI.
[[File:Architecture de l'IBM PC compatible avec pont PCI.png|centre|vignette|upright=2|Architecture de l'IBM PC compatible avec pont PCI]]
Dans ce qui va suivre, nous allons étudier un exemple qui utilise un bus système séparé, avec un pont PCI, sans répartiteur. Voilà pour les grandes lignes, mais le schéma ci-dessous montre que tout est plus complexe. Vous remarquerez des connexions optionnelles entre le pont PCI et la mémoire RAM et la mémoire cache. La raison est que le pont PCI peut aussi servir de répartiteur en remplacement du bus système. Concrètement, on peut alors retirer le bus système. La mémoire, le bus PCI, le bus ISA, le bus IDE, le processeur et la RAM sont alors connectés au répartiteur PCI, qui sert d'intermédiaire central entre tous ces composants. Mais ce n'est pas la solution qui a été retenue dans notre exemple.
[[File:Intel486-Typ PCI System.png|centre|vignette|upright=2|PC IBM compatible avec un 486, un bus PCI et un bus ISA. Le ''host bus'' est le bus système.]]
Le pont ISA sert ici d'intermédiaire entre le bus système et le bus ISA. De plus, il a été amélioré sur de nombreux points. Il inclut notamment des circuits qui étaient autrefois sur la carte mère, à savoir le contrôleur DMA 82C87 et le contrôleur d'interruption 82C59, ainsi que les ''timers'' Intel 82C54. Les composants restants sont eux reliés sur un quatrième bus : le bus X, l'ancêtre du bus ''Low Pin Count''. Le bus X était celui du BIOS, du contrôleur de clavier, de la ''Real Time Clock'', et du contrôleur de périphérique 82091AA d'Intel.
[[File:ISA Bridge schematic.png|centre|vignette|upright=2|ISA Bridge.]]
===L'architecture des PC des années 90-2000===
Par la suite, les ponts PCI et ISA ont évolué avec l'évolution des bus de l'ordinateur. Le bus ISA a progressivement été remplacé par d'autres bus, comme le bus ''Low Pin Count'', le bus PCI a été remplacé par le PCI Express, d'autres bus ont été ajoutés, etc. Mais la séparation du ''chipset'' en deux a été conservée.
[[File:Chipset schematic.svg|vignette|upright=1.0|Chipset séparé en northbridge et southbridge.]]
Le pont PCI et le pont ISA ont été remplacés respectivement par le '''pont nord''' et le '''pont sud''', plus connus par leurs noms anglais de ''northbridge'' et de ''southbridge''. Le pont nord servait d'interface entre le processeur, la mémoire et la carte graphique et est connecté à chacun par un bus dédié. Il intégrait aussi le contrôleur mémoire. Le pont sud est le répartiteur pour les composants lents, à savoir l'USB, l'Ethernet, etc. Le bus qui relie le processeur au pont nord était appelé le '''''Front Side Bus''''', abrévié en FSB.
[[File:IMac Chipset.png|centre|vignette|upright=2|Chipset séparé en northbridge et southbridge.]]
Un point important est que le bus PCI est devenu un bus assez lent, ce qui fait qu'il a finit par être connecté au pont sud. Le pont PCI est donc devenu le pont sud, dans le courant des années 2000. Durant un moment, un équivalent du pont ISA a subsisté dans un circuit de '''''Super IO'''''. Concrètement, il s'occupait du lecteur de disquette, du port parallèle, du port série, et des ports PS/2 pour le clavier et la souris. Mais il ne gérait pas le bus ISA, mais son remplaçant, le bus ''Low Pin Count''.
[[File:Motherboard diagram fr.svg|centre|vignette|upright=1.5|Carte mère avec circuit Super IO.]]
===L'architecture des PC depuis les années 2000===
Depuis la sortie du processeur AMD Athlon 64, le pont nord a été fusionné dans le processeur. La fusion ne s'est pas faite en une fois, des fonctionnalités ont progressivement été progressivement intégrées dans le processeur. Le pont sud est resté, mais il a alors été progressivement connecté directement au processeur. La raison derrière cette intégration est que les processeurs avaient de plus en plus de transistors à leur disposition. Ils en ont profité pour intégrer le pont nord. Et cela permettait de simplifier le câblage des cartes mères, sans pour autant rendre vraiment plus complexe la fabrication du processeur. Les industriels y trouvent leur compte.
La première étape a été l'intégration du contrôleur mémoire a été intégré au processeur. Concrètement, le résultat était que la mémoire RAM n'était plus connectée au pont nord, mais était connectée directement au processeur ! Il y a donc eu un retour d'un bus mémoire, mais spécialisé pour la mémoire RAM. En théorie, une telle intégration permet diverses optimisations quant aux transferts avec la mémoire RAM. Les transferts ne passent pas par un répartiteur, ce qui réduit le temps d'accès à la mémoire RAM. Ajoutons de sombres histoires de prefetching, d'optimisation des commandes, et j'en passe. Toujours est-il que le pont nord ne servait alors d'intermédiaire que pour les ports PCI Express, et le pont sud.
[[File:X58 Block Diagram.png|centre|vignette|upright=2|Chipset X58 d'Intel.]]
Par la suite, la carte graphique fût aussi connectée directement sur le processeur. Le processeur incorpore pour cela des contrôleurs PCI-Express. Le pont nord a alors disparu complétement, son intégration dans le processeur était complète. Sur les cartes mères Intel récentes, le pont sdud subsiste, il est appelé le ''Platform Controler Hub'', ou PCH. L'organisation des bus sur la carte mère qui résulte de cette connexion du processeur à la carte graphique, est illustrée ci-dessous, avec l'exemple du PCH.
[[File:Intel 5 Series architecture.png|centre|vignette|upright=2|Intel 5 Series architecture]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=L'interface électrique entre circuits intégrés et bus
| prevText=L'interface électrique entre circuits intégrés et bus
| next=La hiérarchie mémoire
| nextText=La hiérarchie mémoire
}}
</noinclude>
94e5pb5weqd9kfqo6zwvg42wc8caf71
762914
762913
2026-04-04T15:58:12Z
Mewtow
31375
/* Les coprocesseurs */
762914
wikitext
text/x-wiki
Dans les chapitres précédents, nous avons vu comment représenter de l'information, la traiter et la mémoriser avec des circuits. Mais un ordinateur n'est pas qu'un amoncellement de circuits et est organisé d'une manière bien précise. Il est structuré autour de trois circuits principaux :
* un '''processeur''', qui manipule l'information et donne un résultat ;
* une '''mémoire''' qui mémorise les données à manipuler ;
* les '''entrées/sorties''', qui permettent à l'ordinateur de communiquer avec l'extérieur.
[[File:Architecture Von Neumann.png|centre|vignette|upright=2|Architecture d'un système à mémoire.]]
Pour faire simple, le processeur est un circuit qui s'occupe de faire des calculs. Rien d'étonnant à cela. Je rappelle que tout est codé par des nombres dans un ordinateur, ce qui fait que manipuler des nombres revient simplement à faire des calculs. Un ordinateur n'est donc qu'une grosse calculatrice améliorée, et le processeur est le composant qui fait les calculs.
La mémoire s'occupe purement de la mémorisation des données, des nombres sur lesquelles faire des calculs. Pour être plus précis, il y a deux mémoires : une pour les données proprement dites, une autre pour le programme à exécuter. La première est la '''mémoire RAM''', la seconde est la '''mémoire ROM'''. Nous détaillerons ce que sont ces deux mémoires dans la suite du chapitre, mais sachez que nous avions déjà rencontré ces deux types de mémoires dans les chapitres sur les registres et les mémoires adressables.
Les entrées-sorties permettent au processeur et à la mémoire de communiquer avec l'extérieur et d'échanger des informations avec des périphériques. Les '''périphériques''' regroupent, pour rappel, tout ce est branché sur un ordinateur, mais n'est pas à l'intérieur de celui-ci.
Le processeur, les mémoires et les entrées-sorties communiquent ensemble via un '''réseau d'interconnexions'''. Le terme est assez barbare, mais rien de compliqué sur le principe. C'est juste un ensemble de fils électriques qui relie les différents éléments d'un ordinateur. Les interconnexions sont souvent appelées le bus de communication, mais le terme est un abus de langage, comme on le verra plus bas.
Afin de simplifier les explications, on va supposer que le réseau d'interconnexion est le suivant. Tout est connecté au processeur. Il y a des interconnexions entre le processeur et la mémoire RAM, d'autres interconnexions entre processeur et mémoire ROM, et d'autres entre le processeur et les entrées-sorties. Nous verrons que d'autres réseaux d'interconnexions fusionnent certaines interconnexions, pour les partager entre la ROM et la RAM, par exemple. Mais pour le moment, gardez le schéma ci-dessous en tête.
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
==Les mémoires RAM et ROM==
La mémoire est le composant qui mémorise des informations, des données. Dans la majorité des cas, la mémoire est composée de plusieurs '''cases mémoire''', chacune mémorisant plusieurs bits, le nombre de bits étant identique pour toutes les cases mémoire. Dans le cas le plus simple, une case mémoire mémorise un '''octet''', un groupe de 8 bits. Mais les mémoires modernes mémorisent plusieurs octets par case mémoire : elles ont des cases mémoires de 16, 32 ou 64 bits, soit respectivement 2/4/8 octets. De rares mémoires assez anciennes utilisaient des cases mémoires contenant 1, 2, 3, 4, 5, 6 7, 13, 17, 23, 36 ou 48 bits. Mais ce n'était pas des mémoires électroniques, aussi nous allons les passer sous silence.
Tout ce qu'il faut savoir est que la quasi-totalité des mémoires électronique a un ou plusieurs octets par case mémoire. Pour simplifier, vous pouvez imaginer qu'une mémoire RAM est un regroupement de registre, chacun étant une case mémoire. C'est une description pas trop mauvaise pour décrire les mémoires RAM, qu'on abordera dans ce qui suit.
{|class="wikitable"
|+ Contenu d'une mémoire, case mémoire de 16 bits (deux octets)
|-
! Case mémoire N°1
| 0001 0110 1111 1110
|-
! Case mémoire N°2
| 1111 1110 0110 1111
|-
! Case mémoire N°3
| 0001 0000 0110 0001
|-
! Case mémoire N°4
| 1000 0110 0001 0000
|-
! Case mémoire N°5
| 1100 1010 0110 0001
|-
! ...
| ...
|-
! Case mémoire N°1023
| 0001 0110 0001 0110
|-
! Case mémoire N°1024
| 0001 0110 0001 0110
|}
Dans ce cours, il nous arrivera de partir du principe qu'il y a un octet par case mémoire, par souci de simplification. Mais ce ne sera pas systématique. De plus, il nous arrivera d'utiliser le terme adresse pour parler en réalité de la case mémoire associée, par métonymie.
===La capacité mémoire===
Bien évidemment, une mémoire ne peut stocker qu'une quantité finie de données. Et à ce petit jeu, certaines mémoires s'en sortent mieux que d'autres et peuvent stocker beaucoup plus de données que les autres. La '''capacité''' d'une mémoire correspond à la quantité d'informations que celle-ci peut mémoriser. Plus précisément, il s'agit du nombre maximal de bits qu'une mémoire peut contenir. Elle est le produit entre le nombre de cases mémoire, et la taille en bit d'une case mémoire.
Toutes les mémoires actuelles utilisant des cases mémoire d'un ou plusieurs octets, ce qui nous arrange pour compter la capacité d'une mémoire. Au lieu de compter cette capacité en bits, on préfère mesurer la capacité d'une mémoire avec le nombre d'octets qu'elle contient. Mais les mémoires des PC font plusieurs millions ou milliards d'octets. Pour se faciliter la tâche, on utilise des préfixes pour désigner les différentes capacités mémoires. Vous connaissez sûrement ces préfixes : kibioctets, mébioctets et gibioctets, notés respectivement Kio, Mio et Gio.
{|class="wikitable"
|-
!Préfixe!!Capacité mémoire en octets!!Puissance de deux
|-
||Kio||1024||2<sup>10</sup> octets
|-
||Mio||1 048 576||2<sup>20</sup> octets
|-
||Gio||1 073 741 824||2<sup>30</sup> octets
|}
On peut se demander pourquoi utiliser des puissances de 1024, et ne pas utiliser des puissances un peu plus communes ? Dans la majorité des situations, les électroniciens préfèrent manipuler des puissances de deux pour se faciliter la vie. Par convention, on utilise souvent des puissances de 1024, qui est la puissance de deux la plus proche de 1000. Or, dans le langage courant, kilo, méga et giga sont des multiples de 1000. Quand vous vous pesez sur votre balance et que celle-ci vous indique 58 kilogrammes, cela veut dire que vous pesez 58 000 grammes. De même, un kilomètre est égal à 1000 mètres, et non 1024 mètres.
Autrefois, on utilisait les termes kilo, méga et giga à la place de nos kibi, mebi et gibi, par abus de langage. Mais peu de personnes sont au courant de l'existence de ces nouvelles unités, et celles-ci sont rarement utilisées. Et cette confusion permet aux fabricants de disques durs de nous « arnaquer » : Ceux-ci donnent la capacité des disques durs qu'ils vendent en kilo, méga ou giga octets : l’acheteur croit implicitement avoir une capacité exprimée en kibi, mébi ou gibi octets, et se retrouve avec un disque dur qui contient moins de mémoire que prévu.
===Lecture et écriture : mémoires ROM et RWM===
Pour simplifier grandement, on peut grossièrement classer les mémoires en deux types : les ''Read Only Memory'' et les ''Read Write Memory'', aussi appelées mémoires ROM et mémoires RWM. Pour les '''mémoires ROM''', on ne peut pas modifier leur contenu. On peut y récupérer une donnée ou une instruction : on dit qu'on y accède en lecture. Mais on ne peut pas modifier les données qu'elles contiennent. Quant aux '''mémoires RWM''', on peut y accéder en lecture (récupérer une donnée stockée en mémoire), mais aussi en écriture : on peut stocker une donnée dans la mémoire, ou modifier une donnée existante.
Tout ordinateur contient au minimum une ROM et une RWM (souvent une mémoire RAM), les deux n'ont pas exactement le même rôle. Pour simplifier, la mémoire ROM mémorise le programme à exécuter, la mémoire RWM stocke des données. Il a existé des ordinateurs où la mémoire RWM était une mémoire magnétique, voire acoustique, mais ce n'est plus le cas de nos jours. Pour les ordinateurs modernes, la mémoire RWM est une mémoire électronique. Pour faire la différence avec ces anciennes mémoires RWM, elle est appelée la '''mémoire RAM'''. Il s'agit d'une mémoire qui stocke temporairement des données que le processeur doit manipuler (on dit qu'elle est volatile). Elle s'efface complètement quand on coupe l'alimentation de l'ordinateur.
Outre le programme à exécuter, la mémoire ROM peut mémoriser des constantes, des données qui ne changent pas. Elles ne sont jamais modifiées et gardent la même valeur quoi qu'il se passe lors de l'exécution du programme. En conséquence, elles ne sont jamais accédées en écriture durant l'exécution du programme, ce qui fait que leur place est dans une mémoire ROM. La mémoire RWM est alors destinée aux données temporaires, qui changent ou sont modifiées lors de l'exécution du programme, et qui sont donc manipulées aussi bien en lecture et en écriture. La mémoire RWM mémorise alors les variables du programme à exécuter, qui sont des données que le programme va manipuler. Pour les systèmes les plus simples, la mémoire RWM ne sert à rien de plus.
[[File:Espaces d'adressage sur une archi harvard modifiée.png|centre|vignette|upright=2.5|Espaces d'adressage sur une archi harvard modifiée]]
Pour donner un exemple de données stockées en ROM, on peut prendre l'exemple des anciennes consoles de jeu 8 et 16 bits. Les jeux vidéos sur ces consoles étaient placés dans des cartouches de jeu, précisément dans une mémoire ROM à l'intérieur de la cartouche de jeu. La ROM mémorisait non seulement le code du jeu, le programme du jeu vidéo, mais aussi les niveaux et les ''sprites'' et autres données graphiques.
Une conséquence est que les consoles 8/16 bits n'avaient pas besoin de beaucoup de RAM, comparé aux ordinateurs de l'époque, vu qu'une grande partie des données utiles étaient dans une ROM directement accessible par le processeur. À l'opposé, les micro-ordinateurs devaient copier les données d'un jeu depuis une disquette dans la mémoire RAM, ce qui demandait d'avoir plus de RAM. Le passage au support CD sur les consoles 32 bits a eu la même conséquence. Le processeur ne pouvant pas lire directement le CD à sa guise, il fallait copier les données du CD en RAM. D'où l'apparition de temps de chargement assez longs, inexistants sur support cartouche.
===L'adressage mémoire===
Sur une mémoire RAM ou ROM, on ne peut lire ou écrire qu'une case mémoire, qu'un registre à la fois : une lecture ou écriture ne peut lire ou modifier qu'une seule case mémoire. Techniquement, le processeur doit préciser à quel case mémoire il veut accéder à chaque lecture/écriture. Pour cela, chaque case mémoire se voit attribuer un nombre binaire unique, l''''adresse''', qui va permettre de le sélectionner et de l'identifier celle-ci parmi toutes les autres. En fait, on peut comparer une adresse à un numéro de téléphone (ou à une adresse d'appartement) : chacun de vos correspondants a un numéro de téléphone et vous savez que pour appeler telle personne, vous devez composer tel numéro. Les adresses mémoires en sont l'équivalent pour les cases mémoire.
[[File:Adressage mémoire.png|centre|vignette|upright=2|Exemple : on demande à la mémoire de sélectionner la case mémoire d'adresse 1002 et on récupère son contenu (ici, 17).]]
L'adresse mémoire est générée par le processeur. Le processeur peut parfaitement calculer des adresses, en extraire du programme qu'il exécute, et bien d'autres choses. Nous détaillerons d'ailleurs les mécanismes pour dans les chapitres portant sur les modes d'adressage du processeur. Mais pour le moment, nous avons juste besoin de savoir que c'est le processeur qui envoie des adresses aux mémoires RAM et ROM.
Les adresses générées par le processeur sont alors envoyées à la RAM ou la ROM via une connexion dédiée, un ensemble de fils qui connecte le processeur à la mémoire : le '''bus d'adresse mémoire'''. L'adresse sélectionne une case mémoire, le processeur peut alors récupérer la donnée dedans pour une lecture, écrire une donnée pour l'écriture. Pour cela, un second ensemble de fil connecte le processeur à la RAM/ROM, mais cette fois-ci pour échanger des données. Il s'agit du '''bus de données mémoire'''. Les deux sont souvent regroupés sous le terme de '''bus mémoire'''.
Un ordinateur contient toujours une RAM et une ROM, ce qui demande aux bus mémoire de s'adapter à la présence de deux mémoires. Il y a alors deux solutions, illustrées dans les deux schémas ci-dessous. Avec la première, il y a un seul bus mémoire partagé entre la RAM et la ROM, comme illustré ci-dessous. Une autre solution utilise deux bus séparés : un pour la RAM et un autre pour la ROM. Nous verrons les différences pratiques entre les deux à la fin du chapitre. Pour le moment, nous allons partir du principe qu'il y a un bus pour la mémoire ROM, et un autre bus pour la RAM.
[[File:CPT-System-Architecture-gapfill1-ANS.svg|centre|vignette|upright=2|Architecture avec une ROM et une RAM.]]
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
===L'alignement mémoire : introduction===
Plus haut, nous avions dit qu'il y a une adresse par case mémoire, chaque case mémoire contenant un ou plusieurs octets. Mais les processeurs modernes partent du principe que la mémoire a un octet par adresse, pas plus. Et ce même si la mémoire reliée au processeur utilise des cases mémoires de 2, 3, 4 octets ou plus. D'ailleurs, la majorité des mémoires RAM actuelle a des cases mémoires de 64 bits, soit 8 octets par case mémoire. Les raisons à cela sont multiple, mais nous les verrons en détail dans le chapitre sur l'alignement mémoire. Toujours est-il qu'il faut distinguer les '''adresses mémoire''' et les '''adresses d'octet''' gérées par le processeur.
Le processeur génère des adresses d'octet, qui permettent de sélectionner un octet bien précis. L'adresse d'octet permet de sélectionner un octet parmi tous les autres. Mais la mémoire ne comprend pas directement cette adresse d'octet. Heureusement, l'octet en question est dans une case mémoire bien précise, qui a elle-même une adresse mémoire bien précise. L'adresse d'octet est alors convertie en une adresse mémoire, qui sélectionne la case mémoire adéquate, celle qui contient l'octet voulu. La case mémoire entière est lue, puis le processeur ne récupère que les données adéquates. Pour cela, des circuits d'alignement mémoire se chargent de faire la conversion entre adresses du processeur et adresse mémoire. Nous verrons cela dans le détail dans le chapitre sur l'alignement mémoire.
Il existe des mémoires qui n'utilisent pas d'adresses mémoire, mais passons : ce sera pour la suite du cours.
==Le processeur==
Dans les ordinateurs, l'unité de traitement porte le nom de '''processeur''', ou encore de '''''Central Processing Unit''''', abrévié en CPU. Le rôle principal du processeur est de faire des calculs. La plupart des processeurs actuels supportent au minimum l'addition, la soustraction et la multiplication. Quelques processeurs ne gèrent pas la division, qui est une opération très gourmande en circuit, peu utilisée, très lente. Il arrive que des processeurs très peu performants ne gèrent pas la multiplication, mais c'est assez rare.
Un processeur ne fait pas que des calculs. Tout processeur est conçu pour effectuer un nombre limité d'opérations bien précises, comme des calculs, des échanges de données avec la mémoire, etc. Ces opérations sont appelées des '''instructions'''. Les plus intuitives sont les '''instructions arithmétiques''', qui font des calculs, comme l'addition, la soustraction, la multiplication, la division. Mais il y a aussi des '''instructions d'accès mémoire''', qui échangent des données entre la mémoire RAM et le processeur. Les autres instructions ne sont pas très intuitives, aussi passons-les sous silence pour le moment, tout deviendra plus clair dans les chapitres sur le processeur.
===Le processeur exécute un programme, une suite d'instructions===
Tout processeur est conçu pour exécuter une suite d'instructions dans l'ordre demandé, cette suite s'appelant un '''programme'''. Ce que fait le processeur est défini par la suite d'instructions qu'il exécute, par le programme qu'on lui demande de faire. Les instructions sont exécutées dans un ordre bien précis, les unes après les autres. L'ordre en question est décidé par le programmeur. La totalité des logiciels présents sur un ordinateur sont des programmes comme les autres.
Le programme à exécuter est stockée dans la mémoire de l'ordinateur. C'est ainsi que l'ordinateur est rendu programmable : modifier le contenu de la mémoire permet de changer le programme exécuté. Mine de rien, cette idée de stocker le programme en mémoire est ce qui a fait que l’informatique est ce qu'elle est aujourd’hui. C'est la définition même d'ordinateur : appareil programmable qui stocke son programme dans une mémoire modifiable.
Une instruction est codée comme les données : sous la forme de suites de bits. Telle suite de bit indique qu'il faut faire une addition, telle autre demande de faire une soustraction, etc. Pour simplifier, nous allons supposer qu'il y a une instruction par adresse mémoire. Sur la grosse majorité des ordinateurs, les instructions sont placées les unes à la suite des autres dans l'ordre où elles doivent être exécutées. Un programme informatique n'est donc qu'une vulgaire suite d'instructions stockée quelque part dans la mémoire de l'ordinateur.
{|class="wikitable"
|+ Exemple de programme informatique
|-
! Adresse
! Instruction
|-
! 0
| Copier le contenu de l'adresse 0F05 dans le registre numéro 5
|-
! 1
| Charger le contenu de l'adresse 0555 dans le registre numéro 4
|-
! 2
| Additionner ces deux nombres
|-
! 3
| Charger le contenu de l'adresse 0555
|-
! 4
| Faire en XOR avec le résultat antérieur
|-
! ...
| ...
|-
! 5464
| Instruction d'arrêt
|}
Pour exécuter une suite d'instructions dans le bon ordre, le processeur détermine à chaque cycle quelle est la prochaine instruction à exécuter. Pour cela, le processeur mémorise l'adresse de l'instruction en cours dans un registre : le '''Program Counter'''. Je rappelle que des instructions consécutives sont dans des adresses consécutives. Pour passer à la prochaine instruction, il suffit donc d'incrémenter le ''program counter''.
: Si une instruction prend plusieurs octets, plusieurs adresses, il suffit de l'incrémenter du nombre d'octets/adresses.
D'autres processeurs font autrement : chaque instruction précise l'adresse de la suivante, directement dans la suite de bit représentant l'instruction en mémoire. Ces processeurs n'ont pas besoin de calculer une adresse qui leur est fournie sur un plateau d'argent. Sur des processeurs aussi bizarres, pas besoin de stocker les instructions en mémoire dans l'ordre dans lesquelles elles sont censées être exécutées. Mais ces processeurs sont très très rares et peuvent être considérés comme des exceptions à la règle.
Nous venons de voir qu'un processeur contient un registre appelé le ''program counter''. Mais il n'est pas le seul. Pour pouvoir fonctionner, tout processeur doit mémoriser un certain nombre d’informations nécessaires à son fonctionnement, qui sont mémorisées dans des '''registres de contrôle'''. La plupart ont des noms assez barbares (registre d'état, ''program counter'') et nous ne pouvons pas en parler à ce moment du cours. Nous les verrons en temps voulu, mais il est important de préciser qu'ils existent.
===L'intérieur d'un processeur===
Fort de ce que nous savons, nous pouvons expliquer ce qu'il y a à l'intérieur d'un processeur. Le premier point est qu'un processeur fait des calculs, ce qui implique qu'il contient des circuits de calcul. Ils sont regroupés dans une ou plusieurs '''unités de calcul'''. Nous avons déjà vu comment fabriquer une unité de calcul simple, dans un chapitre dédié, et c'est la même qui est présente dans un processeur. Du moins dans les grandes lignes, les circuits des processeurs modernes étant particulièrement optimisés. Il en est de même pour les autres circuits de calcul comme ceux pour les multiplications/division/autres.
Si le processeur fait des calculs, qu'en est-il des opérandes ? Et où sont mémorisés les résultats des opérations ? Pour cela, le processeur incorpore des '''registres généraux'''. Les registres généraux servent à mémoriser les opérandes et résultats des instructions. Ils mémorisent des données, contrairement aux registres de contrôle mentionnés plus haut. Le nombre de registres généraux dépend grandement du processeur. Les tout premiers processeurs se débrouillaient avec un seul registre, mais les processeurs actuels utilisent plusieurs registres, pour mémoriser plusieurs opérandes/résultats. Mais la présence de registres est source de pas mal de petites complications. Par exemple, il faut échanger les données entre la RAM et les registres, il faut gérer l'adressage des registres, etc. Il s'agit là de détails que nous expliquerons dans les chapitres sur le processeur.
Le processeur contient enfin un circuit pour interpréter les instructions, appelé l''''unité de contrôle'''. Elle lit les instructions depuis la mémoire, interprète la suite de bit associée, et commande le reste du processeur pour qu'il exécute l'instruction. Ses fonctions sont assez variées, mais nous allons simplifier en disant qu'elle configure l'unité de calcul et les registres pour faire le bon calcul. Son rôle est d'analyser la suite de bit qui constitue l'instruction, et d'en déduire quelle opération effectuer. Elle gère aussi l'accès à la mémoire RAM, et notamment ce qui est envoyé sur son bus d'adresse.
: Dans ce qui suit, on suppose que le ''program counter'' fait partie de l'unité de contrôle.
Pour résumer, un processeur contient une unité de calcul, des registres et une interface avec la mémoire RAM. Le tout est interconnecté, afin de pouvoir échanger des données. L’ensemble forme le '''chemin de données''', nom qui trahit le fait que c'est là que les données se déplacent et sont traitées. Il faut aussi ajouter l'unité de contrôle pour commander le tout. Elle lit les instructions en mémoire, puis commande le chemin de données pour que l'instruction soit exécutée correctement.
[[File:Microarchitecture d'un processeur.png|centre|vignette|upright=2|Microarchitecture d'un processeur]]
Un processeur parait donc assez simple expliqué comme ça, mais il y a de nombreuses subtilités. L'une d'entre elle est liée aux registres, et notamment à la manière dont on les utilise. Pour expliquer ces subtilités, nous allons voir comment les premiers processeurs fonctionnaient, avant de passer aux processeurs un peu plus modernes. Les tout premiers processeurs n'utilisaient qu'un seul registre, ce qui fait que l'utilisation des registres était très simple. Le passage à plusieurs registres a complexifié le tout.
===D'où viennent les adresses ?===
Il est maintenant temps de répondre à une question qui s'était posée dans la section sur l'adressage : d'où viennent les adresses envoyées à la mémoire ? Pour ce qui est des adresses des instructions, on connait déjà la réponse : c'est le ''program counter'' qui gère tout. Mais pour les données, il y a deux possibilités, qui correspondent à deux types de données : les données statiques et les données dynamiques.
Les '''données statiques''' sont les plus simples : elles existent durant toute la durée de vie du programme. Tant que celui-ci s'exécute, il aura besoin de ces données. En conséquence, il leur réserve une place en mémoire, qui est toujours la même. La donnée se situe donc à une adresse bien précise, qui ne change jamais. Attention cependant : les données peuvent être modifiées, changer de valeur. Le programme écrit dans les donnée statiques, c'est même assez fréquent. Ce sont ne sont pas forcément des données constantes !
Pour les données statiques, elles sont toujours placées à la même adresse mémoire. Pour le dire autrement, l'adresse mémoire est une constante, qui ne change pas. L'adresse est connue avant d’exécuter le programme, le programme a été codé pour utiliser cette adresse pour telle donnée, on a réservé une adresse pour la donnée voulue. Et même si vous quittez le programme et vous le relancez plusieurs jours après, l'adresse mémoire sera la même avant et après.
Et cela permet d'utiliser l''''adressage direct'''. L'idée est que les instructions précisent donc l'adresse à lire ou écrire. Pour cela, l'adresse est intégrée dans l’instruction elle-même. Pour rappel, l'instruction est codée par une suite de bit en mémoire RAM/ROM, dont certains précisent l'opération à faire, les autres servant à autre chose. L'idée est que certains bits précisent l'adresse mémoire de la donnée à lire. Les instructions sont donc du genre :
* ''LOAD 56'' - lit l'adresse numéro 56 et copie son contenu dans un registre;
* ''STORE R5 , adress 99'', copie le registre R5 dans l'adresse 99 ;
* ''ADD R5 , adress 209'' : additionne le registre R5 avec le contenu de l'adresse 209.
S'il existe des données statiques, c'est signe qu'il existe des '''données dynamiques'''. Ces dernières sont des données qui sont créées ou détruites selon les besoins. Pour comprendre d'où viennent ces données dynamiques, prenons le cas d'une personne qui écrit du texte sur un ordinateur. Le texte qu'il écrit est mémorisé dans la RAM de l’ordinateur, puis est sauvegardé sur le disque dur quand il sauvegarde son document. Au fur et à mesure qu'il écrit du texte, la RAM utilisée par ce texte augmente. Donc, ce texte est une donnée dynamique, dont la taille varie dans le temps.
Pour gérer des données dynamiques, la plupart des systèmes d'exploitation incorporent des fonctionnalités d''''allocation mémoire'''. Derrière ce nom barbare, se cache quelque chose de simple : les programmes peuvent réclamer de la mémoire au système d'exploitation, pour y placer les données qu'ils souhaitent. Les langages de programmation bas niveau supportent des fonctions comme malloc(), qui permettent de demander un bloc de mémoire de N octets à l'OS, qui doit alors accommoder la demande. De même, un programme peut libérer de la mémoire qu'il n'utilise plus avec des fonctions comme free().
Avec l'allocation mémoire, les données n'ont pas de place fixe en mémoire. Leur adresse mémoire peut varier d'une exécution du programme à l'autre. Pire que ça : les données peuvent être déplacées dans la mémoire RAM, si besoin. En clair : l'adresse est déterminée lors de l'exécution du programme. L'adresse est alors soit calculée, soit lue depuis la mémoire RAM, soit déterminée autrement. Toujours est-il qu'elle se retrouve dans un registre général. Pour gérer ces adresse variables, les processeurs utilisent l''''adressage indirect'''. L'adressage indirect permet d'utiliser une adresse qui est dans un registre de données. L'adresse en question peut être envoyée à la mémoire RAM sans problème, le processeur peut automatiquement connecter le registre adéquat sur le bus d'adresse.
Au tout début de l'informatique, les processeurs ne supportaient que l'adressage direct, pas plus. L'adressage indirect n'était tout simplement pas possible. Avec l'adressage direct, l'adresse à lire est extraite directement des instructions, par l'unité de contrôle. Le bus d'adresse de la RAM est alors relié directement à l'unité de contrôle, le bus de données est relié aux registres.
[[File:Architecture Harvard avec adressage direct uniquement.png|centre|vignette|upright=2|Architecture Harvard avec adressage direct uniquement]]
Mais dès les années 70, l'adressage indirect est apparu, rendant la programmation bien plus simple. Mais cela a demandé quelques adaptation au niveau du processeur. Avec l'adressage indirect, le bus d'adresse est connecté aux registres. Il a donc fallu rajouter un multiplexeur pour que le processeur décide de relier le bus d'adresse soit aux registres, soit à l'unité de contrôle.
===Un ordinateur peut avoir plusieurs processeurs===
La plupart des ordinateurs n'ont qu'un seul processeur, ce qui fait qu'on désigne avec le terme d''''ordinateurs mono-processeur'''. Mais il a existé (et existe encore) des '''ordinateurs multi-processeurs''', avec plusieurs processeurs sur la même carte mère. L'idée était de gagner en performance : deux processeurs permettent de faire deux fois plus de calcul qu'un seul, quatre permettent d'en faire quatre fois plus, etc. C'est très courant sur les supercalculateurs, des ordinateurs très puissants conçus pour du calcul industriel ou scientifique, mais aussi sur les serveurs ! Dans le cas le plus courant, ils utilisent plusieurs processeurs identiques : on utilise deux processeurs Core i3 de même modèle, ou quatre Pentium 3, etc.
Pour utiliser plusieurs processeurs, les programmes doivent être adaptés. Pour cela, il y a plusieurs possibilités :
* Une première possibilité, assez intuitive, est d’exécuter des programmes différents sur des processeurs différents. Par exemple, on exécute le navigateur web sur un processeur, le lecteur vidéo sur un autre, etc.
* La seconde option est de créer des programmes spéciaux, qui utilisent plusieurs processeurs. Ils répartissent les calculs à faire sur les différents processeurs. Un exemple est la lecture d'une vidéo sur le web : un processeur peut télécharger la vidéo pendant le visionnage et bufferiser celle-ci, un autre processeur peut décoder la vidéo, un autre décoder l'audio. De tels programmes restent des suites d'instructions, mais ils sont plus complexes que les programmes normaux, aussi nous les passons sous silence.
* La troisième option est d’exécuter le même programme sur les différents processeurs, mais chaque processeur traite son propre ensemble de données. Par exemple, pour un programme de rendu 3D, quatre processeurs peuvent s'occuper chacun d'une portion de l'image.
[[File:Architecture de Von Neumann Princeton multi processeurs.svg|centre|vignette|upright=2|Architecture de Von Neumann Princeton multi processeurs]]
De nos jours, les ordinateurs grand public les plus utilisés sont dans un cas intermédiaire, ils ne sont ni mono-, ni multi-processeur. Ils n'ont qu'un seul processeur, dans le sens où si on ouvre l'ordinateur et qu'on regarde la carte mère, il n'y a qu'un seul processeur. Mais ce processeur est en réalité assez similaire à un regroupement de plusieurs processeurs dans le même boitier. Il s'agit de '''processeurs multicœurs''', qui contiennent plusieurs cœurs, chaque cœur pouvant exécuter un programme tout seul.
La différence entre cœur et processeur est assez difficile à saisir, mais pour simplifier : un cœur est l'ensemble des circuits nécessaires pour exécuter un programme. Chaque cœur dispose de toute la machinerie électronique pour exécuter un programme, à savoir des circuits aux noms barbares comme : un séquenceur d'instruction, des registres, une unité de calcul. Par contre, certains circuits d'un processeur ne sont présents qu'en un seul exemplaire dans un processeur multicœur, comme les circuits de communication avec la mémoire ou les circuits d’interfaçage avec la carte mère.
Suivant le nombre de cœurs présents dans notre processeur, celui-ci sera appelé un processeur double-cœur (deux cœurs), quadruple-cœur (4 cœurs), octuple-cœur (8 cœurs), etc. Un processeur double-cœur est équivalent à avoir deux processeurs dans l'ordinateur, un processeur quadruple-cœur est équivalent à avoir quatre processeurs dans l'ordinateur, etc. Ces processeurs sont devenus la norme dans les ordinateurs grand public et les logiciels et systèmes d'exploitation se sont adaptés.
===Les coprocesseurs===
Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs qui complémentaient un processeur principal. Les ordinateurs de ce type avaient un processeur principal, le '''CPU''', qui était secondé par un ou plusieurs coprocesseurs. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle.
Les coprocesseurs les plus connus sont les '''coprocesseurs pour le rendu 2D/3D''' et les '''coprocesseurs sonores'''. Ils ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles de cette génération ou antérieure. Ils s'occupaient respectivement de calculer les graphismes des jeux vidéos, et de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
L'accès aux périphériques est quelque chose sur lequel nous passerons plusieurs chapitres dans ce cours. Mais sachez que l'accès aux périphériques peut demander pas mal de puissance de calculs. Le CPU principal peut faire ce genre de calculs par lui-même, mais il n'est pas rare qu'un '''coprocesseur d'IO''' soit dédié à l'accès aux périphériques. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont un peu à part des autres. Ils sont spécialisés dans les calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les entrées-sorties==
Tous les circuits vus précédemment traitent des données codées en binaire. Ceci dit, les données ne sortent pas de n'importe où : l'ordinateur contient des composants électroniques qui traduisent des informations venant de l’extérieur en nombres. Ces composants sont ce qu'on appelle des '''entrées'''. Par exemple, le clavier est une entrée : l'électronique du clavier attribue un nombre entier (''scancode'') à une touche, nombre qui sera communiqué à l’ordinateur lors de l'appui d'une touche. Pareil pour la souris : quand vous bougez la souris, celle-ci envoie des informations sur la position ou le mouvement du curseur, informations qui sont codées sous la forme de nombres. La carte son évoquée il y a quelques chapitres est bien sûr une entrée : elle est capable d'enregistrer un son, et de le restituer sous la forme de nombres.
S’il y a des entrées, on trouve aussi des '''sorties''', des composants électroniques qui transforment des nombres présents dans l'ordinateur en quelque chose d'utile. Ces sorties effectuent la traduction inverse de celle faite par les entrées : si les entrées convertissent une information en nombre, les sorties font l'inverse : là où les entrées encodent, les sorties décodent. Par exemple, un écran LCD est un circuit de sortie : il reçoit des informations, et les transforme en image affichée à l'écran. Même chose pour une imprimante : elle reçoit des documents texte encodés sous forme de nombres, et permet de les imprimer sur du papier. Et la carte son est aussi une sortie, vu qu'elle transforme les sons d'un fichier audio en tensions destinées à un haut-parleur : c'est à la fois une entrée, et une sortie.
Les '''entrées-sorties''' incluent toutes les entrées et sorties, et même certains composants qui sont les deux à la fois. Il s'agit d'un terme générique, qui regroupe des composants forts différents. Dans ce qui va suivre, nous allons parfois parler de périphériques au lieu d'entrées-sorties, mais les deux termes ne sont pas équivalents. Dans le détail, les entrées-sorties regroupent :
* Les '''périphériques''' sont les composants connectés sur l'unité centrale. Exemple : les claviers, souris, webcam, imprimantes, écrans, clés USB, disques durs externes, la Box internet, etc.
* Les '''cartes d'extension''', qui se connectent sur la carte mère via un connecteur, comme les cartes son ou les cartes graphiques.
* D'autres composants sont soudés à la carte mère mais sont techniquement des entrées-sorties : les cartes sons soudées sur les cartes mères actuelles, par exemple.
===L'interface avec le reste de l'ordinateur===
Les entrées-sorties sont très diverses, fonctionnent très différemment les unes des autres. Mais du point de vue du reste de l'ordinateur, les choses sont relativement standardisées. Du point de vue du processeur, les entrées-sorties sont juste des paquets de registres ! Tous les périphériques, toutes les entrées-sorties contiennent des '''registres d’interfaçage''', qui permettent de faire l'intermédiaire entre l'entrée/sortie et le reste de l'ordinateur. L'entrée/sortie est conçu pour réagir automatiquement quand on écrit dans ces registres.
[[File:Registres d'interfaçage.png|centre|vignette|upright=2|Registres d'interfaçage.]]
Les registres d’interfaçage sont assez variés. Les plus évidents sont les '''registres de données''', qui permettent l'échange de données entre le processeur et les périphériques. Pour échanger des données avec l'entrée/sortie, le processeur a juste à lire ou écrire dans ces registres de données. On trouve généralement un registre de lecture et un registre d'écriture, mais il se peut que les deux soient fusionnés en un seul registre d’interfaçage de données. Si le processeur veut envoyer une donnée à une entrée/sortie, il a juste à écrire dans ces registres. Inversement, s'il veut lire une donnée, il a juste à lire le registre adéquat.
Mais le processeur ne fait pas que transmettre des données à l'entrée/sortie. Le processeur lui envoie aussi des « commandes », des valeurs numériques auxquelles l'entrée/sortie répond en effectuant un ensemble d'actions préprogrammées. En clair, ce sont l'équivalent des instructions du processeur, mais pour l'entrée/sortie. Par exemple, les commandes envoyées à une carte graphique peuvent être : affiche l'image présente à cette adresse mémoire, calcule le rendu 3D à partir des données présentes dans ta mémoire, etc. Pour recevoir les commandes, l'entrée/sortie contient des ''registres de commande'' qui mémorisent les commandes envoyées par le processeur. Quand le processeur veut envoyer une commande à l'entrée/sortie, il écrit la commande en question dans ce ou ces registres.
Enfin, beaucoup d'entrée/sortie ont un ''registre d'état'', lisible par le processeur, qui contient des informations sur l'état de l'entrée/sortie. Ils servent notamment à indiquer au processeur que l'entrée/sortie est disponible, qu'il est en train d’exécuter une commande, qu'il est occupé, qu'il y a un problème, qu'il y a une erreur de configuration, etc.
===Les adresses des registres d’interfaçage===
Les registres des périphériques sont identifiés par des adresses mémoires. Et les adresses sont conçues de façon à ce que les adresses des différentes entrées/sorties ne se marchent pas sur les pieds. Chaque entrée/sortie, chaque registre, chaque contrôleur a sa propre adresse. D'ordinaire, certains bits de l'adresse indiquent quel est le destinataire. Certains indiquent quel est l'entrée/sortie voulue, les restants indiquant le registre de destination.
Il existe deux organisations possibles pour les adresses des registres d’interfaçages. La première possibilité est de séparer les adresses pour les registres d’interfaçage et les adresses pour la mémoire. Le processeur doit avoir des instructions séparées pour gérer les périphériques et adresser la mémoire. Il a des instructions de lecture/écriture pour lire/écrire en mémoire, et d'autres pour lire/écrire les registres d’interfaçage. Sans cela, le processeur ne saurait pas si une adresse est destinée à un périphérique ou à la mémoire.
[[File:Espaces d'adressages séparés entre mémoire et périphérique.png|centre|vignette|upright=2.5|Espaces d'adressages séparés entre mémoire et périphérique]]
L'autre méthode mélange les adresses mémoire et des entrées-sorties. Si on prend par exemple un processeur de 16 bits, où les adresses font 16 bits, alors les 65536 adresses possibles seront découpées en deux portions : une partie ira adresser la RAM/ROM, l'autre les périphériques. On parle alors d''''entrées-sorties mappées en mémoire'''. L'avantage est que le processeur n'a pas besoin d'avoir des instructions séparées pour les deux.
[[File:IO mappées en mémoire.png|centre|vignette|upright=2.0|IO mappées en mémoire]]
Pour résumer, communiquer avec une entrée/sortie est similaire à ce qu'on a avec les mémoires. Il suffit de lire ou écrire dans des registres d’interfaçage, qui ont chacun une adresse mémoire. Le problème est que le système d'exploitation ne connaît pas toujours le fonctionnement d'une entrée/sortie : il faut installer un programme qui va s'exécuter quand on souhaite communiquer avec l'entrée/sortie, et qui s'occupera de tout ce qui est nécessaire pour le transfert des données, l'adressage du périphérique, etc. Ce petit programme est appelé un driver ou '''pilote de périphérique'''. La « programmation » périphérique est très simple : il suffit de savoir quoi mettre dans les registres, et c'est le pilote qui s'en charge.
==Les architectures Harvard et Von Neumann==
Après avoir vu le processeur, les mémoires et les entrées-sorties, voyons voir comment le tout est interconnecté. Tous les ordinateurs ne sont pas organisés de la même manière, pour ce qui est de leurs bus. Mais pour comprendre pourquoi, nous devons regarder qui communique avec qui, dans un ordinateur. Pour rappel, les données sont placées en mémoire RAM, alors que les instructions sont placées en mémoire ROM. Le processeur lit des instructions dans la mémoire ROM, il lit et écrit dans la mémoire RAM, et accède aux registres d’interfaçage des entrées-sorties. Il y a donc besoins de trois interconnexions : CPU-ROM, CPU-RAM et CPU-IO.
[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre]]
Il parait intéressant d'utiliser trois interconnexions, au minimum CPU-ROM, CPU-RAM et CPU-IO. Néanmoins, faire ainsi a de nombreux désavantages. Déjà, il faut pouvoir brancher tout ça sur le processeur. Et celui-ci n'a pas forcément assez de broches pour. Aussi, il est parfois préférable de mutualiser des bus, à savoir de connecter plusieurs composants sur un même bus. Par exemple, on peut mutualiser le bus pour la mémoire RAM et pour la mémoire ROM. Il faut dire que les deux bus sont des bus mémoire, avec un bus d'adresse, un bus de données, et surtout : des bus de commande similaires. Les mutualiser est alors très simple, et permet d'économiser pas mal de broches.
[[File:Réseau d'interconnexion avec un processeur au centre et une architecture Harvard.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre et une architecture Harvard]]
Cette mutualisation nous amène naturellement à parler de la distinction entre les architectures Harvard d'un côté et les architectures Von Neumann de l'autre. Elle est très liée au fait d'utiliser soit un bus mémoire unique, soit des bus séparés pour la ROM et la RAM. Voyons cela en détail.
===Les architectures Harvard et Von Neumann : des bus séparés ou unifiés===
Avec l''''architecture Harvard''', la mémoire ROM et la mémoire RAM sont reliées au processeur par deux bus séparés. Il y a un bus RAM pour la mémoire RAM, un bus ROM pour la mémoire ROM. L'avantage de cette architecture est qu'elle permet de charger une instruction et une donnée simultanément : une instruction chargée sur le bus relié à la mémoire programme, et une donnée chargée sur le bus relié à la mémoire de données. Et cela simplifie fortement la conception du processeur.
[[File:Harvard Architecture.png|centre|vignette|upright=2|Architecture Harvard, avec une ROM et une RAM séparées.]]
Avec l''''architecture Von Neumann''', mémoire ROM et mémoire RAM sont reliées au processeur par un bus unique. Le bus unique qui relie processeur, RAM et ROM, s'appelle le '''bus mémoire'''. Un défaut de ces architecture est qu'elles ne peuvent pas charger une instruction et une donnée en même temps. Et cela pose quelques problèmes pour la conception du processeur. Par contre, nous verrons dans ce qui suit qu'utiliser un bus mémoire partagé est bien plus flexible et permet des choses que les architectures Harvard ne peuvent pas faire.
[[File:Architecture Von Neumann, avec deux bus séparés.png|centre|vignette|upright=2|Architecture Von Neumann, avec deux bus séparés.]]
===Les architectures Harvard et Von Neumann : des espaces d'adressage séparés ou unifiés===
La distinction précédente se base sur les connexions entre RAM, ROM et processeur. Mais il existe une autre distinction, très liée, qui est souvent utilisée comme seconde définition des architectures Harvard/Von Neumann. Elle est liée aux adresses mémoire que le processeur peut gérer. Prenons un processeur 16 bits, par exemple, qui gère naturellement des adresses de 16 bits. Il peut gérer 2^16 adresses, soit 64 kibioctets de mémoire. L'ensemble de ces adresses est appelé un '''espace d'adressage'''. Mais comment cet espace d'adressage est utilisé pour adresser une RAM et une ROM ?
Sur les architectures Harvard, le processeur voit deux mémoires séparées avec leur lot d'adresses distinctes. Une même adresse peut donc correspondre soit à la mémoire ROM, soit à la mémoire RAM, suivant le bus utilisé. L'espace d'adressage est donc doublé, dupliqué, avec un pour la ROM, un autre pour la RAM. Rien d'étonnant à cela : il y a deux bus d'adresses, chacun correspondant à un espace d'adressage.
[[File:Vision de la mémoire par un processeur sur une architecture Harvard.png|centre|vignette|upright=2|Vision de la mémoire par un processeur sur une architecture Harvard.]]
Avec l'architecture Von Neumann, la RAM et la ROM doivent se partager les adresses mémoires disponibles. Il n'y a qu'un seul espace d'adressage qui est coupé en deux, avec une partie pour la ROM et une autre pour la RAM. Une adresse correspond soit à la mémoire RAM, soit à la mémoire ROM, mais pas aux deux. Typiquement, la mémoire ROM occupe une partie des adresses, la mémoire RAM utilise le reste. La répartition des adresses est réalisée par les circuits de décodage d'adresse mentionnés plus haut.
[[File:Vision de la mémoire par un processeur sur une architecture Von Neumann.png|centre|vignette|upright=2|Vision de la mémoire par un processeur sur une architecture Von Neumann.]]
Les '''architectures Harvard modifiées''' sont des intermédiaires entre architectures Harvard et architectures Von Neumann, bien qu'elles penchent bien plus du côté des architectures Harvard. Précisons que la terminologie n'est pas claire, beaucoup d'auteurs mettent des définitions différentes derrière ces deux termes. Mais dans ce cours, nous utiliserons une définition très stricte de ce qu'est une architecture Harvard modifiée.
Une architecture Harvard modifiée est une architecture Harvard, où le processeur peut lire des données constantes depuis la mémoire ROM. Nous avions vu plus haut que les mémoires ROM peuvent mémoriser, en plus d'un programme exécutable, des données constantes, qui ne varient pas. Les architectures Harvard pures ne permettent pas de lire des données de ce genre depuis la mémoire ROM, alors que les architectures Harvard modifiées le permettent.
Une architecture Harvard modifiée dispose d'une instruction pour lire les données en mémoire RWM, et d'une instruction pour lire des données en mémoire ROM. Il y a donc deux versions de l'instruction LOAD, qui copient la donnée dans un registre général, mais dont la source de la donnée est différente. Une autre possibilité, plus rare, est que une instruction de copie, qui copie une constante depuis la mémoire ROM vers la mémoire RAM. Le cas le plus commun est l'utilisation de deux instructions LOAD séparées.
[[File:Espaces d'adressage sur une archi harvard modifiée.png|centre|vignette|upright=2.5|Espaces d'adressage sur une archi harvard modifiée]]
Ceci étant dit, revenons à la distinction entre architecture Harvard et Von Neumann. Il faut noter que la RAM et la ROM n'ont pas forcément la même taille. Et ce que ce soit sur une architecture Harvard que sur une architecture Von Neumann, mais c'est plus facile à expliquer sur une architecture Harvard.
On peut par exemple imaginer une architecture Harvard qui utilise des adresses de 16 bits pour la ROM, et seulement 8 bits pour la RAM. Le résultat est qu'il peut adresser 64 kibioctets de ROM, mais seulement 256 octets de RAM. Les deux bus d'adresse sont alors de taille différente, l'un faisant 8 bits, l'autre 16. Quelques processeurs 8 bits étaient dans ce cas, comme on le verra dans le chapitre sur les CPU 8bits. Mais d'autres processeurs utilisent des valeurs différentes, avec par exemple des adresses de 16 bits pour la RAM, mais de 20 bits pour la ROM, ou inversement.
Sur une architecture Von Neumann, tout dépend de comment les adresses sont réparties. La solution la plus simple découpe l'espace d'adressage en deux parties égales, avec la RAM qui est dans la moitié basse (qui part de l'adresse 0 jusqu'à l'adresse au milieu), alors que la ROM est dans la moitié haute (entre l'adresse du milieu et l'adresse maximale). Mais ce n'est pas la seule possibilité, la limite entre RAM et ROM peut être mise n'importe où. Prenons par exemple un processeur 32 bits, capable de gérer 4 milliards d'adresse. Il est parfaitement possible de réserver 128 mébioctets de poids fort à la mémoire ROM, et de laisser le reste à la mémoire RAM.
===Le décodage d'adresse sur les architectures Von Neumann===
Pour résumer, les architectures Harvard et Von Neumann se distinguent sur deux points :
* L'accès à la RAM et à la ROM se font par des bus séparés sur l'architecture Harvard, sur le même bus avec l'architecture Von Neumann.
* Les adresses pour la mémoire ROM et la mémoire RAM sont séparées sur les architectures Harvard, partagées sur l’architecture Von Neumann.
Les architectures Von Neumann utilisent donc un seul bus pour connecter la RAM et la ROM au processeur. Mais cela ne parait pas intuitif : comment deux composants peuvent se connecter aux mêmes fils ? Parce que c'est ce qu'implique le fait de partager un bus. Si je prends une mémoire RAM et une mémoire ROM, toutes deux de 8 bits, elles seront connectées à un bus mémoire de 8 bits. Intuitivement, on se dit qu'il y aura des conflits, du genre : la RAM et la ROM vont accéder au bus en même temps, comment savoir si une adresse est destinée à la RAM ou la ROM, etc ?
Tous ces problèmes sont résolus avec une solution très simple : à chaque instant, seule une mémoire est connectée au bus. L'idée est que les mémoires sont connectées ou déconnectées du bus selon les besoins. Si le processeur veut envoyer lire une donnée en mémoire RAM, il déconnecte la mémoire ROM du bus. Et inversement, s'il veut lire une instruction, il déconnecte la RAM et connecte la ROM.
Pour cela, les mémoires RAM et ROM possèdent une entrée ''Chip Select'' ou ''Output Enable'', qui agit comme une sorte de bouton ON/OFF. Lorsqu'on met un 1 sur cette entrée, la mémoire se connectera au bus. Ses entrées et sorties fonctionneront normalement, elle pourra recevoir des adresses, envoyer ou recevoir des données, tout sera normal. Par contre, si on met un 0 sur cette entrée, la mémoire se "désactive", ses entrée-sorties ne répondent plus aux sollicitations extérieures. Pire que ça : elles sont électriquement déconnectées.
Au total, tout cela demande de gérer deux bit ''Chip Select''/''Output Enable'' : un pour la RAM, un pour la ROM. Et ces deux bits sont configurés pour chaque accès mémoire, pour chaque lecture ou écriture. Pour cela, un circuit de '''décodage d'adresse''' prend en entrée l'adresse mémoire à lire/écrire, et active/désactive les mémoires RAM/ROM selon les besoins. Il prend l'adresse et configure les bits ''Chip Select''/''Output Enable''.
[[File:Décodage d'adresse sur une architecture Von Neumann.png|centre|vignette|upright=2|Décodage d'adresse sur une architecture Von Neumann.]]
L'implémentation la plus simple réserve la moitié des adresses pour la RAM, l'autre moitié pour la ROM. Typiquement, la ROM prend la moitié basse, la RAM la moitié haute. Dans ce cas, activer/désactiver la RAM et la ROM se fait avec seulement le bit de poids fort de l'adresse. Si le bit de poids fort est à 1, alors on accède à la RAM et la ROM doit être désactivée. Mais si ce bit est à 0, alors on accède à la moitié basse et il faut désactiver la RAM.
Une remarque intéressante : le fait de séparer la mémoire en deux parts égales permet de simuler une architecture Harvard à partir d'une architecture Von Neumann. Par exemple, le tout premier processeur d'Intel, le 4004, était l'un de ceux là. La RAM et la ROM sont reliés au même bus, et il y a donc un unique espace d'adressage, qui est séparé en deux parties égales. Le truc est que le processeur traite les deux parties égales comme deux espaces d'adressage séparés. Le processeur se débrouille pour cacher le fait qu'il y a un espace d'adressage unique coupé en deux, ce qui fait que les programmeurs voient bien deux espaces d'adressages distincts.
[[File:Décodage d'adresse sur une architecture Von Neumann basique.png|centre|vignette|upright=2|Décodage d'adresse sur une architecture Von Neumann basique.]]
Pour résumer, quand une adresse est envoyée sur le bus, les deux mémoires vont la recevoir mais une seule va répondre et se connecter au bus. Le décodage d'adresse garantit que seule la mémoire adéquate réponde à un accès mémoire. Le décodage d'adresse est réalisé par la carte mère, par un composant dédié.
Le mécanisme peut être utilisé pour combiner plusieurs RAM en une seule, idem avec les ROM. Pour comprendre l'idée, je vais prendre l'exemple de l'IBM PC, un des tout premier PC existant. Nous étudierons ce PC dans une section dédiée, à la fin du chapitre, aussi je vais passer rapidement dessus. Tout ce que je vais faire est vous présenter la carte mère du PC, et vous demander de faire est de compter les mémoires ROM et mémoires RAM sur la carte mère :
[[File:IBM 5150 Motherboard.svg|centre|vignette|upright=3|Carte mère de l'IBM 5150, un modèle de l'IBM PC.]]
Si vous remarquerez qu'il y a 5 mémoires ROM et 8 à 32 mémoires RAM. Le fait est que le processeur voit les différentes mémoires ROM comme une seule mémoire ROM. Idem avec les mémoires RAM : elle font chacune 2 kibioctets, et l'ensemble est vu par le processeur comme une seule RAM de 16 à 64 kibioctets. Et cela grâce aux circuits de décodage d'adresse, qui sont situés en haut à droite de la carte mère.
Pour comprendre l'idée, prenons l'exemple d'un processeur 16 bits, capable de gérer 64 kibioctets de mémoire. L'espace d'adressage est découpé en quatre portions, de 16 kibioctets chacune. Une portion est réservée à une ROM de 16 kibioctet, les autres sont chacune réservée à une RAM de 16 kibioctet. Le décodage d'adresse sélectionne alors la mémoire adéquate en utilisant les deux bits de poids fort de l'adresse.
* S'ils valent 00, alors c'est la mémoire ROM qui est activée, connectée au bus.
* S'ils valent 01, alors c'est la première mémoire RAM qui est connectée au bus.
* S'ils valent 10, alors c'est la seconde mémoire RAM qui est connectée au bus.
* S'ils valent 11, alors c'est la troisième mémoire RAM qui est connectée au bus.
[[File:Décodage d'adresse sur une architecture Von Neumann, utilisant plusieurs RAM et une ROM.png|centre|vignette|upright=3|Décodage d'adresse sur une architecture Von Neumann, utilisant plusieurs RAM et une ROM]]
===L'impact sur la conception du processeur===
Plus haut, j'ai parlé d'un des avantages des architectures Harvard : elles peuvent lire une instruction en même temps qu'elles accèdent à une donnée. La donnée est lue/écrite en RAM, alors que l'instruction est lue en ROM. Et cela permet de simplifier l'intérieur du processeur. Pas de beaucoup, mais c'est déjà ça de pris. Voyons maintenant comment cela impacte l'intérieur du processeur. Tout ce dont vous avez à vous rappeler est la séparation entre chemin de données et unité de contrôle, et que les registres généraux sont dans le premier, le ''program counter'' dans la seconde.
Avec une architecture Harvard, les instructions et les données passent par des bus différent : bus ROM pour les instructions, bus RAM pour les données. L'intuition nous dit que le bus pour la mémoire ROM est connecté à l'unité de contrôle, alors que le bus pour la RAM est connecté au chemin de données. Et dans les grandes lignes, c'est vrai. La logique est imparable pour ce qui est des bus de données. Mais il y a une petite subtilité pour les bus d'adresse.
Pour comprendre comment le processeur exploite ces deux bus, voyons ce qui transite dessus. Pour la mémoire ROM, elle reçoit l'adresse de l'instruction à lire, elle renvoie l'instruction adéquate. Pour cela, le ''program counter'' est envoyé sur le bus d'adresse, l'instruction sur le bus de données. Pour la mémoire RAM, elle échange des données avec les registres généraux, les registres pour les données. Les adresses utilisées pour la RAM viennent elles soit du chemin de données, soit de l'unité de contrôle, tout dépend du mode d'adressage. Mais le ''program counter'' n'est pas impliqué.
[[File:Architecture Harvard - échanges de données.png|centre|vignette|upright=2|Architecture Harvard - échanges de données]]
Les architectures Harvard modifiées doivent cependant rajouter une connexion entre le bus ROM et les registres généraux. C'est nécessaire pour charger une donnée constante depuis la mémoire ROM. Rappelons que la donnée constante est copiée dans un registre général, donc dans le chemin de données.
[[File:Architecture Harvard modifiée - implémentation du processeur.png|centre|vignette|upright=2|Architecture Harvard modifiée - implémentation du processeur]]
Avec les architectures Von Neumann, il y a un seul bus qui est relié à la fois au chemin de données et à l'unité de contrôle. Si le processeur lit une instruction, le bus doit être relié à l'unité de contrôle. Par contre, s'il accède à une donnée, il doit être relié au chemin de données (le bus d'adresse peut éventuellement être connecté au séquenceur, si celui-ci fournit l'adresse à lire). Il faut donc utiliser un paquet de multiplexeurs et de démultiplexeurs pour faire la connexion au bon endroit.
[[File:Architecture Von Neumann - implémentation du processeur.png|centre|vignette|upright=2|Architecture Von Neumann - implémentation du processeur]]
Une instruction se fait en deux temps : on charge l'instruction depuis la mémoire ROM, puis on l'exécute. Avec une architecture Harvard, tout cela se fait en un seul cycle d'horloge, vu que charger la ROM et accéder aux données peut se faire en même temps. Pas avec les architectures Von Neumann, qui doivent libérer le bus mémoire après avoir chargé une instruction. Elles n'ont pas le choix : elles chargent l'instruction lors d'un premier cycle d'horloge, puis l'exécutent lors du second.
Pour cela, ils incorporent un registre appelé le '''registre d'instruction''', qui mémorise l'instruction chargée. L'instruction est copiée dans ce registre lors du premier cycle, puis est utilisée lors du second cycle. Le registre permet de ne pas oublier l’instruction entre les deux cycles. Le registre d'instruction est obligatoire sur les architectures Von Neumann. En comparaison, il est facultatif sur les architectures Harvard. Elles peuvent en avoir un, pour des raisons techniques, mais ce n'est pas obligatoire.
[[File:Registre d'instruction.png|centre|vignette|upright=2|Registre d'instruction.]]
===Les architectures Von Neumann sont plus flexibles===
Sur les architectures Harvard, le processeur sait faire la distinction entre programme et données. Les données sont stockées dans la mémoire RAM, le programme est stocké dans la mémoire ROM. Les deux sont séparés, accédés par le processeur sur des bus séparés, et c'est ce qui permet de faire la différence entre les deux. Il est impossible que le processeur exécute des données ou modifie le programme. Du moins, tant que la mémoire qui stocke le programme est bien une ROM.
Par contre, sur les architectures Von Neumann, il est impossible de distinguer programme et données, sauf en ajoutant des techniques de protection mémoire avancées. La raison est qu'il est impossible de faire la différence entre donnée et instruction, vu que rien ne ressemble plus à une suite de bits qu'une autre suite de bits. Et c'est à l'origine d'un des avantages majeur de l'architecture Von Neumann : il est possible que des programmes soient copiés dans la mémoire RWM et exécutés dans celle-ci.
Un cas d'utilisation familier est celui de votre ordinateur personnel. Le système d'exploitation et les autres logiciels sont copiés en mémoire RAM à chaque fois que vous les lancez. Mais cet exemple implique un disque dur, ce qui rend les choses plus compliquées que prévu. Un autre exemple serait la compilation de code à la volée, mais il ne sera pas très parlant.
Un exemple plus adapté serait celui où la ROM mémorise un programme compressée dans la mémoire ROM, qui est décompressé pour être exécuté en mémoire RAM. Le programme de décompression est stocké en mémoire ROM et est exécuté au lancement de l’ordinateur. Cette méthode permet d'utiliser une mémoire ROM très petite et très lente, tout en ayant un programme rapide (si la mémoire RWM est rapide).
Il est aussi possible de créer des programmes qui modifient leurs propres instructions : cela s'appelle du '''code auto-modifiant'''. Ce genre de choses servait autrefois sur des ordinateurs rudimentaires, au tout début de l'informatique. A l'époque, les adresses à lire/écrire devaient être écrites en dur dans le programme, dans les instructions exécutées. Pour gérer certaines fonctionnalités des langages de programmation qui ont besoin d'adresses modifiables, comme les tableaux, on devait corriger les adresses au besoin avec du code auto-modifiant. De nos jours, le code automodifiant est utilisée occasionnellement pour rendre un programme indétectable dans la mémoire (les virus informatiques utilisent beaucoup ce genre de procédés).
L'impossibilité de séparer données et instructions est à l'origine de problèmes assez fâcheux. Il est parfaitement possible que le processeur charge et exécute des données, qu'il prend par erreur pour des instructions. C'est le cas quand des pirates informatiques arrivent à exploiter des bugs. Il arrive que des pirates informatiques vous fournissent des données corrompues, qui contiennent un virus ou un programme malveillant est caché dans les données. Les bugs en question permettent d'exécuter ces données, donc virus. Pour éviter cela, le système d'exploitation peut marquer certaines zones de la mémoire comme non-exécutable, c’est-à-dire que le système d'exploitation interdit d’exécution de quoi que ce soit qui est dans cette zone. Mais ce n'est pas parfait.
Toujours est-il que tout cela est impossible sur les architectures Harvard. Et ce serait très limitant. Imaginez : pas possible de lancer un programme depuis le disque dur ou une clé USB, le programme doit impérativement être dans une mémoire ROM, pas de compilation à la volée, etc. Que des techniques très utilisées dans l'informatique moderne. Malgré ses défauts, les architectures Von Neumann ne sont pas les plus utilisées pour rien. Les architectures Harvard sont concrètement utilisées uniquement dans l'informatique embarquée, sur des microcontrôleurs très spécifiques.
==Le bus de communication avec les entrées-sorties==
Le processeur, la mémoire et les entrées-sorties sont connectées par un ou plusieurs '''bus de communication'''. Ce bus n'est rien d'autre qu'un ensemble de fils électriques sur lesquels on envoie des zéros ou des uns. Pour communiquer avec la mémoire, il y a trois prérequis qu'un bus doit respecter : pouvoir sélectionner la case mémoire (ou l'entrée-sortie) dont on a besoin, préciser à la mémoire s'il s'agit d'une lecture ou d'une écriture, et enfin pouvoir transférer la donnée. Pour cela, on doit donc avoir trois bus spécialisés, bien distincts, qu'on nommera le bus de commande, le bus d'adresse, et le bus de donnée.
* Le '''bus de données''', sur lequel s'échangent les données entre les composants.
* Le '''bus de commande''' pour configurer la mémoire et les entrées-sorties.
* Le '''bus d'adresse''', facultatif, permet de préciser quelle adresse mémoire il faut lire/écrire.
Chaque composant possède des entrées séparées pour le bus d'adresse, le bus de commande et le bus de données. Par exemple, une mémoire RAM possédera des entrées sur lesquelles brancher le bus d'adresse, d'autres sur lesquelles brancher le bus de commande, et des broches d'entrée-sortie pour le bus de données. Précisons cependant que le bus de commande n'est pas exactement le même entre des mémoires RAM/ROM et des entrées-sorties.
[[File:Bus general schematic.svg|centre|vignette|upright=2|Contenu d'un bus, généralités.]]
===Le réseau d'interconnexion : généralités===
Reprenons où nous nous étions arrêté. Avant de voir les architectures Harvard et Von Neumann, nous avions dit que le processeur, les mémoires et les entrées-sorties sont reliées entre eux par un réseau d'interconnexion. Nous venons de voir qu'il est possible de mutualiser certains bus, notamment celui de la mémoire RAM et celui de la mémoire ROM. Mais il est possible de faire la même chose pour les entrées-sorties. Là encore, il est possible de regrouper le bus mémoire avec les bus pour les entrées-sorties. Voyons ce que cela implique.
{|
|[[File:Réseau d'interconnexion avec un processeur au centre.png|centre|vignette|upright=2|Réseau d'interconnexion avec une architecture Harvard.]]
|[[File:Réseau d'interconnexion avec un processeur au centre et une architecture Harvard.png|centre|vignette|upright=2|Interconnexions d'une architecture Von Neumann.]]
|}
Avant de poursuivre, nous devons préciser quelque chose d'important. Sur les ordinateurs modernes, les entrées-sorties peuvent accéder à la mémoire RAM. Les ordinateurs modernes intègrent des techniques de '''''Direct Memory Access''''' (DMA) qui permettent aux entrées-sorties de lire ou d'écrire en mémoire RAM. Les transferts DMA se font sans intervention du processeur. Ils permettent de copier un bloc de plusieurs octets, dans deux sens : de la mémoire RAM vers une entrée-sortie, ou inversement. Le DMA demande d'ajouter un circuit dédié sur la carte mère : le contrôleur DMA. Il effectue la copie d'un paquet d'octets de la RAM vers l'entrée-sortie ou dans l'autre sens.
[[File:Réseau d'interconnexion avec un processeur au centre, et direct memory access.png|centre|vignette|upright=2|Réseau d'interconnexion avec un processeur au centre, et direct memory access]]
===Les bus systèmes===
La première solution utilise un bus unique, celui-ci est appelé le '''bus système''', aussi appelé ''backplane bus''. Le bus système est connecté à la mémoire RAM, la mémoire ROM, au processeur, et aux entrées-sorties. Tous les composants présents dans l'ordinateur sont connectés à ce bus, sans exception. De tels bus avaient pour avantage la simplicité. Le processeur n'est connecté qu'à un seul bus, ce qui utilise peu de broches et économise des fils. La mutualisation des bus est totale, le câblage est plus simple, la fabrication aussi.
[[File:Architecture minimale d'un ordinateur.png|centre|vignette|upright=2|Architecture minimale d'un ordinateur.]]
Un bus système contient un bus d'adresse, de données et de commande. Un bus système se marie bien avec des entrées-sorties mappées en mémoire. La conséquence est que le bus d'adresse ne sert pas que pour l'accès à la mémoire RAM/ROM, mais aussi pour l'accès aux entrées-sorties. Il y a moyen d'implémenter un système d'adresse séparés avec, mais c'est pas l'idéal.
[[File:Architecture Von Neumann avec les bus.png|centre|vignette|upright=2|Architecture Von Neumann avec les bus.]]
Un bus système n'a pas de limitations quant aux échanges de données. Le processeur peut communiquer directement avec les mémoires et les entrées-sorties, les entrées-sorties peuvent communiquer avec la mémoire RAM, etc. Notamment, un bus système peut implémenter le ''Direct Memory Access''. Il suffit juste de connecter un contrôleur DMA sur le bus système. Le contrôleur DMA est considéré comme une entrée-sortie, ses registres sont mappés en mémoire et sont donc accessibles directement par le processeur.
[[File:Bus système avec controleur DMA.png|centre|vignette|upright=2|Bus système avec contrôleur DMA.]]
Si on suit la définition à la lettre, un bus système est systématiquement une architecture Von Neumann, vu que la mémoire ROM et la mémoire RAM sont reliées sur le bus système. La conséquence est que les circuits de décodage d'adresse sont présents. Ils sont toujours sur la carte mère, et sont plus ou moins à côté du bus système. Cependant, le décodage d'adresse est parfois étendu pour tenir compte des entrées-sorties.
Les entrées-sorties soudées sur la carte mère ont elles aussi des entrées ''Chip Select'' ou quelque chose de similaire. Le décodage d'adresse peut alors les activer ou les désactiver suivant l'adresse envoyée sur le bus d'adresse. C'est ce qui arrive quand le processeur écrit dans un registre d’interfaçage : il envoie l'adresse de ce registre sur le bus d'adresse, le circuit de décodage d'adresse active seulement l'entrée-sortie associée.
Il faut noter que ce n'est pas systématique, il existe des techniques pour se passer de décodage d'adresse. Mais nous en reparlerons dans le chapitre sur les bus de communication.
[[File:Chipselectfr.png|centre|vignette|upright=1.5|Exemple détaillé.]]
Les bus systèmes sont certes très simples, mais ils ont aussi des désavantages. Par exemple, il faut éviter que le processeur et les entrées-sorties se marchent sur les pieds, ils ne peuvent pas utiliser le bus en même temps. De tels conflits d'accès au bus système sont fréquents et ils réduisent la performance, comme on le verra dans le chapitre sur les bus. De plus, un bus système a le fâcheux désavantage de relier des composants allant à des vitesses très différentes : il arrivait fréquemment qu'un composant rapide doive attendre qu'un composant lent libère le bus. Le processeur était le composant le plus touché par ces temps d'attente.
Elle était utilisée sur les tout premiers ordinateurs, pour sa simplicité. Elle était parfaitement adaptée aux anciens composants, qui allaient tous à la même vitesse. De nos jours, les ordinateurs à haute performance ne l'utilisent plus trop, mais elle est encore utilisée sur certains systèmes embarqués, en informatique industrielle dans des systèmes très peu puissants.
===Les bus d'entrées-sorties===
Les bus systèmes ont de nombreux problèmes, ce qui fait que d'anciens ordinateurs faisaient autrement. A la place d'un bus système unique, ils utilisent un bus séparé pour les mémoires, et un autre séparé pour les entrées-sorties. Le bus spécialisé pour la mémoire est appelé le '''bus mémoire''', l'autre bus est appelé le '''bus d'entrées-sorties'''. Le bus mémoire est généralement relié à la fois à la mémoire RAM et à la mémoire ROM, les exceptions ne sont pas rares, cependant.
[[File:Bus mémoire séparé du bus pour les IO.png|centre|vignette|upright=2|Bus mémoire séparé du bus pour les IO]]
Les bus d'entrée-sorties peuvent être spécialisés et simplifiés. Par exemple, ils peuvent avoir un bus de commande différent de celui de la mémoire, qui utilise nettement moins de fils. Le bus d'adresse peut aussi être réduit, et utiliser des adresses plus courtes que celles du bus mémoire. Les bus de données peuvent aussi être de taille différentes. Il est ainsi possible d'avoir un bus mémoire capable de lire/écrire 64 bits à la fois, alors que la communication avec les entrées-sorties se fait octet par octet ! En général, les bus d'entrée-sortie sont assez petits, ils ont une taille de 8 ou 16 bits, même si le bus mémoire est plus grand. Cela permet de ne pas gaspiller trop de broches. Ajouter un bus d'entrée-sortie n'est donc pas très gourmand en broches et en fils.
: Il est en théorie possible d'avoir une fréquence différente pour les deux bus, avec un bus mémoire ultra-rapide et un bus pour les entrées-sorties est un bus moins rapide. Mais il faut que le processeur soit prévu pour, et c'est très rare.
Niveau performances, le processeur peut théoriquement accéder à la mémoire en attendant qu'une entrée/sortie réponde, mais il faut que le processeur soit prévu pour, et ce n'est pas de la tarte. Par contre, cela implique d'avoir des adresses séparées pour les registres d’interfaçage et la mémoire. En clair : pas d'entrée-sortie mappée en mémoire ! Un autre problème est que les entrées-sorties ne peuvent pas communiquer avec la mémoire directement, elles doivent passer par l'intermédiaire du processeur. En clair : pas de ''Direct Memory Access'' ! Les deux sont des défauts rédhibitoires pour les programmeurs système, notamment pour ceux qui codent les pilotes de périphériques.
Pour résumer, les défauts sont assez problématiques : pas d'entrées-sorties mappées en mémoire, pas de ''Direct Memory Access'', économie de broches limitée. Les deux premiers sont des défauts majeurs, qui font que de tels bus ne sont pas utilisés dans les ordinateurs modernes. A la place, ils utilisent une troisième solution, distincte des bus systèmes et des bus d'entrée-sorties.
===Les bus avec répartiteur===
Il existe une méthode intermédiaire, qui garde deux bus séparés pour la mémoire et les entrées-sorties, mais élimine les problèmes de brochage sur le processeur. L'idée est d'intercaler, entre le processeur et les deux bus, un '''circuit répartiteur'''. Il récupère tous les accès et distribue ceux-ci soit sur le bus mémoire, soit sur le bus des périphériques. Le ou les répartiteurs s'appellent aussi le '''''chipset''''' de la carte mère.
C'était ce qui était fait à l'époque des premiers Pentium. À l'époque, la puce de gestion du bus PCI faisait office de répartiteur. Elle mémorisait des plages mémoires entières, certaines étant attribuées à la RAM, les autres aux périphériques mappés en mémoire. Elles utilisaient ces plages pour faire la répartition.
[[File:IO mappées en mémoire avec séparation des bus.png|centre|vignette|upright=2|IO mappées en mémoire avec séparation des bus]]
Niveau adresses des registres d'interfacage, il est possible d'avoir soit des adresses unifiées avec les adresses mémoire, soit des adresses séparées.
L'usage d'un répartiteur ne pose pas de problèmes particuliers pour implémenter le DMA. La seule contrainte est que le contrôleur DMA soit intégré dans le répartiteur. Les échanges entre IO et mémoire passent par le répartiteur, qui fait le pont entre bus mémoire et bus des IO.
[[File:Implémentation du DMA avec un répartiteur.png|centre|vignette|upright=2|Implémentation du DMA avec un répartiteur]]
==Les microcontrôleurs et ''system on chip''==
Parfois, on décide de regrouper la mémoire, les bus, le CPU et les ports d'entrée-sortie dans un seul circuit intégré, un seul boitier. L'ensemble forme alors ce qu'on appelle un '''''System on Chip''''' (système sur une puce), abrévié en SoC. Le nom est assez explicite : un SoC comprend un système informatique complet sur une seule puce de silicium, microprocesseurs, mémoires et périphériques inclus. Ils incorporent aussi des ''timers'', des compteurs, et autres circuits très utiles.
[[File:ARMSoCBlockDiagram.svg|centre|vignette|upright=2|SoC basé sur un processeur ARM, avec des entrées-sorties typiques de celles d'un µ-contrôleur. Le support du bus CAN, d'Ethernet, du bus SPI, d'un circuit de PWM (génération de signaux spécifiques), de convertisseurs analogique-digital et inverse, sont typiques des µ-contrôleurs.]]
Le terme SoC regroupe des circuits imprimés assez variés, aux usages foncièrement différents et à la conception distincte. Les plus simples d’entre eux sont des microcontrôleurs, qui sont utilisés pour des applications à base performance. Les plus complexes sont utilisés pour des applications qui demandent plus de puissance, nous les appellerons SoC haute performance.
La relation entre SoC et microcontrôleurs est assez compliquée à expliquer, la terminologie n'est pas clairement établie. Il existe quelques cours/livres qui séparent les deux, d'autres qui pensent que les deux sont très liés. Dans ce cours, nous allons partir du principe que tous les systèmes qui regroupent processeur, mémoire et quelques périphériques/entrées-sorties sont des SoC. Les microcontrôleurs sont donc un cas particulier de SoC, en suivant cette définition.
===Les microcontrôleurs===
Les '''microcontrôleurs''' sont des composants utilisés dans l'embarqué ou d'informatique industrielle. Leur nom trahit leur rôle. Ils sont utilisés pour contrôler de l'électroménager, des chaines de fabrication dans une usine, des applications robotiques, les alarmes domestiques, les voitures. De manière générale, on les trouve dans tous les systèmes dits embarqués et/ou temps réel. Ils ont besoin de s'interconnecter à un grand nombre de composants et intègrent pour cela un grand nombre d'entrée-sorties. Les microcontrôleurs sont généralement peu puissants, et doivent consommer peu d'énergie/électricité.
[[File:Microcontroller 8051.gif|centre|vignette|upright=2.5|Microcontrôleur Intel 8051.]]
Un microcontrôleur tend à intégrer des entrées-sorties assez spécifiques, qu'on ne retrouve pas dans les SoC destinés au grand public. Un microcontrôleur est typiquement relié à un paquet de senseurs et son rôle est de commander des moteurs ou d'autres composants. Et les entrées-sorties intégrées sont adaptées à cette tâche. Par exemple, ils tendent à intégrer de nombreux convertisseurs numériques-analogiques pour gérer des senseurs. Ils intègrent aussi des circuits de génération de signaux PWM spécialisés pour commander des moteurs, le processeur peut gérer des calculs trigonométriques (utiles pour commander la rotation d'un moteur), etc.
Fait amusant, on en trouve dans certains périphériques informatiques. Par exemple, les anciens disques durs intégraient un microcontrôleur qui contrôlait plusieurs moteurs/ Les moteurs pour faire tourner les plateaux magnétiques et les moteurs pour déplacer les têtes de lecture/écriture étaient commandés par ce microcontrôleur. Comme autre exemple, les claviers d'ordinateurs intègrent un microcontrôleur connecté aux touches, qui détecte quand les touches sont appuyées et qui communique avec l'ordinateur. Nous détaillerons ces deux exemples dans les chapitres dédiés aux périphériques et aux disques durs, tout deviendra plus clair à ce moment là. La majorité des périphériques ou des composants internes à un ordinateur contiennent des microcontrôleurs.
===Les SoC haute performance===
Les SoC les plus performants sont actuellement utilisés dans les téléphones mobiles, tablettes, ''Netbook'', ''smartphones'', ou tout appareil informatique grand public qui ne doit pas prendre beaucoup de place. La petite taille de ces appareils fait qu'ils gagnent à regrouper toute leur électronique dans un circuit imprimé unique. Mais les contraintes font qu'ils doivent être assez puissants. Ils incorporent des processeurs assez puissants, surtout ceux des ''smartphones''. C'est absolument nécessaire pour faire tourner le système d'exploitation du téléphone et les applications installées dessus.
Niveau entrées-sorties, ils incorporent souvent des interfaces WIFI et cellulaires (4G/5G), des ports USB, des ports audio, et même des cartes graphiques pour les plus puissants d'entre eux. Les SoC incorporent des cartes graphiques pour gérer tout ce qui a trait à l'écran LCD/OLED, mais aussi pour gérer la caméra, voire le visionnage de vidéo (avec des décodeurs/encodeurs matériel). Par exemple, les SoC Tegra de NVIDIA incorporent une carte graphique, avec des interfaces HDMI et VGA, avec des décodeurs vidéo matériel H.264 & VC-1 gérant le 720p. Pour résumer, les périphériques sont adaptés à leur utilisation et sont donc foncièrement différents de ceux des microcontrôleurs.
[[File:Phone hardware.png|centre|vignette|upright=2|Hardware d'un téléphone. On voit qu'il est centré autour d'un SoC, complété par de la RAM, un disque dur de faible capacité, de quoi gérer les entrées utilisateurs (l'écran tactile, les boutons), et un modem pour les émissions téléphoniques/2G/3G/4G/5G.]]
Un point important est que les processeurs d'un SoC haute performance sont... performants. Ils sont le plus souvent des processeurs de marque ARM, qui sont différents de ceux utilisés dans les PC fixe/portables grand public qui sont eux de type x86. Nous verrons dans quelques chapitres en quoi consistent ces différences, quand nous parlerons des jeux d'instruction du processeur. Autrefois réservé au monde des PCs, les processeurs multicœurs deviennent de plus en plus fréquents pour les SoC de haute performance. Il n'est pas rare qu'un SoC incorpore plusieurs cœurs. Il arrive même qu'ils soient foncièrement différents, avec plusieurs cœurs d'architecture différente.
La frontière entre SoC haute performance et microcontrôleur est de plus en plus floue. De nombreux appareils du quotidien intègrent des SoC haute performance, d'autres des microcontrôleurs. Par exemple, les lecteurs CD/DVD/BR et certains trackers GPS intègrent un SoC ou des processeurs dont la performance est assez pêchue. À l'opposé, les systèmes domotiques intègrent souvent des microcontrôleurs simples. Malgré tout, les deux cas d'utilisation font que le SoC/microcontrôleur est connecté à un grand nombre d'entrées-sorties très divers, comme des capteurs, des écrans, des LEDs, etc.
[[File:GPS tracker Hardware Architecture.png|centre|vignette|upright=2|Hardware d'un tracker GPS.]]
==Étude de quelques exemples d'architectures==
Après avoir vu la théorie, nous allons voir des exemples réels d'ordinateurs. Dans ce qui suit, nous allons voir des ordinateurs assez anciens, pour une raison simple : ils collent assez bien à l''''architecture de base''' vue plus haut, avec un CPU, une RAM et une ROM, quelques entrées-sorties. Tous les ordinateurs modernes, mais aussi dans les smartphones, les consoles de jeu et autres, utilisent une architecture grandement modifiée et améliorée, avec un grand nombre de périphériques, disques durs/SSD, un grand nombre de mémoires différentes, etc.
Il pourrait sembler pertinent d’étudier des microcontrôleurs ou des ''System On Chip'', en premier lieu. Mais nous éviterons soigneusement de tels systèmes pour le moment. La raison est qu'ils ont un grand nombre d'entrées-sorties, qui sont peu familières. Attendez-vous à avoir près d'une vingtaine ou centaine d'entrée-sorties différentes pour de tels systèmes. Le tout est très complexe, bien trop pour un premier exemple. A la place, nous allons voir précisément des exemples plus simples : les premiers PC, et des consoles de jeu 8 et 16 bits.
Bien que ce soit des systèmes très simples, ils sont cependant plus complexes que l'architecture de base. Et leur avantages/désavantages sont un peu inverse l'un de l'autre. Si on devait résumer les différences, on aurait ceci :
* Les PC ont plus d'entrées-sorties que les consoles, bien que nettement moins que pour les microcontrôleurs/SoC.
* Les PC utilisent des disques durs, les consoles font avec soit des cartouches de jeu, soit des CD/DVD.
* Les PC utilisent des cartes électroniques séparées pour le son et l'écran, les consoles utilisent des circuits soudés sur la carte mère, qui sont souvent des co-processeurs.
* Les PC ont une mémoire ROM soudées sur la carte mère, les consoles 8 bits font sans.
Les PC et micro-ordinateurs ont plus d'entrées-sorties que les consoles. Même si on mets de côté les périphériques, ils ont aussi beaucoup de composants soudées sur la carte mère. En comparaison, les consoles de jeu 8/16 bits se débrouillent avec : une cartouche de jeu et une manette en entrée, une sortie vidéo et une sortie son.
Un autre point important est l'absence de disque dur ou de lecteur CD. La présence d'un disque dur ou d'un lecteur CD/DVD complexifie tout de suite l'architecture des PC. Il faut leur réserver un bus dédié ou les connecter à un bus système, cela demande d'ajouter des circuits sur la carte mère, etc. Et surtout, il faut expliquer comment l'ordinateur exécute des programmes, ce qui demande de parler de l'interaction avec le disque dur et la ROM du BIOS. Rien de tout cela sur les consoles de jeu 8 et 16 bits. Elles utilisent à la place des cartouches de jeu, qui intègrent une mémoire ROM, pour mémoriser les données du jeu, voire son code. Pas besoin de parler des mémoires de stockage, on est beaucoup plus proche de l'architecture de base avec une ROM unique.
Par contre, n'allez pas croire que tout est rose avec les consoles 8/16 bits. Il y a quelques différences qui font qu'elles sont plus complexes qu'un PC sur certains points.
Les PC utilisent des cartes électroniques à brancher sur la carte mère pour alimenter l'écran et les hauts-parleurs/casques, alors que les consoles de jeu utilisent des souvent co-processeurs dédiés pour le son et les graphismes. La différence parait mineure, mais elle avantage les consoles. Nous avons déjà expliqué ce que sont les co-processeurs plus haut, aussi les co-processeurs des consoles nous paraitrons familiers. On n'a pas à s’embêter à expliquer ce que sont les cartes d'extension, les bus associés et tout ce qui va avec, cela peut être retardé pour la section sur l'architecture des PC.
La gestion de la cartouche de jeu est aussi un peu subtile à comprendre, bien que ce soit bien plus simple à comprendre qu'un système avec un disque dur. Les cartouches de jeu intègrent une mémoire ROM, pour mémoriser les données du jeu, voire son code. Et le processeur doit exécuter le code depuis cette mémoire ROM. La conséquence est que les consoles 8/16 bits utilisent une architecture Harvard, avec un bus relié à la cartouche pour lire les instructions. Mais si ce n'était que ça... Les cartouches mémorisent aussi les données pour les graphismes, ce qui fait que le co-processeur vidéo doit lui aussi lire la cartouche pour récupérer ces données...
===L'architecture de la TurboGraphX-16===
La console PC Engine, aussi appelée TurboGraphX, est une ancienne console 8 bits. Elle contient un processeur 65C02, 8 kibioctets de RAM, un port manettes, une carte son et une carte vidéo. La '''carte son''' est le composant qui s'occupe de commander les haut-parleurs et de gérer tout ce qui a rapport au son. La '''carte graphique''' est le composant qui est en charge de calculer les graphismes, tout ce qui s'affiche à l'écran. Sur cette console, les cartes son et graphique ne sont PAS des co-processeurs, ce sont des circuits électroniques dits fixes. C'est totalement différent de ce qu'on a sur les consoles modernes, aussi le préciser est important.
Bien que la carte graphique ne soit pas un processeur, elle a 64 kibioctets de RAM rien que pour elle. La RAM en question est séparée de la RAM normale, c'est un circuit intégré séparé. Et c'est un cas très fréquent, qui reviendra par la suite. La majeure partie des cartes graphiques dispose de leur propre '''mémoire vidéo''', totalement réservée à la carte graphique. La RAM vidéo est connectée à la carte graphique via un bus séparé. Le processeur est souvent connecté à ce bus, afin de pouvoir écrire des données dedans, mais ce n'est pas le cas ici.
[[File:Architecture de la PC Engine, aussi appelée TurboGrafx-16.png|centre|vignette|upright=2.5|Architecture de la PC Engine, aussi appelée TurboGrafx-16]]
L'architecture de la console était particulièrement simple. Le processeur était le centre de l'architecture, tout était connecté dessus. Il y a un bus pour la cartouche de jeu, un autre pour la RAM, un autre pour les manettes, un autre pour carte son, et un dernier pour la carte graphique. Le fait d'avoir un bus par composant est assez rare et ce n'est le cas ici que parce des conditions particulières sont remplies. Déjà, il y a peu d'entrée-sorties. Ensuite, les bus font tous 8 bits, vu que le processeur est un CPU 8 bits. Avec 5 connexions de 8 bits, le tout utilise 40 broches, ce qui est beaucoup, mais totalement gérable. Par contre, les choses changerons pour les autres consoles.
Au final, l'organisation des bus peut s'expliquer avec ce qu'on a vu dans la section sur les bus de communication. La console utilise une architecture Harvard, car la ROM et la RAM utilisent des bus différents. De plus, il y a des bus dédiés aux entrées-sorties, séparés des bus mémoire. Enfin, la carte graphique a droit à ses propres bus pour lire dans la cartouche et dans sa RAM vidéo dédiée.
===L'architecture de la console de jeu NES===
Maintenant, nous allons voir la console de Jeu Famicom, aussi appelée la NES en occident. Elle a une architecture centrée sur un processeur Ricoh 2A03, similaire au processeur 6502, un ancien processeur autrefois très utilisé et très populaire. Le processeur est associé à 2 KB de mémoire RAM.
Sur certaines cartouches, on trouve une RAM utilisée pour les sauvegardes, qui est adressée par le processeur directement. Première variation par rapport à l'architecture de la console précédente : l'ajout de la RAM pour les sauvegardes dans les cartouches.
Niveau carte graphique, une différence importante est que la carte graphique est connectée à la cartouche de jeu via un autre bus, afin de pouvoir lire les sprites et textures du jeu dans la cartouche.
[[File:Architecture de la NES.png|centre|vignette|upright=2.5|Architecture de la NES]]
La différence avec l'architecture précédente est que des bus ont été fusionnés. Comme dit plus haut, le système utilise une architecture Harvard, vu que la ROM est dans la cartouche, alors que la RAM est soudée à la carte mère. Par contre, la Famicon utilise un bus dédié aux entrées-sorties. Il est utilisé pour la carte son et la carte graphique, seules les manettes sont sur un bus à part. Ce qui fait qu'on devrait plutôt parler de bus de sorties, mais passons... L'essentiel est qu'on n'est plus tout à fait dans le cas de la console précédente, avec un bus par composant.
===L'architecture de la SNES===
L'architecture de la SNES est illustrée ci-dessous. Les changements pour le processeur et la RAM sont mineurs.La RAM a augmenté en taille et passe à 128 KB. Pareil pour la RAM de la carte vidéo, qui passe à 64 KB. Par contre, on remarque un changement complet au niveau des bus, de la carte graphique et de la carte son.
[[File:Architecture de la SNES.png|centre|vignette|upright=2|Architecture de la SNES]]
La console utilise un '''bus système unique''', sur lequel tout est connecté : ROM, RAM, entrées-sorties, etc. La seule exception est pour les manettes, qui sont encore connectées directement sur le processeur, via un bus séparé. La transition vers un bus système s'explique par le fait que la console est maintenant de 16 bits, ce qui fait que les bus doivent être plus larges. Le processeur adresse des mémoires RAM et ROM plus grandes, ce qui double la taille de leurs bus. De plus, les entrées-sorties aussi ont besoin d'un bus plus large. Le processeur n'ayant pas un nombre illimité de broches, la seule solution est de fusionner les bus en un seul bus système.
Un autre changement est que la carte graphique est maintenant composée de deux circuits séparés. Encore une fois, il ne s'agit pas de coprocesseurs, mais de circuits non-programmables. Par contre, la carte son est remplacée par deux coprocesseurs audio ! De plus, les deux processeurs sont connectés à une mémoire RAM dédiée de 64 KB, comme pour la carte graphique. L'un est un processeur 8 bits (le DSP), l'autre est un processeur 16 bits.
Un point très intéressant : certains jeux intégraient des coprocesseurs dans leurs cartouches de jeu ! Par exemple, les cartouches de Starfox et de Super Mario 2 contenait un coprocesseur Super FX, qui gérait des calculs de rendu 2D/3D. Le Cx4 faisait plus ou moins la même chose, il était spécialisé dans les calculs trigonométriques, et diverses opérations de rendu 2D/3D. En tout, il y a environ 16 coprocesseurs d'utiliser et on en trouve facilement la liste sur le net. La console était conçue pour, des pins sur les ports cartouches étaient prévues pour des fonctionnalités de cartouche annexes, dont ces coprocesseurs. Ces pins connectaient le coprocesseur au bus des entrées-sorties. Les coprocesseurs des cartouches de NES avaient souvent de la mémoire rien que pour eux, qui était intégrée dans la cartouche.
===L'architecture de la Megadrive et de la néo-géo===
Passons maintenant à la console de jeu Megadrive, une console 16 bits. Elle a une architecture similaire à celle de la néo-géo, une autre console bien plus puissante, sorti à peu près en même temps. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 et le Motorola 68000 étaient deux processeurs très populaires à l'époque. Le Z80 est une sorte de version améliorée de l'Intel 8088 utilisé sur les anciens PC et de nombreuses consoles utilisaient des Z80 comme processeur principal. Il était familier pour les programmeurs de l'époque, pour son cout réduit, sa bonne disponibilité, et bien d'autres avantages liés à sa production de masse.
Le Z80 est utilisé comme co-processeur audio. Il commande un synthétiseur sonore, et est relié à sa propre mémoire, distincte de la mémoire principale. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Le Motorola 68000 était un processeur 16 bits, alors que le Z80 est un processeur 8 bits. Et cette différence fait que l'on ne peut pas connecter directement les deux sur le même bus, ou du moins pas facilement. La solution retenue est d'utiliser deux bus séparés : un bus de 16 bits connecté au 68000, un bus de 8 bits connecté au Z80. Le premier bus est un bus système sur lequel est connecté le 68000, 64 kibioctets de RAM, la cartouche de jeu, et la carte graphique. Le second bus est un bus de 8 bits, plus court, relié au Z80, à un synthétiseur sonore, et 8 kibioctets de RAM
Les deux bus sont connectés à un '''''chipset''''', un circuit répartiteur, qui fait le pont entre les deux bus. Les manettes sont connectées sur le ''chipset''. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'un programme pré-déterminé sur le Z80.
: Pour ceux qui savent ce qu'est une interruption, les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Cet exemple nous montre que les bus systèmes sont certes très simples, mais aussi inflexibles. Ils fonctionnent bien quand les composants branchés dessus sont tous des composants 8 bits, ou sont tous de 16 bits, ou tous 32 bits. Mais dès qu'on mélange composants 8, 16, 32 ou 64 bits, les choses deviennent plus compliquées. Il est alors préférable d'utiliser des bus séparés, avec des répartiteurs pour faire le pont entre les différents bus. Et nous verrons que le problème s'est posé lui aussi sur les PC.
===L'architecture des anciennes consoles Playstation : beaucoup de co-processeurs===
Les consoles que nous venons d'aborder étaient des consoles 8 ou 16 bits. A partir des consoles 32 bits, leur architecture s'est rapprochée de celle des PC, avec un usage plus complexes de répartiteurs. La XBOX était très semblable à un PC : le processeur était un Pentium 3 modifié, la carte graphique était une Geforce 3 modifiée, les 64 mébioctets de RAM était la même mémoire DDR que celle des PC, le répartiteur secondaire était un ''chipset'' nForce de NVIDIA, etc. Mais les Playstation 1, 2 et 3 se distinguent de leur contemporains. Elles disposent de très nombreux co-processeurs, qui sont en plus très variés.
La Playstation 1 a été une des premières console à utiliser les CD-ROM comme support de stockage, en remplacement des cartouches. La conséquence est que la console contient une mémoire ROM, soudée à la carte mère, de 512 kibioctets. Elle contient aussi 2 mébioctets de RAM, une carte graphique avec 1 mébioctet de mémoire vidéo, un processeur, et de quoi gérer les périphériques. Il y a un co-processeur audio spécialisé, avec 512 kibioctets de RAM, ce qui nous est familier. Par contre, les autres co-processeurs ne le sont pas.
Déjà, le lecteur de CD-ROM est associé à des circuits sur la carte mère, il y a tout un sous-système dédié au lecteur de CD. Il y a un contrôleur qui sert d'interface avec le lecteur proprement dit, mais aussi deux co-processeurs audio et 32 kibioctets de RAM. Les co-processeurs audio servent à lire des CD sans trop utiliser le second co-processeur audio, ils lui servent de complément.
Ensuite, le processeur incorpore plusieurs cœurs, avec un cœur principal et plusieurs co-processeurs. Le premier est un co-processeur système, qui est utilisé pour gérer la mémoire cache intégrée au processeur, pour des fonctionnalités appelées interruptions et exceptions, ainsi que pour configurer le processeur. Le second est un co-processeur arithmétique spécialisé dans les calculs en virgule flottante, très importants pour le rendu 3D. Enfin, il y a un décodeur vidéo, qui n'est pas un co-processeur, mais un circuit non-programmable, spécialisé dans le décodage vidéo. De nos jours, ce circuit aurait été intégré dans la carte graphique, mais il était intégré dans le processeur sur la Playstation 2.
Pour le reste, le processeur est la figure centrale de la console. Il est connecté à 4 bus : un pour la RAM, un pour la carte graphique, un pour les manettes, un autre pour le reste. Le dernier bus est connecté au système audio et au système pour le lecteur CD. Ce serait un bus d'entrée-sortie, s'il n'était pas connecté à la mémoire ROM. Vous avez bien lu : la mémoire ROM est reliée au bus d'entrée-sortie.
[[File:Architecture de la Playstation.png|centre|vignette|upright=2.5|Architecture de la Playstation]]
La Playstation 2 est composé d'un processeur, couplé à 32 Mébioctets de RAM, et d'un paquet de co-processeurs. Plus de co-processeurs que la PS1. Le processeur principal n'est pas la même que celui de la PS1, mais il a une architecture similaire. Il intègre un décodeur vidéo sur le même circuit intégré, ainsi que deux co-processeur. Les co-processeurs ne sont cependant pas les mêmes.
Le co-processeur système disparait et est remplacé par un second co-processeur arithmétique. Les deux co-processeurs arithmétiques sont spécialisés dans les nombres flottants, avec quelques différences entre les deux. Par exemple, le second co-processeur gérait des calculs trigonométriques, des exponentielles, des logarithmes, et d'autres fonctions complexes du genre ; mais pas le premier co-processeur. Ils sont reliés à 4 kibioctets de RAM pour le premier, 16 kibioctets de RAM pour le second ; qui sont intégrées dans le processeur et non-représentés dans le diagramme ci-dessous.
La PS2 intègre aussi un co-processeur d'entrées-sorties. Pour information, il s'agit du processeur principal de la Playstation 1, qui est ici utilisé différemment, suivant que l'on place un jeu PS1 ou PS1 dans la console. Si on met un jeu PS1, il est utilisé pour émuler la Playstation 1, afin de faire tourner le jeu PS1 sur la PS2. Si on met un jeu PS2, il est utilisé comme co-processeur d'entrée-sortie et fait l'interface entre CPU et entrées-sorties. Il est relié à 2 mébioctets de RAM, soit exactement la même quantité de mémoire que la Playstation 1.
Tous les périphériques sont connectés au co-processeur d'entrées-sortie. Pour cela, le co-processeur d'entrées-sortie est relié à deux bus dédiés aux périphériques. Le premier bus est relié aux manettes, aux ports USB et aux ports pour cartes mémoires. Le second bus est relié à la carte son, la carte réseau, le lecteur DVD, et un port PCMIA. Notons que la carte son intègre un co-processeur audio, qui n'est pas représenté dans le diagramme ci-dessous.
[[File:Playstation 2 architecture.png|centre|vignette|upright=2.5|Playstation 2 architecture]]
==L'architecture des PC et son évolution==
Après avoir vu les consoles, nous allons maintenant voir les anciens PC, des années 80 ou 90. Le tout premier PC était techniquement l''''IBM PC'''. Par la suite, de nombreux ordinateurs ont tenté de reproduire l'IBM PC originel, avec parfois quelques modifications mineures. De tels ordinateurs ''IBM PC compatibles'', ont été très nombreux, pour des raisons diverses. Le fait d'utiliser des composants banalisés, facilement disponibles, ainsi qu'une bonne documentation de l'IBM PC originel, a grandement aidé. Les IBM PC compatibles ont progressivement évolué pour donner les PC actuels. L'IBM PC compatible a donné naissance à de nombreux standards divers.
===L'IBM PC originel et l'IBM PC XT===
[[File:IBM PC XT 02.jpg|vignette|IBM PC XT.]]
Nous allons commencer par voir l'IBM PC originel, et son successeur : l'IBM Personal Computer XT. Nous les appelerons tous deux l'IBM PC. L'IBM PC utilisait un processeur Intel 8088, qui était un processeur 8 bits. Ils utilisaient un bus système unique, appelé le '''bus XT'''. Le bus système allait à 4.77 MHz, soit la même fréquence que le processeur. C'était un bus de 8 bits, ce qui collait parfaitement avec les processeurs 8 bits commercialisés par Intel à l'époque.
L'IBM PC comprenait une mémoire ROM avec de quoi faire fonctionner le PC. La ROM en question contenait un programme minimal, appelé le '''BIOS''', sans lequel le PC ne fonctionnait pas du tout. Il servait de base pour le système d'exploitation et MS-DOS ne fonctionnait pas sans elle. De nos jours, son rôle est plus limité : sans elle, le PC ne démarre pas. Mais nous détaillerons cela dans le prochain chapitre.
En plus de la ROM pour le BIOS, l'IBM PC avait quatre mémoires ROM dédiée au langage de programmation BASIC. Lorsque le PC démarrait, il ne bootait pas un système d'exploitation, mais lançait l'interpréteur pour le langage BASIC. De nos jours, ce serait l'équivalent d'un ordinateur qui boote directement sur du Python, à savoir la console Python que vous avez peut-être déjà utilisé si vous avez testé Python. Ceux qui ont déjà touché à un ordinateur de l'époque savent ce que ca veut dire, mais c'est malheureusement très difficile à expliquer sans ce genre d'expérience. Toujours est-il que c'était une sorte de norme à l'époque
: les ordinateurs bootaient généralement sur un interpréteur BASIC.
[[File:XT Bus pins.svg|vignette|Connecteur du bus XT.]]
Les PC étaient conçus pour qu'on branche des '''cartes d'extension''', à savoir des cartes électroniques qu'on branchait sur la carte mère, à l'intérieur du PC. Les cartes d'extension de l'époque étaient surtout des cartes son ou des cartes graphiques, mais aussi des cartes pour brancher des péripéhriques. par exemple, on pouvait ajouter deux cartes graphiques dans l'IBM PC originel : l'''IBM Monochrome Display Adapter'' et/ou la ''IBM Color Graphics Adapter''. De nos jours, les cartes son sont intégrées à la carte mère, mais les cartes graphiques sont restées des cartes d'extension.
Les cartes d'extension étaient branchées sur un '''connecteur XT''', qui était directement relié au bus XT. Le connecteur XT est illustré ci-contre, mais ne vous en souciez pas trop pour le moment. La carte mère de l'IBM PC avait 5 connecteurs de ce type, qu'on pouvait peupler avec autant de cartes d'extension. L'IBM Personal Computer XT est passé à 8 connecteurs XT, soit trois de plus.
Pour ce qui est des périphériques, l'IBM PC avait plusieurs connecteurs : un port série, un port parallèle, un port pour le clavier, et un port pour un lecteur cassette. Le clavier et le lecteur cassette étaient connectés directement sur la carte mère, qui contenait quelques circuits pour gérer le clavier. Par contre, les deux premiers n'étaient pas connectés à la carte mère. Le port série était en réalité une carte d'extension, branchée sur un connecteur XT. Et il en est de même pour le port parallèle.
Pour ce qui est des supports de stockage, l'IBM PC originel n'avait pas de disque dur et n'avait que des lecteurs de disquette. De plus, le lecteur de disquette n'était pas connecté directement sur la carte mère, mais était connecté à une carte d'extension, branchée sur un connecteur XT. La carte d'extension avait deux connecteurs, un par lecteur de disquette, ce qui fait que les deux lecteurs de disquettes pouvaient être branchés sur une seule carte d'extension. L'IBM Personal Computer XT a ajouté un disque dur, sauf sur quelques sous-modèles spécifiques.
Le PC avait aussi un petit haut-parleur capable de faire des bips.
Pour résumer, l'IBM PC originel se reposait beaucoup sur les cartes d'extension, sa carte mère contenait peu de choses. Enfin, peu de choses... Il y avait un processeur Intel 8088, éventuellement un coprocesseur flottant 8087, de la RAM, de la ROM, et des circuits intégrés assez divers. En voici la liste, certains vous seront familiers, d'autres vous seront inconnus à ce stade du cours :
* les circuits de décodage d'adresse ;
* un contrôleur DMA intel 8273 ;
* un contrôleur d'interruption 8259 ;
* un contrôleur de bus Intel 8288 pour gérer le bus XT ;
* un générateur d'horloge Intel 8284 et un diviseur de fréquence ;
* un ''timer'' Intel 8253, le même que celui étudié dans le chapitre sur les ''timers'' ;
* un contrôleur parallèle 8255.
Les multiplexeurs, registres et portes logiques, sont des circuits de décodage d'adresse, qui permettent de combiner plusieurs RAM en une seule, idem avec la mémoire ROM. Si vous verrez qu'il y a 5 mémoires ROM : une ROM pour le BIOS, et quatre autres ROM pour le BASIC. Les 4 ROM du BASIC sont combinées en une seule mémoire ROM. Pour les RAM, il y en a 8 à 32, qui sont combinées en une seule RAM de 16 à 64 kibioctets.
[[File:IBM 5150 Motherboard.svg|centre|vignette|upright=3|Carte mère de l'IBM 5150, un modèle de l'IBM PC.]]
===L'architecture d'un IBM PC compatible 16 bits===
Les PC suivants sont passés à des processeurs 16 bits, mais c'était toujours des processeurs x86 d'Intel, à savoir des Intel 286 et 386. La RAM a grossi, quelques entrées-sorties ont été ajoutées, mais l'architecture globale est plus moins resté le même. C'est surtout au niveau du bus et des périphériques que les changements majeurs ont eu lieu.
[[File:ISA Bus pins.svg|vignette|Connecteur ISA.]]
Les PC 16 bits utilisaient un bus système unique, sur lequel tout était connecté : le processeur, la RAM, la ROM, les cartes d'extension et tout le reste. Le bus en question s'appelait le '''bus AT''', mais il a rapidement été renommé en '''bus ISA''' (''Industry Standard Architecture''). Le bus ISA était prévu pour avoir une compatibilité avec le bus 8 bits de l'IBM PC originel. D'ailleurs, cela se ressent jusque dans le connecteur utilisé : le connecteur ISA est un connecteur XT qu'on a fusionné avec un second connecteur pour l'étendre de 8 à 16 bits.
Les PC 16 bits avaient toujours un port série, un port parallèle, un clavier, un lecteur de disquette et des cartes d'extension. Des disques durs pouvaient être ajoutés, aussi. Mais pour ces périphériques, un changement majeur a eu lieu comparé à l'IBM PC originel. L'IBM PC originel utilisait des cartes d'extension pour tout, sauf le clavier. Mais maintenant, les périphériques ne sont plus connectés à une carte d'extension. A la place, les circuits de la carte d'extension sont déplacés sur la carte mère. Mais n'allez pas croire qu'ils étaient connectés directement au bus ISA, il y avait des intermédiaires.
Le clavier était relié à un '''contrôleur de clavier''', qui faisait l'interface entre le connecteur du clavier et le bus ISA. Le contrôleur de clavier était appelé le ''Keyboard Controler'', abrévié en KB. Il recevait ce qui est tapé au clavier et traduisait cela en quelque chose de compréhensible par l'ordinateur.
Les autres périphériques étaient connectés à un circuit intégré dédié : l''''Intel 82091AA'''. Il était connecté au lecteur de disquette, au port série et au port parallèle. Il servait d'intermédiaire entre ces périphériques et le bus ISA. Vous pouvez le voir comme une sorte de répartiteur, mais qui ne serait pas connecté sur le processeur et la RAM
Enfin, il ne faut pas oublier les autres composants présents sur l'IBM PC originel. Le BIOS est toujours là, de même que les ''timers'' Intel 8253 PIT, le contrôleur d'interruption Intel 8259 et le contrôleur DMA Intel 8237. Les PC 16 bits ont aussi intégré une ''Real Time Clock'' (RTC). Pour rappel, c'est un composant qui permet au PC de mémoriser la date et l'heure courante, à la seconde près. Le tout est résumé dans le schéma ci-dessous.
[[File:Architecture de l'IBM PC compatible.png|centre|vignette|upright=2.5|Architecture de l'IBM PC compatible]]
Un point important est que le bus ISA allait à la même fréquence que le processeur, vu que c'était un bus système. Les processeurs de l'époque étaient des CPU 286 d'Intel, ou le 386 d'Intel. Les Intel 286 allaient de 4 MHz minimum, à 25 MHz maximum. Le 386, quant à lui, allait de 12 à 40 MHz. Le bus ISA devait aller à cette fréquence, il était synchrone avec le processeur.
Par la suite, les processeurs ont gagné en performance, ce qui fait que le bus ISA est devenu trop lent pour le processeur. Une idée a alors été de conserver le bus ISA, pour des raisons de compatibilité, mais de le reléguer comme bus secondaire. L'ordinateur contient alors deux bus : un bus système, et un bus ISA secondaire. Le lien entre les deux est réalisé par un '''pont ISA''', ''ISA Bridge'' en anglais. Le bus ISA fonctionnait alors sa fréquence usuelle, alors que le bus système était beaucoup plus rapide. Le bus système fonctionnait à une fréquence bien plus élevée, ce qui fait que le processeur pouvait communiquer à pleine vitesse, notamment avec la RAM. Le processeur n'était alors plus forcé à aller à la même fréquence que le bus ISA
[[File:Architecture de l'IBM PC compatible avec bridge ISA.png|centre|vignette|upright=2.5|Architecture de l'IBM PC compatible avec bridge ISA]]
Les PC de l'époque intégraient donc plusieurs bus séparés. Vous avez bien lu : plusieurs bus ! Ici, il s'agit de ce que j'appelle des '''bus en cascade''', à savoir qu'un bus est connecté à un autre bus par un intermédiaire. Au passage, si j'aborde ces exemples, car c'est pareil sur les ordinateurs modernes. Le pont ISA a été remplacé par des circuits différents, mais qui ont un rôle assez similaire. Le ''chipset'' de votre carte mère n'est qu'un lointain descendant du pont ISA, qui s'interface avec des bus différents.
===L'arrivée des standards AT et IDE pour les disques durs===
Initialement, les disques durs étaient placés dans l'ordinateur et étaient connectés sur le bus ISA, via une carte d'extension ISA. En clair, il fallait connecter le disque dur sur une carte d'extension, et non sur la carte mère. Les cartes d'extension en question permettaient de connecter un ou plusieurs disques durs, parfois des lecteurs de disquette supplémentaires. Les cartes ISA de ce type faisaient juste l'interface entre le bus ISA et les disques durs, rien de plus. L'interface en question a été standardisée, ce qui a donné le standard ''AT Bus Attachment'', qui a été abrévié en ATA.
Et ce n'était pas que pour les disques durs, de nombreux composants étaient dans ce cas. Une carte d'extension servait d'intermédiaire entre eux et la carte mère. Les cartes d'extension en question étaient appelées des ''Host bus adapter''.
[[File:Acculogic sIDE-4 Controller ISA.jpg|centre|vignette|upright=2|Carte ISA d'interface disque dur, de marque Acculogic.]]
Mais les choses ont rapidement évoluées, que ce soit du côté des cartes mères que du côté des disques durs. Le '''standard IDE''' a permis de brancher un disque dur directement sur la carte mère, sans passer par une carte d'interface ISA. Pour cela, la carte mère réservait un connecteur ISA pour le disque dur, renommé '''connecteur ATA'''. Pour que cela soit possible, il a fallu rajouter des circuits sur la carte mère. Tout ce qui était sur les cartes d'interface ISA s'est retrouvé sur la carte mère.
[[File:Ajout des ports IDE sur la carte mère.png|centre|vignette|upright=2|Ajout des ports IDE sur la carte mère]]
En réalité, les connecteurs ATA étaient des connecteurs ISA simplifiés. Un connecteur ISA avait en tout 98 broches, alors qu'un connecteur ATA n'en contient que 40. Les broches qui étaient inutiles pour les disques durs ont simplement été enlevées. Et qui dit connecteur spécialisé, dit câble spécialisé. Les disques durs étaient branchés sur le connecteur AT grâce à un câble ATA, sur lequel on pouvait connecter deux disques durs.
[[File:ATA Plug.svg|centre|vignette|upright=2|Connecteur ATA.]]
[[File:ATA cables.jpg|centre|vignette|upright=2|Cable ATA.]]
Il était donc possible de connecter deux disques durs sur un seul connecteur ATA. Et cette possibilité est devenue d'autant plus utile par la suite. A partir de la version 2, ATA supportait aussi les lecteurs de disquettes, les lecteurs de CD/DVD, et bien d'autres supports de stockage. Il était alors possible de connecter un lecteur CD et un disque dur sur un seul connecteur. Les cartes mères avaient généralement deux connecteurs ATA, et n'avaient pas besoin de plus. C'était suffisant pour connecter un disque dur, un lecteur de disquette et un lecteur CD, configuration courante entre les années 90 et 2000.
Un câble est donc connecté à deux supports de stockage. Pour distinguer les deux, le standard ATA ajoute une possibilité de configuration. Sur un câble, il doit y avoir un support de stockage "maitre" et un support "esclave". C'était la terminologie de l'époque, que je reproduis ici, même si elle est fortement trompeuse. N'allez pas croire que cela implique que l'un ait des avantages sur l'autre. Le support 'maitre" n'a pas droit à plus de bande passante, il n'a pas la priorité sur l'autre, rien du tout. Il s'agit juste d'un nombre qui permet de savoir avec qui le processeur communique, qui vaut 0 pour le premier support, 1 pour l'autre. Une sorte d'adresse de 1 bit, si l'on veut.
[[File:ATA-Konfiguration02.png|centre|vignette|upright=2|Configuration ATA.]]
Pour configurer un support de stockage en mode "maitre" ou "esclave", le support de stockage avait quelques pins dédiés. Il suffisait de placer un détrompeur en plastique sur les pins adéquats. Les pins se trouvaient à l'arrière du disque dur ou du lecteur de CD/DVD/Disquette/autre.
[[File:HDD Master and Slave Description.jpg|centre|vignette|upright=2|Configuration ''Master/Slave''.]]
===L'architecture d'un PC avec un processeur Intel 486===
Maintenant, passons aux ordinateurs 32 bits, avec l'exemple d'un PC avec un processeur 486 d'Intel. A cette époque, le bus ISA était devenu trop limité et était en place d'être remplacé par le bus PCI, qui avait la même fonction. De nombreuses cartes d'extension utilisaient déjà ce standard et étaient branchées sur des connecteurs PCI dédiés, différents des connecteurs ISA. Intuitivement, on se dit que le bus PCI remplaçait le bus ISA, mais les choses étaient plus compliquées. Les disques durs gardaient leur connecteur ATA, et ne passaient pas par le bus PCI. Ils avaient un bus IDE séparé, qui était un bus ISA modifié.
Là encore, les processeurs étaient devenus beaucoup plus rapides que le bus PCI. Les deux allaient à des fréquences assez différentes, ce qui fait que le bus PCI était séparé du bus système. Il y avait alors deux implémentations possibles.
* La première utilise un répartiteur unique, relié au processeur, à la RAM, au bus PCI, et au bus IDE.
* La seconde utilise un bus système séparé du bus PCI, avec un '''pont PCI''' pour faire l'interface entre les deux.
Le '''''System Controler''''' était un circuit intégré, placé sur la carte mère, qui peut servir soit de pont PCI, soit de répartiteur. Le répartiteur PCI sert d'intermédiaire avec le bus PCI, mais aussi avec le bus IDE, utilisé pour les disques durs, aussi appelé le bus ''Parallel ATA''. Il peut aussi être connecté au processeur, à la mémoire RAM, ainsi qu'à la mémoire cache, mais cela ne sert que quand il est utilisé comme répartiteur.
[[File:Architecture d'un PC utilisant un bus PCI, implémentation avec un répartiteur.png|centre|vignette|upright=2|Architecture d'un PC utilisant un bus PCI, implémentation avec un répartiteur]]
Pour des raisons de compatibilité, le bus ISA avait été conservé, aux côtés du bus PCI. Il y avait un pont ISA en plus du pont/répartiteur PCI. Une implémentation possible aurait été de connecter les deux ponts ISA et PCI à un bus système unique. Mais cette solution n'a pas été retenue. La raison est que le bus PCI et le bus ISA ont des performances très différentes. Le bus PCI est très rapide, le bus ISA beaucoup plus lent. La différence est d'un ordre de grandeur, environ. Dans ces conditions, il est possible de faire passer les communications ISA à travers le bus PCI. Pour cela, le pont ISA est directement connecté sur le pont PCI, comme illustré ci-dessous.
Et il en est de même pour le bus dédié aux disques durs. En effet, les disques durs étaient autrefois reliés au bus ISA, mais cela a changé depuis. Ils disposent maintenant de leur propre bus dédié, le '''bus IDE''', qui est un bus ISA simplifié. Et ce bus ISA simplifié était connecté directement sur le pont PCI.
[[File:Architecture de l'IBM PC compatible avec pont PCI.png|centre|vignette|upright=2|Architecture de l'IBM PC compatible avec pont PCI]]
Dans ce qui va suivre, nous allons étudier un exemple qui utilise un bus système séparé, avec un pont PCI, sans répartiteur. Voilà pour les grandes lignes, mais le schéma ci-dessous montre que tout est plus complexe. Vous remarquerez des connexions optionnelles entre le pont PCI et la mémoire RAM et la mémoire cache. La raison est que le pont PCI peut aussi servir de répartiteur en remplacement du bus système. Concrètement, on peut alors retirer le bus système. La mémoire, le bus PCI, le bus ISA, le bus IDE, le processeur et la RAM sont alors connectés au répartiteur PCI, qui sert d'intermédiaire central entre tous ces composants. Mais ce n'est pas la solution qui a été retenue dans notre exemple.
[[File:Intel486-Typ PCI System.png|centre|vignette|upright=2|PC IBM compatible avec un 486, un bus PCI et un bus ISA. Le ''host bus'' est le bus système.]]
Le pont ISA sert ici d'intermédiaire entre le bus système et le bus ISA. De plus, il a été amélioré sur de nombreux points. Il inclut notamment des circuits qui étaient autrefois sur la carte mère, à savoir le contrôleur DMA 82C87 et le contrôleur d'interruption 82C59, ainsi que les ''timers'' Intel 82C54. Les composants restants sont eux reliés sur un quatrième bus : le bus X, l'ancêtre du bus ''Low Pin Count''. Le bus X était celui du BIOS, du contrôleur de clavier, de la ''Real Time Clock'', et du contrôleur de périphérique 82091AA d'Intel.
[[File:ISA Bridge schematic.png|centre|vignette|upright=2|ISA Bridge.]]
===L'architecture des PC des années 90-2000===
Par la suite, les ponts PCI et ISA ont évolué avec l'évolution des bus de l'ordinateur. Le bus ISA a progressivement été remplacé par d'autres bus, comme le bus ''Low Pin Count'', le bus PCI a été remplacé par le PCI Express, d'autres bus ont été ajoutés, etc. Mais la séparation du ''chipset'' en deux a été conservée.
[[File:Chipset schematic.svg|vignette|upright=1.0|Chipset séparé en northbridge et southbridge.]]
Le pont PCI et le pont ISA ont été remplacés respectivement par le '''pont nord''' et le '''pont sud''', plus connus par leurs noms anglais de ''northbridge'' et de ''southbridge''. Le pont nord servait d'interface entre le processeur, la mémoire et la carte graphique et est connecté à chacun par un bus dédié. Il intégrait aussi le contrôleur mémoire. Le pont sud est le répartiteur pour les composants lents, à savoir l'USB, l'Ethernet, etc. Le bus qui relie le processeur au pont nord était appelé le '''''Front Side Bus''''', abrévié en FSB.
[[File:IMac Chipset.png|centre|vignette|upright=2|Chipset séparé en northbridge et southbridge.]]
Un point important est que le bus PCI est devenu un bus assez lent, ce qui fait qu'il a finit par être connecté au pont sud. Le pont PCI est donc devenu le pont sud, dans le courant des années 2000. Durant un moment, un équivalent du pont ISA a subsisté dans un circuit de '''''Super IO'''''. Concrètement, il s'occupait du lecteur de disquette, du port parallèle, du port série, et des ports PS/2 pour le clavier et la souris. Mais il ne gérait pas le bus ISA, mais son remplaçant, le bus ''Low Pin Count''.
[[File:Motherboard diagram fr.svg|centre|vignette|upright=1.5|Carte mère avec circuit Super IO.]]
===L'architecture des PC depuis les années 2000===
Depuis la sortie du processeur AMD Athlon 64, le pont nord a été fusionné dans le processeur. La fusion ne s'est pas faite en une fois, des fonctionnalités ont progressivement été progressivement intégrées dans le processeur. Le pont sud est resté, mais il a alors été progressivement connecté directement au processeur. La raison derrière cette intégration est que les processeurs avaient de plus en plus de transistors à leur disposition. Ils en ont profité pour intégrer le pont nord. Et cela permettait de simplifier le câblage des cartes mères, sans pour autant rendre vraiment plus complexe la fabrication du processeur. Les industriels y trouvent leur compte.
La première étape a été l'intégration du contrôleur mémoire a été intégré au processeur. Concrètement, le résultat était que la mémoire RAM n'était plus connectée au pont nord, mais était connectée directement au processeur ! Il y a donc eu un retour d'un bus mémoire, mais spécialisé pour la mémoire RAM. En théorie, une telle intégration permet diverses optimisations quant aux transferts avec la mémoire RAM. Les transferts ne passent pas par un répartiteur, ce qui réduit le temps d'accès à la mémoire RAM. Ajoutons de sombres histoires de prefetching, d'optimisation des commandes, et j'en passe. Toujours est-il que le pont nord ne servait alors d'intermédiaire que pour les ports PCI Express, et le pont sud.
[[File:X58 Block Diagram.png|centre|vignette|upright=2|Chipset X58 d'Intel.]]
Par la suite, la carte graphique fût aussi connectée directement sur le processeur. Le processeur incorpore pour cela des contrôleurs PCI-Express. Le pont nord a alors disparu complétement, son intégration dans le processeur était complète. Sur les cartes mères Intel récentes, le pont sdud subsiste, il est appelé le ''Platform Controler Hub'', ou PCH. L'organisation des bus sur la carte mère qui résulte de cette connexion du processeur à la carte graphique, est illustrée ci-dessous, avec l'exemple du PCH.
[[File:Intel 5 Series architecture.png|centre|vignette|upright=2|Intel 5 Series architecture]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=L'interface électrique entre circuits intégrés et bus
| prevText=L'interface électrique entre circuits intégrés et bus
| next=La hiérarchie mémoire
| nextText=La hiérarchie mémoire
}}
</noinclude>
ejbyu9t35j4j50wa90sho2pa5lhhve4
Fonctionnement d'un ordinateur/Architectures multiprocesseurs et multicœurs
0
65962
762883
762869
2026-04-04T14:05:46Z
Mewtow
31375
/* Le multiprocesseur/multicœur asymétrique : les co-processeurs */ Déplacement autre chapitre
762883
wikitext
text/x-wiki
Pour réellement tirer parti du parallélisme de taches, rien ne vaut l'utilisation de plusieurs processeurs et/ou de plusieurs cœurs, qui exécutent chacun un ou plusieurs programmes dans leur coin. Des solutions multiprocesseurs ont alors vu le jour pour rendre l'usage de plusieurs processeurs plus adéquat. Avant de poursuivre, nous allons voir les systèmes multiprocesseur à part des processeurs multicœurs. Il faut dire qu'utiliser plusieurs processeurs et avoir plusieurs cœurs sur la même puce, ce n'est pas la même chose. Particulièrement pour ce qui est de la mémoire cache.
Les '''systèmes multiprocesseur''' placent plusieurs processeurs sur la même carte mère. Ils sont courants dans les serveurs ou les ''data centers'', mais sont beaucoup plus rares pour les ordinateurs grand public. Il y a eu quelques systèmes multiprocesseur vendus au grand public dans les années 2000, certaines cartes mères avaient deux sockets pour mettre deux processeurs. Mais les logiciels et les systèmes d'exploitation grand public n'étaient pas adaptés pour, ce qui fait que la technologie est restée confidentielle.
Puis, en 2005, les '''processeurs multicœurs''' sont arrivés. Ils peuvent être vus comme un regroupement de plusieurs processeurs dans le même circuit intégré. Pour être plus précis, ils contiennent plusieurs ''cœurs'', chaque cœur pouvant exécuter un programme tout seul. Un cœur dispose de toute la machinerie électronique pour exécuter un programme, que ce soit un séquenceur d'instruction, des registres, une unité de calcul. Par contre, certains circuits du processeur sont partagés entre les cœurs, comme les circuits d’interfaçage avec la mémoire.
Les processeurs multicœurs sont devenus la norme dans les ordinateurs grand public et les logiciels et systèmes d'exploitation se sont adaptés. Suivant le nombre de cœurs présents dans notre processeur, celui-ci sera appelé un processeur double-cœur (deux cœurs), quadruple-cœur (4 cœurs), octuple-cœur (8 cœurs), etc. Les processeurs grand public ont généralement entre 8 et 16 cœurs, à l'heure où j'écris ces lignes (2025), rarement au-delà. Par contre, les processeurs pour serveurs dépassent la vingtaine de cœurs. Les serveurs utilisent souvent des architectures dites '''''many core''''', qui ont un très grand nombre de cœurs, plus d'une cinquantaine, voire plusieurs centaines ou milliers.
: Dans ce qui suit, nous utiliserons les termes "processeurs" et "cœurs" comme s'ils étaient synonymes. Tout ce qui vaut pour les systèmes multiprocesseur vaut aussi pour les systèmes multicœurs.
==Les interruptions inter-processeurs==
Les différents processeurs sont gérés par le système d'exploitation de l'ordinateur, avec l'aide d''''interruptions inter-processeurs''', des interruptions déclenchées sur un processeur et exécutées sur un autre, éventuellement par tous les autres pour certaines interruptions spécifiques. Pour générer des interruptions inter-processeur, le contrôleur d'interruption doit pouvoir rediriger des interruptions déclenchées par un processeur vers un autre.
Les anciens PC incorporaient sur leur carte mère un contrôleur d'interruption créé par Intel, le 8259A, qui ne gérait pas les interruptions inter-processeurs. Les cartes mères multiprocesseurs devaient incorporer un contrôleur spécial en complément. De nos jours, chaque cœur x86 possède son propre contrôleur d’interruption, le local APIC, qui gère les interruptions en provenance ou arrivant vers ce processeur. On trouve aussi un IO-APIC, qui gère les interruptions en provenance des périphériques et de les redistribuer vers les APIC locaux. L'IO-APIC gère aussi les interruptions inter-processeurs en faisant passer les interruptions d'un local APIC vers un autre. Tous les APIC locaux et l'IO-APIC sont reliés ensembles par un bus APIC spécialisé, par lequel ils vont pouvoir communiquer et s'échanger des demandes d'interruptions.
[[File:Contrôleurs d'interrptions sur systèmes x86 multicoeurs.png|centre|vignette|upright=1.5|Contrôleurs d’interruptions sur systèmes x86 multicœurs.]]
On peut préciser le processeur de destination en configurant certains registres du IO-APIC, afin que celui-ci redirige la demande d'interruption d'un local APIC vers celui sélectionné. Cela se fait avec l'aide d'un registre de 64 bits nommé l'''Interrupt Command Register''. Pour simplifier le mécanisme complet, chaque processeur se voit attribuer un Id au démarrage qui permet de l'identifier (en fait, cet Id est attribué au local APIC de chaque processeur). Certains bits de ce registre permettent de préciser quel est le type de transfert : doit-on envoyer l'interruption au processeur émetteur, à tous les autres processeurs, à un processeur particulier. Dans le dernier cas, certains bits du registre permettent de préciser l'Id du processeur qui va devoir recevoir l'interruption. À charge de l'APIC de faire ce qu'il faut en fonction du contenu de ce registre.
==Le partage des caches==
Quand on conçoit un processeur multicœur, il ne faut pas oublier ce qui arrive à la pièce maîtresse de tout processeur actuel : le cache ! Pour le moment nous allons oublier le fait que les processeurs ont une hiérarchie de caches, avec des caches L1, L2, L3 et autres. Nous allons partir du principe qu'un processeur simple cœur a un seul cache, et voir comment adapter le cache à la présence de plusieurs cœurs. Nous allons rapidement lever cette hypothèse, pour étudier le cas où un processeur multicœur a une hiérarchie de caches, mais seulement après avoir vu le cas le plus simple à un seul cache.
===Le partage des caches sans hiérarchie de caches : caches dédiés et partagés===
Avec un seul niveau de cache, sans hiérarchie, deux solutions sont possibles. La première consiste à garder un seul cache, et de le partager entre les cœurs. L'autre solution est de dupliquer le cache et d'utiliser un cache par cœur. Les deux solutions sont appelées différemment. On parle de '''caches dédiés''' si chaque cœur possède son propre cache, et de '''cache partagé''' avec un cache partagé entre tous les cœurs. Ces deux méthodes ont des inconvénients et des avantages.
{|
|[[File:Caches dédiés.png|vignette|Caches dédiés]]
|[[File:Caches partagés.png|vignette|Cache partagé]]
|}
Le premier point sur lequel comparer caches dédiés et partagés est celui de la capacité du cache. La quantité de mémoire cache que l'on peut placer dans un processeur est limitée, car le cache prend beaucoup de place, près de la moitié des circuits du processeur. Aussi, un processeur incorpore une certaine quantité de mémoire cache, qu'il faut répartir entre un ou plusieurs caches. Les caches dédiés et partagés ne donnent pas le même résultat. D'un côté, le cache partagé fait que toute la mémoire cache est dédiée au cache partagé, qui est très gros. De l'autre, on doit répartir la capacité du cache entre plusieurs caches séparés, individuellement plus petits. En conséquence, on a le choix entre un petit cache pour chaque processeur ou un gros cache partagé.
Le choix entre les deux n'est pas simple, mais doit tenir compte du fait que les programmes exécutés sur les cœurs n'ont pas les mêmes besoins. Certains programmes sont plus gourmands et demandent beaucoup de cache, alors que d'autres utilisent peu la mémoire cache. Avec un cache dédié, tous les programmes ont accès à la même quantité de cache, car les caches des différents cœurs sont de la même taille. Les caches dédiés étant assez petits, les programmes plus gourmands devront se débrouiller avec un petit cache, alors que les autres programmes auront du cache en trop.
À l'opposé, un cache partagé répartit le cache de manière optimale : un programme gourmand peut utiliser autant de cache qu'il veut, laissant juste ce qu'il faut aux programmes moins gourmands. le cache peut être répartit plus facilement selon les besoins des différents programmes.
[[File:Cache partagé contre cache dédié.png|centre|vignette|upright=2.5|Cache partagé contre cache dédié]]
Un autre avantage des caches partagés est quand plusieurs cœurs accèdent aux même données. C'est un cas très courant, souvent lié à l'usage de mémoire partagé ou de ''threads''. Avec des caches dédiés, chaque cœur a une copie des données partagées. Mais avec un cache partagé, il n'y a qu'une seule copie de chaque donnée, ce qui utilise moins de mémoire cache. Imaginons que l'on sait 8 caches dédiés de 8 Kibioctets, soit 64 kibioctets au total, comparé à un cache partagé de même capacité totale. Les doublons dans les caches dédiés réduiront la capacité mémoire utile, effective, comparé à un cache partagé. S'il y a 1 Kibioctet de mémoire partagé, 8 kibioctets seront utilisés pour stocker ces données en doublons, seulement 1 kibioctet sur un cache partagé. Ajoutons aussi que la cohérence des caches est grandement simplifiée avec l'usage d'un cache partagé, vu que les données ne sont pas dupliquées dans plusieurs caches.
Mais le partage du cache peut se transformer en inconvénient si les programmes entrent en compétition pour le cache, que ce soit pour y placer des données ou pour les accès mémoire. Deux programmes peuvent vouloir accéder au cache en même temps, voire carrément se marcher sur les pieds. La résolution des conflits d'accès au cache est résolu soit en prenant un cache multiport, avec un port dédié par cœur, soit par des mécanismes d'arbitrages avec des circuits dédiés. Le revers de la médaille tient au temps de latence. Plus un cache est gros, plus il est lent. En conséquence, des caches dédiés seront plus rapides qu'un gros cache partagé plus lent.
===Le partage des caches adapté à une hiérarchie de caches===
Dans la réalité, un processeur multicœur ne contient pas qu'un seul cache, mais une hiérarchie de caches avec des caches L1, L2 et L3, parfois L4. Dans cette hiérarchie, certains caches sont partagés entre plusieurs cœurs, les autres sont dédiés. Le cache L1 n'est jamais partagé, car il doit avoir un temps d'accès très faible. Pour les autres caches, tout dépend du processeur.
[[File:Dual Core Generic.svg|vignette|Cache L2 partagé.]]
Les premiers processeurs multicœurs commerciaux utilisaient deux niveaux de cache : des caches L1 dédiés et un cache L2 partagé. Le cache L2 partagé était relié aux caches L1, grâce à un système assez complexe d'interconnexions. Le cache de niveau L2 était souvent simple port, car les caches L1 se chargent de filtrer les accès aux caches de niveau inférieurs.
Les processeurs multicœurs modernes ont des caches L3 et même L4, de grande capacité, ce qui a modifié le partage des caches. Le cache de dernier niveau, à savoir le cache le plus proche de la mémoire, est systématiquement partagé, car son rôle est d'être un cache lent mais gros. Il s'agit le plus souvent d'un cache de L3, plus rarement L4. Sur certains processeurs multicœurs, le cache de dernier niveau n'est techniquement pas dans le cœur, mais fait partie d'un ensemble de circuits reliés, comme le contrôleur mémoire ou l'interface mémoire. Il fonctionne à une fréquence différente du processeur, n'a pas la même tension d'alimentation, etc.
Le cas du cache L2 dépend des architectures : il est partagé sur certains processeurs, dédié sur d'autres. Mais sur les processeurs modernes, c'est un cache dédié soit par cœur, soit pour un groupe de cœurs. Dans le cas le plus courant, chaque cache L2 est partagé entre plusieurs cœurs mais pas à tous. En effet, on peut limiter le partage du cache à quelques cœurs particuliers pour des raisons de performances.
[[File:Partage des caches sur un processeur multicoeurs.png|centre|vignette|upright=2.0|Partage des caches sur un processeur multicœur.]]
D'autres processeurs ont des caches L2 dédiés. Il s'agit surtout des processeurs multicœurs anciens, parmi les premières générations de processeurs multicœurs. Un exemple est celui de la microarchitecture Nehalem d'Intel. Il avait des caches L1 et L2 dédiés, mais un cache L3 partagé.
[[File:Nehalem EP.png|centre|vignette|upright=2.0|Partage des caches sur un processeur Intel d'architecture Nehalem.]]
===Les caches partagés centralisés et distribués===
Un point important est que quand on parle de cache partagé ou de cache dédié, on ne parle que de la manière dont les cœurs peuvent accéder au cache, pas de la manière dont le caches est réellement localisé sur la puce. En théorie, qui dit plusieurs caches dédiés signifie que l'on a vraiment plusieurs caches séparés sur la puce. Et chaque cache dédié est proche du cœur qui lui est attribué. Et pour les caches partagés unique, une portion de la puce de silicium contient le cache, que cette portion est un énorme bloc de transistors. Il est généralement placé au milieu de la puce ou sur un côté, histoire de facilement le connecter à tous les cœurs.
Mais pour les caches séparés, ce n'est pas toujours le cas. Avoir un cache énorme poserait des problèmes sur les architectures avec beaucoup de cœurs. En réalité, le cache est souvent découpé en plusieurs banques, reliées à un contrôleur du cache par un système d'interconnexion assez complexe. Les banques sont physiquement séparées, et il arrive qu'elles soient placées proche d'un cœur chacune. L'organisation des banques ressemble beaucoup à l'organisation des caches dédiés, avec une banque étant l'équivalent d'un cache dédié. La différence est que les cœurs peuvent lire et écrire dans toutes les banques, grâce au système d'interconnexion et au contrôleur de cache.
Tel était le cas sur les processeurs AMD Jaguar. Ils avaient un cache L2 de 2 mébioctets, partagés entre tous les cœurs, qui était composé de 4 banques de 512 Kibioctets. Les quatre banques du cache étaient reliées aux 4 cœurs par un réseaux d'interconnexion assez complexe.
[[File:AMDJaguarModule.png|centre|vignette|upright=2|AMD Jaguar Module]]
La différence entre les deux solutions pour les caches partagés porte le nom de cache centralisés versus distribués. Un gros cache unique sur la puce est un '''cache centralisé''', et c'est généralement un cache partagé. Mais un cache composé de plusieurs banques dispersées sur la puce est un '''cache distribué''', qui peut être aussi bien dédié que partagé.
===Les caches virtualisés===
Il faut noter que quelques processeurs utilisent cette technique pour fusionnent le cache L2 et le cache L3. Par exemple, les processeurs IBM Telum utilisent des caches L3 virtualisés, dans leurs versions récentes. Le processeur Telum 2 contient 10 caches L2 de 36 mébioctets chacun, soit 360 mébioctets de cache. L'idée est que ces 360 mébioctets sont partagés à la demande entre cache L2 dédié et cache L3. On parle alors de '''cache virtualisé'''.
Un cache de 36 mébioctet est associé à un cœur, auquel il est directement relié. Les cœurs n'utilisent pas tous leur cache dédié à 100% Il arrive que des cœurs aient des caches partiellement vides, alors que d'autres on un cache qui déborde. L'idée est que si un cœur a un cache plein, les données évincées du cache L2 privé sont déplacées dans le cache L2 d'un autre cœur, qui lui est partiellement vide. Le cache L2 en question est alors partitionné en deux : une portion pour les données associée à son cœur, une portion pour les données des L2 des autres cœurs.
Pour que la technique fonctionne, le processeur mesure le remplissage de chaque cache L2. De plus, il faut gérer la politique de remplacement des lignes de cache. Une ligne de cache évincée du cache doit être déplacé dans un autre L2, pas dans les niveaux de cache inférieur, ni dans la mémoire. Du moins, tant qu'il reste de la place dans le cache L3. De plus, une lecture/écriture dans le cache L3 demande de localiser le cache L2 contenant la donnée. Pour cela, les caches L2 sont tous consultés lors d'un accès au L3, c'est la solution la plus simple, elle marche très bien si le taux de défaut du cache L2 est faible.
Une telle optimisation ressemble beaucoup à un cache L2/L3 distribué, mais il y a quelques différences qui sont décrites dans le paragraphe précédent. Avec un L2 distribué, tout accès au L2 déclencherait une consultation de toutes les banques du L2. Avec un cache L3 virtualisé, ce n'est pas le cas. Le cache L2 associé au cœur est consulté, et c'est seulement en cas de défaut de cache que les autres caches L2 sont consultés. De plus, avec un cache L2 distribué, il n'y a pas de déplacement d'une ligne de cache entre deux banques, entre deux caches L2 physiques. Alors qu'avec un cache L3 virtualisé, c'est le cas en cas de remplacement d'une ligne de cache dans le cache L2.
Sur le processeur Telum 1, le partage du cache L2 est assez simple. Un cache L2 fait 32 mébioctets et est découpé en deux banques de 16 mébioctets. En temps normal, les premiers 16 mébioctets sont toujours associé au cache L2, au cœur associé. Les 16 mébioctets restants peuvent soit être attribués au cache L3, soit fusionnés avec les 16 premiers mébioctets. Dans le cas où le cœur associé est en veille, n'est absolument pas utilisé, les 32 mébioctets sont attribués au cache L3. Un partage assez simple, donc. Le partage du cache L2/L3 sur les processeurs Telum 2 n'est pas connu, il est supposé être plus flexible.
==Le réseau d'interconnexion entre cœurs==
Les systèmes avec plusieurs processeurs incorporent un réseau d'interconnexion pour connecter les processeurs entre eux, ainsi qu'à la mémoire RAM. Il s'agit d'un '''réseau d'interconnexion inter-processeur''', placé sur la carte mère. Les CPU multicœurs ont aussi un tel réseau d'interconnexion, pour relier les cœurs entre eux. La différence est que le réseau d'interconnexion est placé dans le processeur, pas sur la carte mère.
Les systèmes multi-cœurs modernes utilisent des réseaux d'interconnexion standardisés, les standards les plus communs étant l'HyperTransport, l'Intel QuickPath Interconnect, l'IBM Elastic Interface, le Intel Ultra Path Interconnect, l'Infinity Fabric, etc. Ils sont aussi utilisés pour faire communiquer entre eux plusieurs processeurs.
[[File:Architecture multicoeurs et réseau sur puce.png|centre|vignette|upright=1.5|Architecture multicoeurs et réseau sur puce]]
===Le bus partagé entre plusieurs cœurs===
Pour un faible nombre de coeurs/processeurs, la solution utilisée relie les processeurs entre eux grâce au bus mémoire. Le bus mémoire est donc un '''bus partagé''', avec tout ce que cela implique.
[[File:Architecture multicoeurs à bus partagé.png|centre|vignette|upright=2|Architecture multiprocesseurs à bus partagé]]
Pour les systèmes multicœurs, l'usage d'un bus partagé doit être adaptée pour tenir compte des caches partagés. Voyons d'abord le cas d'un CPU avec deux niveaux de cache, dont un cache L2 est partagé entre tous les cœurs. Les caches L1 sont reliés au cache L2 partagé par un bus, qui n'a souvent pas de nom. Nous désignerons le bus entre le cache L1 et le cache L2 : '''bus partagé''', sous-entendu partagé entre tous les caches. C'est lui qui sert à connecter les cœurs entre eux.
[[File:Architecture multicoeurs à bus partagé entre caches L1 et L2.png|centre|vignette|upright=2|Architecture multicoeurs à bus partagé entre caches L1 et L2]]
Un processeur multicœur typique a une architecture avec trois niveaux de cache (L1, L2 et L3), avec un niveau L1 dédié par cœur, un niveau L2 partiellement partagé et un L3 totalement partagé. Le bus partagé est alors difficile à décrire, mais il correspond à l'ensemble des bus qui connectent les caches L1 aux caches L2, et les caches L2 au cache L3. Il s'agit alors d'un ensemble de bus, plus que d'un bus partagé unique.
L'usage d'un bus partagé a cependant de nombreux défauts. Par exemple, les processeurs doivent se répartir l'accès au bus mémoire, il faut gérer le cas où deux processeurs accèdent au bus en même temps, etc. Pour cela, un composant dédié s'occupe de l'arbitrage entre processeurs. Il est généralement placé sur la carte mère de l'ordinateur, dans le ''chipset'', dans le pont nord, ou un endroit proche. D'autres défauts très importants seront abordés en détail dans le chapitre sur la cohérence des caches
[[File:Intel486 System Arbitration.png|centre|vignette|upright=2|Système avec deux Intel486 - Arbitrage du bus mémoire.]]
===Le réseau d'interconnexion entre plusieurs cœurs===
Relier plusieurs cœurs avec des bus pose de nombreux problèmes techniques qui sont d'autant plus problématiques que le nombre de cœurs augmente. Le câblage est notamment très complexe, les contraintes électriques pour la transmission des signaux sont beaucoup plus fortes, les problèmes d'arbitrages se font plus fréquents, etc. Pour régler ces problèmes, les processeurs multicoeurs n'utilisent pas de bus partagé, mais un réseau d'interconnexion plus complexe.
Un exemple de réseau d'interconnexion est celui des architectures AMD EPYC, de microarchitecture Zen 1. Elles utilisaient des chiplets, à savoir que le processeur était composé de plusieurs puces interconnectées entre elles. Chaque puce contenait un processeur multicoeurs intégrant un cache L3, avec un réseau d'interconnexion interne au processeur sans doute basé sur un ensemble de bus. De plus, les puces étaient reliées à une puce d'interconnexion qui servait à la fois d'interface entre les processeurs, mais aussi d'interface avec la R1AM, le bus PCI-Express, etc. La puce d'interconnexion était gravée en 14 nm contre 7nm pour les chiplets des cœurs.
{|
|[[File:AMD Epyc 7702 delidded.jpg|centre|vignette|upright=2|AMD Epyc 7702.]]
|[[File:AMD Epyc Rome Aufbau.png|centre|vignette|upright=2|Schéma fonctionnel de l'AMD Epyc.]]
|}
Le réseau d'interconnexion peut être très complexe, avec des connexions réseau, des commutateurs, et des protocoles d'échanges entre processeurs assez complexes basés sur du passage de messages. De telles puces utilisent un '''réseau sur puce''' (''network on chip''). Mais d'autres simplifient le réseau d'interconnexion, qui se résume à un réseau ''crossbar'', voire à des mémoires FIFO pour faire l'interface entre les cœurs.
Le problème principal des réseaux sur puce est que les mémoires FIFOs sont difficiles à implémenter sur une puce de silicium. Elles prennent beaucoup de place, utilisent beaucoup de portes logiques, consomment beaucoup d'énergie, sont difficiles à concevoir pour diverses raisons (les accès concurrents/simultanés sont fréquents et font mauvais ménage avec les ''timings'' serrés de quelques cycles d'horloges requis). Il est donc impossible de placer beaucoup de mémoires FIFO dans un processeur, ce qui fait que les commutateur sont réduits à leur strict minimum : un réseau d'interconnexion, un système d'arbitrage simple parfois sans aucune FIFO, guère plus.
===Les architectures en ''tile''===
Un cas particulier de réseau sur puce est celui des '''architectures en ''tile''''', des architectures avec un grand nombre de cœurs, connectés les unes aux autres par un réseau d'interconnexion "rectangulaire". Chaque cœur est associé à un commutateur (''switch'') qui le connecte au réseau d'interconnexion, l'ensemble formant une ''tile''.
[[File:Tile64-Tile.svg|centre|vignette|upright=1.5|''Tile'' de base du Tile64.]]
Le réseau est souvent organisé en tableau, chaque ''tile'' étant connectée à plusieurs voisines. Dans le cas le plus fréquent, chaque ''tile'' est connectée à quatre voisines : celle du dessus, celle du dessous, celle de gauche et celle de droite. Précisons que cette architecture n'est pas une architecture distribuée dont tous les processeurs seraient placés sur la même puce de silicium. En effet, la comparaison ne marche pas pour ce qui est de la mémoire : tous les cœurs accèdent à une mémoire partagée située en dehors de la puce de silicium. Le réseau ne connecte pas plusieurs ordinateurs séparés avec chacun leur propre mémoire, mais plusieurs cœurs qui accèdent à une mémoire partagée.
Un bon exemple d'architecture en ''tile'' serait les déclinaisons de l'architecture Tilera. Les schémas du-dessous montrent l'architecture du processeur Tile 64. Outre les ''tiles'', qui sont les éléments de calcul de l'architecture, on trouve plusieurs contrôleurs mémoire DDR, divers interfaces réseau, des interfaces série et parallèles, et d'autres entrées-sorties.
[[File:Tile64.svg|centre|vignette|upright=2|Architecture Tile64 du Tilera.]]
==Annexe : les architectures à cœurs conjoints==
Sur certains processeurs multicœurs, certains circuits sont partagés entre plusieurs cœurs. Typiquement, l'unité de calcul flottante est partagée entre deux coeurs/''threads'', les unités SIMD qu'on verra dans quelques chapitres sont aussi dans ce cas. Le partage de circuits permet d'éviter de dupliquer trop de circuits et donc d'économiser des transistors. Le problème est que ce partage est source de dépendances structurelles, ce qui peut entraîner des pertes de performances.
Cette technique consistant de partage d'unités de calcul entre coeurs s'appelle le '''cluster multithreading''', ou encore les '''architectures à cœurs conjoints''' (''Conjoined Core Architectures''). Elle est notamment utilisée sur les processeurs AMD de microarchitecture Bulldozer, incluant ses trois révisions ultérieures nommées Piledriver, Steamroller et Excavator. Un exemple est celui des processeurs AMD FX-8150 et FX-8120.
Sur ces processeurs, les instructions sont chargées dans deux files d'instructions séparées, une par ''thread'' matériel. Les instructions sont ensuite décodées par un décodeur unique et renommées dans une unité de renommage unique. Par la suite, il y a deux voies entières séparées et une voie flottante partagée. Chaque voie entière a sa propre fenêtre d'instruction entière, son tampon de ré-ordonnancement, ses unités de calcul dédiées, ses registres, sa ''load-store queue'', son cache L1. Par contre, la voie flottante partage les unités de calcul flottantes et n'a qu'une seule fenêtre d'instruction partagée par les deux ''threads''.
[[File:AMD Bulldozer microarchitecture.png|centre|vignette|upright=3|Microarchitecture Bulldozer d'AMD.]]
La révision Steamroller sépara le ''front-end'' en deux voies distinctes, une par ''thread''. Concrètement, elle ajouta un second décodeur d'instruction, une seconde file de micro-opération et une seconde unité de renommage de registres, afin d'améliorer les performances. Niveaux optimisations mineures, les stations de réservation ont été augmentées, elles peuvent mémoriser plus de micro-opérations, idem pour les bancs de registre et les files de lecture/écriture. Un cache de micro-opérations a été ajouté, de même que des optimisations quant au renommage de registre. Des ALU ont aussi été ajoutées, des FPU retirées.
[[File:AMD excavator microarchitecture.png|centre|vignette|upright=3|Microarchitecture Excavator d'AMD.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures parallèles
| prevText=Les architectures parallèles
| next=Architectures multithreadées et Hyperthreading
| nextText=Architectures multithreadées et Hyperthreading
}}
</noinclude>
eojzz1wo8hx4a3ncrc3tui0pda9nrc2
762884
762883
2026-04-04T14:06:03Z
Mewtow
31375
762884
wikitext
text/x-wiki
Pour réellement tirer parti du parallélisme de taches, rien ne vaut l'utilisation de plusieurs processeurs et/ou de plusieurs cœurs, qui exécutent chacun un ou plusieurs programmes dans leur coin. Des solutions multiprocesseurs ont alors vu le jour pour rendre l'usage de plusieurs processeurs plus adéquat. Avant de poursuivre, nous allons voir les systèmes multiprocesseur à part des processeurs multicœurs. Il faut dire qu'utiliser plusieurs processeurs et avoir plusieurs cœurs sur la même puce, ce n'est pas la même chose. Particulièrement pour ce qui est de la mémoire cache.
Les '''systèmes multiprocesseur''' placent plusieurs processeurs sur la même carte mère. Ils sont courants dans les serveurs ou les ''data centers'', mais sont beaucoup plus rares pour les ordinateurs grand public. Il y a eu quelques systèmes multiprocesseur vendus au grand public dans les années 2000, certaines cartes mères avaient deux sockets pour mettre deux processeurs. Mais les logiciels et les systèmes d'exploitation grand public n'étaient pas adaptés pour, ce qui fait que la technologie est restée confidentielle.
Puis, en 2005, les '''processeurs multicœurs''' sont arrivés. Ils peuvent être vus comme un regroupement de plusieurs processeurs dans le même circuit intégré. Pour être plus précis, ils contiennent plusieurs ''cœurs'', chaque cœur pouvant exécuter un programme tout seul. Un cœur dispose de toute la machinerie électronique pour exécuter un programme, que ce soit un séquenceur d'instruction, des registres, une unité de calcul. Par contre, certains circuits du processeur sont partagés entre les cœurs, comme les circuits d’interfaçage avec la mémoire.
Les processeurs multicœurs sont devenus la norme dans les ordinateurs grand public et les logiciels et systèmes d'exploitation se sont adaptés. Suivant le nombre de cœurs présents dans notre processeur, celui-ci sera appelé un processeur double-cœur (deux cœurs), quadruple-cœur (4 cœurs), octuple-cœur (8 cœurs), etc. Les processeurs grand public ont généralement entre 8 et 16 cœurs, à l'heure où j'écris ces lignes (2025), rarement au-delà. Par contre, les processeurs pour serveurs dépassent la vingtaine de cœurs. Les serveurs utilisent souvent des architectures dites '''''many core''''', qui ont un très grand nombre de cœurs, plus d'une cinquantaine, voire plusieurs centaines ou milliers.
Sur les processeurs grand public actuels, les cœurs d'un processeur multicœurs sont tous identiques. Mais ce n'est certainement pas une obligation. On peut très bien regrouper plusieurs cœurs très différents, par exemple un cœur principal avec des cœurs plus spécialisés autour. Il faut ainsi distinguer le '''multicœurs symétrique''', dans lequel on place des processeurs identiques sur la même puce de silicium, du '''multicœurs asymétrique''' où les cœurs ne sont pas identiques. Et il en est de même sur les systèmes avec plusieurs processeurs : on parle de '''multiprocesseur symétrique''' si les processeurs sont identiques, '''multiprocesseur asymétrique''' s'ils sont différents.
Précisons ce que nous entendons par "cœurs différents" ou "identiques". Les processeurs Intel modernes utilisent deux types de cœurs différents : des cœurs P et des cœurs E. Le P est pour ''Performance'', le E est pour "Efficiency". Les deux ont le même jeu d'instruction : ce sont des processeurs x86. Par contre, ils ont des microarchitectures différentes. Et Intel n'est pas le seul à utiliser cette technique : ARM a fait pareil avec ses CPU d'architecture ''Big-little''. Il n'est pas clair si de telles organisation sont du multicœur symétrique ou asymétrique. Le jeu d'instruction est identique, sauf éventuellement pour certaines extension comme l'AVX. Les deux coeurs n'ont pas les mêmes performances, mais est-ce suffisant ? La terminologie n'est pas claire.
: Dans ce qui suit, nous utiliserons les termes "processeurs" et "cœurs" comme s'ils étaient synonymes. Tout ce qui vaut pour les systèmes multiprocesseur vaut aussi pour les systèmes multicœurs.
==Les interruptions inter-processeurs==
Les différents processeurs sont gérés par le système d'exploitation de l'ordinateur, avec l'aide d''''interruptions inter-processeurs''', des interruptions déclenchées sur un processeur et exécutées sur un autre, éventuellement par tous les autres pour certaines interruptions spécifiques. Pour générer des interruptions inter-processeur, le contrôleur d'interruption doit pouvoir rediriger des interruptions déclenchées par un processeur vers un autre.
Les anciens PC incorporaient sur leur carte mère un contrôleur d'interruption créé par Intel, le 8259A, qui ne gérait pas les interruptions inter-processeurs. Les cartes mères multiprocesseurs devaient incorporer un contrôleur spécial en complément. De nos jours, chaque cœur x86 possède son propre contrôleur d’interruption, le local APIC, qui gère les interruptions en provenance ou arrivant vers ce processeur. On trouve aussi un IO-APIC, qui gère les interruptions en provenance des périphériques et de les redistribuer vers les APIC locaux. L'IO-APIC gère aussi les interruptions inter-processeurs en faisant passer les interruptions d'un local APIC vers un autre. Tous les APIC locaux et l'IO-APIC sont reliés ensembles par un bus APIC spécialisé, par lequel ils vont pouvoir communiquer et s'échanger des demandes d'interruptions.
[[File:Contrôleurs d'interrptions sur systèmes x86 multicoeurs.png|centre|vignette|upright=1.5|Contrôleurs d’interruptions sur systèmes x86 multicœurs.]]
On peut préciser le processeur de destination en configurant certains registres du IO-APIC, afin que celui-ci redirige la demande d'interruption d'un local APIC vers celui sélectionné. Cela se fait avec l'aide d'un registre de 64 bits nommé l'''Interrupt Command Register''. Pour simplifier le mécanisme complet, chaque processeur se voit attribuer un Id au démarrage qui permet de l'identifier (en fait, cet Id est attribué au local APIC de chaque processeur). Certains bits de ce registre permettent de préciser quel est le type de transfert : doit-on envoyer l'interruption au processeur émetteur, à tous les autres processeurs, à un processeur particulier. Dans le dernier cas, certains bits du registre permettent de préciser l'Id du processeur qui va devoir recevoir l'interruption. À charge de l'APIC de faire ce qu'il faut en fonction du contenu de ce registre.
==Le partage des caches==
Quand on conçoit un processeur multicœur, il ne faut pas oublier ce qui arrive à la pièce maîtresse de tout processeur actuel : le cache ! Pour le moment nous allons oublier le fait que les processeurs ont une hiérarchie de caches, avec des caches L1, L2, L3 et autres. Nous allons partir du principe qu'un processeur simple cœur a un seul cache, et voir comment adapter le cache à la présence de plusieurs cœurs. Nous allons rapidement lever cette hypothèse, pour étudier le cas où un processeur multicœur a une hiérarchie de caches, mais seulement après avoir vu le cas le plus simple à un seul cache.
===Le partage des caches sans hiérarchie de caches : caches dédiés et partagés===
Avec un seul niveau de cache, sans hiérarchie, deux solutions sont possibles. La première consiste à garder un seul cache, et de le partager entre les cœurs. L'autre solution est de dupliquer le cache et d'utiliser un cache par cœur. Les deux solutions sont appelées différemment. On parle de '''caches dédiés''' si chaque cœur possède son propre cache, et de '''cache partagé''' avec un cache partagé entre tous les cœurs. Ces deux méthodes ont des inconvénients et des avantages.
{|
|[[File:Caches dédiés.png|vignette|Caches dédiés]]
|[[File:Caches partagés.png|vignette|Cache partagé]]
|}
Le premier point sur lequel comparer caches dédiés et partagés est celui de la capacité du cache. La quantité de mémoire cache que l'on peut placer dans un processeur est limitée, car le cache prend beaucoup de place, près de la moitié des circuits du processeur. Aussi, un processeur incorpore une certaine quantité de mémoire cache, qu'il faut répartir entre un ou plusieurs caches. Les caches dédiés et partagés ne donnent pas le même résultat. D'un côté, le cache partagé fait que toute la mémoire cache est dédiée au cache partagé, qui est très gros. De l'autre, on doit répartir la capacité du cache entre plusieurs caches séparés, individuellement plus petits. En conséquence, on a le choix entre un petit cache pour chaque processeur ou un gros cache partagé.
Le choix entre les deux n'est pas simple, mais doit tenir compte du fait que les programmes exécutés sur les cœurs n'ont pas les mêmes besoins. Certains programmes sont plus gourmands et demandent beaucoup de cache, alors que d'autres utilisent peu la mémoire cache. Avec un cache dédié, tous les programmes ont accès à la même quantité de cache, car les caches des différents cœurs sont de la même taille. Les caches dédiés étant assez petits, les programmes plus gourmands devront se débrouiller avec un petit cache, alors que les autres programmes auront du cache en trop.
À l'opposé, un cache partagé répartit le cache de manière optimale : un programme gourmand peut utiliser autant de cache qu'il veut, laissant juste ce qu'il faut aux programmes moins gourmands. le cache peut être répartit plus facilement selon les besoins des différents programmes.
[[File:Cache partagé contre cache dédié.png|centre|vignette|upright=2.5|Cache partagé contre cache dédié]]
Un autre avantage des caches partagés est quand plusieurs cœurs accèdent aux même données. C'est un cas très courant, souvent lié à l'usage de mémoire partagé ou de ''threads''. Avec des caches dédiés, chaque cœur a une copie des données partagées. Mais avec un cache partagé, il n'y a qu'une seule copie de chaque donnée, ce qui utilise moins de mémoire cache. Imaginons que l'on sait 8 caches dédiés de 8 Kibioctets, soit 64 kibioctets au total, comparé à un cache partagé de même capacité totale. Les doublons dans les caches dédiés réduiront la capacité mémoire utile, effective, comparé à un cache partagé. S'il y a 1 Kibioctet de mémoire partagé, 8 kibioctets seront utilisés pour stocker ces données en doublons, seulement 1 kibioctet sur un cache partagé. Ajoutons aussi que la cohérence des caches est grandement simplifiée avec l'usage d'un cache partagé, vu que les données ne sont pas dupliquées dans plusieurs caches.
Mais le partage du cache peut se transformer en inconvénient si les programmes entrent en compétition pour le cache, que ce soit pour y placer des données ou pour les accès mémoire. Deux programmes peuvent vouloir accéder au cache en même temps, voire carrément se marcher sur les pieds. La résolution des conflits d'accès au cache est résolu soit en prenant un cache multiport, avec un port dédié par cœur, soit par des mécanismes d'arbitrages avec des circuits dédiés. Le revers de la médaille tient au temps de latence. Plus un cache est gros, plus il est lent. En conséquence, des caches dédiés seront plus rapides qu'un gros cache partagé plus lent.
===Le partage des caches adapté à une hiérarchie de caches===
Dans la réalité, un processeur multicœur ne contient pas qu'un seul cache, mais une hiérarchie de caches avec des caches L1, L2 et L3, parfois L4. Dans cette hiérarchie, certains caches sont partagés entre plusieurs cœurs, les autres sont dédiés. Le cache L1 n'est jamais partagé, car il doit avoir un temps d'accès très faible. Pour les autres caches, tout dépend du processeur.
[[File:Dual Core Generic.svg|vignette|Cache L2 partagé.]]
Les premiers processeurs multicœurs commerciaux utilisaient deux niveaux de cache : des caches L1 dédiés et un cache L2 partagé. Le cache L2 partagé était relié aux caches L1, grâce à un système assez complexe d'interconnexions. Le cache de niveau L2 était souvent simple port, car les caches L1 se chargent de filtrer les accès aux caches de niveau inférieurs.
Les processeurs multicœurs modernes ont des caches L3 et même L4, de grande capacité, ce qui a modifié le partage des caches. Le cache de dernier niveau, à savoir le cache le plus proche de la mémoire, est systématiquement partagé, car son rôle est d'être un cache lent mais gros. Il s'agit le plus souvent d'un cache de L3, plus rarement L4. Sur certains processeurs multicœurs, le cache de dernier niveau n'est techniquement pas dans le cœur, mais fait partie d'un ensemble de circuits reliés, comme le contrôleur mémoire ou l'interface mémoire. Il fonctionne à une fréquence différente du processeur, n'a pas la même tension d'alimentation, etc.
Le cas du cache L2 dépend des architectures : il est partagé sur certains processeurs, dédié sur d'autres. Mais sur les processeurs modernes, c'est un cache dédié soit par cœur, soit pour un groupe de cœurs. Dans le cas le plus courant, chaque cache L2 est partagé entre plusieurs cœurs mais pas à tous. En effet, on peut limiter le partage du cache à quelques cœurs particuliers pour des raisons de performances.
[[File:Partage des caches sur un processeur multicoeurs.png|centre|vignette|upright=2.0|Partage des caches sur un processeur multicœur.]]
D'autres processeurs ont des caches L2 dédiés. Il s'agit surtout des processeurs multicœurs anciens, parmi les premières générations de processeurs multicœurs. Un exemple est celui de la microarchitecture Nehalem d'Intel. Il avait des caches L1 et L2 dédiés, mais un cache L3 partagé.
[[File:Nehalem EP.png|centre|vignette|upright=2.0|Partage des caches sur un processeur Intel d'architecture Nehalem.]]
===Les caches partagés centralisés et distribués===
Un point important est que quand on parle de cache partagé ou de cache dédié, on ne parle que de la manière dont les cœurs peuvent accéder au cache, pas de la manière dont le caches est réellement localisé sur la puce. En théorie, qui dit plusieurs caches dédiés signifie que l'on a vraiment plusieurs caches séparés sur la puce. Et chaque cache dédié est proche du cœur qui lui est attribué. Et pour les caches partagés unique, une portion de la puce de silicium contient le cache, que cette portion est un énorme bloc de transistors. Il est généralement placé au milieu de la puce ou sur un côté, histoire de facilement le connecter à tous les cœurs.
Mais pour les caches séparés, ce n'est pas toujours le cas. Avoir un cache énorme poserait des problèmes sur les architectures avec beaucoup de cœurs. En réalité, le cache est souvent découpé en plusieurs banques, reliées à un contrôleur du cache par un système d'interconnexion assez complexe. Les banques sont physiquement séparées, et il arrive qu'elles soient placées proche d'un cœur chacune. L'organisation des banques ressemble beaucoup à l'organisation des caches dédiés, avec une banque étant l'équivalent d'un cache dédié. La différence est que les cœurs peuvent lire et écrire dans toutes les banques, grâce au système d'interconnexion et au contrôleur de cache.
Tel était le cas sur les processeurs AMD Jaguar. Ils avaient un cache L2 de 2 mébioctets, partagés entre tous les cœurs, qui était composé de 4 banques de 512 Kibioctets. Les quatre banques du cache étaient reliées aux 4 cœurs par un réseaux d'interconnexion assez complexe.
[[File:AMDJaguarModule.png|centre|vignette|upright=2|AMD Jaguar Module]]
La différence entre les deux solutions pour les caches partagés porte le nom de cache centralisés versus distribués. Un gros cache unique sur la puce est un '''cache centralisé''', et c'est généralement un cache partagé. Mais un cache composé de plusieurs banques dispersées sur la puce est un '''cache distribué''', qui peut être aussi bien dédié que partagé.
===Les caches virtualisés===
Il faut noter que quelques processeurs utilisent cette technique pour fusionnent le cache L2 et le cache L3. Par exemple, les processeurs IBM Telum utilisent des caches L3 virtualisés, dans leurs versions récentes. Le processeur Telum 2 contient 10 caches L2 de 36 mébioctets chacun, soit 360 mébioctets de cache. L'idée est que ces 360 mébioctets sont partagés à la demande entre cache L2 dédié et cache L3. On parle alors de '''cache virtualisé'''.
Un cache de 36 mébioctet est associé à un cœur, auquel il est directement relié. Les cœurs n'utilisent pas tous leur cache dédié à 100% Il arrive que des cœurs aient des caches partiellement vides, alors que d'autres on un cache qui déborde. L'idée est que si un cœur a un cache plein, les données évincées du cache L2 privé sont déplacées dans le cache L2 d'un autre cœur, qui lui est partiellement vide. Le cache L2 en question est alors partitionné en deux : une portion pour les données associée à son cœur, une portion pour les données des L2 des autres cœurs.
Pour que la technique fonctionne, le processeur mesure le remplissage de chaque cache L2. De plus, il faut gérer la politique de remplacement des lignes de cache. Une ligne de cache évincée du cache doit être déplacé dans un autre L2, pas dans les niveaux de cache inférieur, ni dans la mémoire. Du moins, tant qu'il reste de la place dans le cache L3. De plus, une lecture/écriture dans le cache L3 demande de localiser le cache L2 contenant la donnée. Pour cela, les caches L2 sont tous consultés lors d'un accès au L3, c'est la solution la plus simple, elle marche très bien si le taux de défaut du cache L2 est faible.
Une telle optimisation ressemble beaucoup à un cache L2/L3 distribué, mais il y a quelques différences qui sont décrites dans le paragraphe précédent. Avec un L2 distribué, tout accès au L2 déclencherait une consultation de toutes les banques du L2. Avec un cache L3 virtualisé, ce n'est pas le cas. Le cache L2 associé au cœur est consulté, et c'est seulement en cas de défaut de cache que les autres caches L2 sont consultés. De plus, avec un cache L2 distribué, il n'y a pas de déplacement d'une ligne de cache entre deux banques, entre deux caches L2 physiques. Alors qu'avec un cache L3 virtualisé, c'est le cas en cas de remplacement d'une ligne de cache dans le cache L2.
Sur le processeur Telum 1, le partage du cache L2 est assez simple. Un cache L2 fait 32 mébioctets et est découpé en deux banques de 16 mébioctets. En temps normal, les premiers 16 mébioctets sont toujours associé au cache L2, au cœur associé. Les 16 mébioctets restants peuvent soit être attribués au cache L3, soit fusionnés avec les 16 premiers mébioctets. Dans le cas où le cœur associé est en veille, n'est absolument pas utilisé, les 32 mébioctets sont attribués au cache L3. Un partage assez simple, donc. Le partage du cache L2/L3 sur les processeurs Telum 2 n'est pas connu, il est supposé être plus flexible.
==Le réseau d'interconnexion entre cœurs==
Les systèmes avec plusieurs processeurs incorporent un réseau d'interconnexion pour connecter les processeurs entre eux, ainsi qu'à la mémoire RAM. Il s'agit d'un '''réseau d'interconnexion inter-processeur''', placé sur la carte mère. Les CPU multicœurs ont aussi un tel réseau d'interconnexion, pour relier les cœurs entre eux. La différence est que le réseau d'interconnexion est placé dans le processeur, pas sur la carte mère.
Les systèmes multi-cœurs modernes utilisent des réseaux d'interconnexion standardisés, les standards les plus communs étant l'HyperTransport, l'Intel QuickPath Interconnect, l'IBM Elastic Interface, le Intel Ultra Path Interconnect, l'Infinity Fabric, etc. Ils sont aussi utilisés pour faire communiquer entre eux plusieurs processeurs.
[[File:Architecture multicoeurs et réseau sur puce.png|centre|vignette|upright=1.5|Architecture multicoeurs et réseau sur puce]]
===Le bus partagé entre plusieurs cœurs===
Pour un faible nombre de coeurs/processeurs, la solution utilisée relie les processeurs entre eux grâce au bus mémoire. Le bus mémoire est donc un '''bus partagé''', avec tout ce que cela implique.
[[File:Architecture multicoeurs à bus partagé.png|centre|vignette|upright=2|Architecture multiprocesseurs à bus partagé]]
Pour les systèmes multicœurs, l'usage d'un bus partagé doit être adaptée pour tenir compte des caches partagés. Voyons d'abord le cas d'un CPU avec deux niveaux de cache, dont un cache L2 est partagé entre tous les cœurs. Les caches L1 sont reliés au cache L2 partagé par un bus, qui n'a souvent pas de nom. Nous désignerons le bus entre le cache L1 et le cache L2 : '''bus partagé''', sous-entendu partagé entre tous les caches. C'est lui qui sert à connecter les cœurs entre eux.
[[File:Architecture multicoeurs à bus partagé entre caches L1 et L2.png|centre|vignette|upright=2|Architecture multicoeurs à bus partagé entre caches L1 et L2]]
Un processeur multicœur typique a une architecture avec trois niveaux de cache (L1, L2 et L3), avec un niveau L1 dédié par cœur, un niveau L2 partiellement partagé et un L3 totalement partagé. Le bus partagé est alors difficile à décrire, mais il correspond à l'ensemble des bus qui connectent les caches L1 aux caches L2, et les caches L2 au cache L3. Il s'agit alors d'un ensemble de bus, plus que d'un bus partagé unique.
L'usage d'un bus partagé a cependant de nombreux défauts. Par exemple, les processeurs doivent se répartir l'accès au bus mémoire, il faut gérer le cas où deux processeurs accèdent au bus en même temps, etc. Pour cela, un composant dédié s'occupe de l'arbitrage entre processeurs. Il est généralement placé sur la carte mère de l'ordinateur, dans le ''chipset'', dans le pont nord, ou un endroit proche. D'autres défauts très importants seront abordés en détail dans le chapitre sur la cohérence des caches
[[File:Intel486 System Arbitration.png|centre|vignette|upright=2|Système avec deux Intel486 - Arbitrage du bus mémoire.]]
===Le réseau d'interconnexion entre plusieurs cœurs===
Relier plusieurs cœurs avec des bus pose de nombreux problèmes techniques qui sont d'autant plus problématiques que le nombre de cœurs augmente. Le câblage est notamment très complexe, les contraintes électriques pour la transmission des signaux sont beaucoup plus fortes, les problèmes d'arbitrages se font plus fréquents, etc. Pour régler ces problèmes, les processeurs multicoeurs n'utilisent pas de bus partagé, mais un réseau d'interconnexion plus complexe.
Un exemple de réseau d'interconnexion est celui des architectures AMD EPYC, de microarchitecture Zen 1. Elles utilisaient des chiplets, à savoir que le processeur était composé de plusieurs puces interconnectées entre elles. Chaque puce contenait un processeur multicoeurs intégrant un cache L3, avec un réseau d'interconnexion interne au processeur sans doute basé sur un ensemble de bus. De plus, les puces étaient reliées à une puce d'interconnexion qui servait à la fois d'interface entre les processeurs, mais aussi d'interface avec la R1AM, le bus PCI-Express, etc. La puce d'interconnexion était gravée en 14 nm contre 7nm pour les chiplets des cœurs.
{|
|[[File:AMD Epyc 7702 delidded.jpg|centre|vignette|upright=2|AMD Epyc 7702.]]
|[[File:AMD Epyc Rome Aufbau.png|centre|vignette|upright=2|Schéma fonctionnel de l'AMD Epyc.]]
|}
Le réseau d'interconnexion peut être très complexe, avec des connexions réseau, des commutateurs, et des protocoles d'échanges entre processeurs assez complexes basés sur du passage de messages. De telles puces utilisent un '''réseau sur puce''' (''network on chip''). Mais d'autres simplifient le réseau d'interconnexion, qui se résume à un réseau ''crossbar'', voire à des mémoires FIFO pour faire l'interface entre les cœurs.
Le problème principal des réseaux sur puce est que les mémoires FIFOs sont difficiles à implémenter sur une puce de silicium. Elles prennent beaucoup de place, utilisent beaucoup de portes logiques, consomment beaucoup d'énergie, sont difficiles à concevoir pour diverses raisons (les accès concurrents/simultanés sont fréquents et font mauvais ménage avec les ''timings'' serrés de quelques cycles d'horloges requis). Il est donc impossible de placer beaucoup de mémoires FIFO dans un processeur, ce qui fait que les commutateur sont réduits à leur strict minimum : un réseau d'interconnexion, un système d'arbitrage simple parfois sans aucune FIFO, guère plus.
===Les architectures en ''tile''===
Un cas particulier de réseau sur puce est celui des '''architectures en ''tile''''', des architectures avec un grand nombre de cœurs, connectés les unes aux autres par un réseau d'interconnexion "rectangulaire". Chaque cœur est associé à un commutateur (''switch'') qui le connecte au réseau d'interconnexion, l'ensemble formant une ''tile''.
[[File:Tile64-Tile.svg|centre|vignette|upright=1.5|''Tile'' de base du Tile64.]]
Le réseau est souvent organisé en tableau, chaque ''tile'' étant connectée à plusieurs voisines. Dans le cas le plus fréquent, chaque ''tile'' est connectée à quatre voisines : celle du dessus, celle du dessous, celle de gauche et celle de droite. Précisons que cette architecture n'est pas une architecture distribuée dont tous les processeurs seraient placés sur la même puce de silicium. En effet, la comparaison ne marche pas pour ce qui est de la mémoire : tous les cœurs accèdent à une mémoire partagée située en dehors de la puce de silicium. Le réseau ne connecte pas plusieurs ordinateurs séparés avec chacun leur propre mémoire, mais plusieurs cœurs qui accèdent à une mémoire partagée.
Un bon exemple d'architecture en ''tile'' serait les déclinaisons de l'architecture Tilera. Les schémas du-dessous montrent l'architecture du processeur Tile 64. Outre les ''tiles'', qui sont les éléments de calcul de l'architecture, on trouve plusieurs contrôleurs mémoire DDR, divers interfaces réseau, des interfaces série et parallèles, et d'autres entrées-sorties.
[[File:Tile64.svg|centre|vignette|upright=2|Architecture Tile64 du Tilera.]]
==Annexe : les architectures à cœurs conjoints==
Sur certains processeurs multicœurs, certains circuits sont partagés entre plusieurs cœurs. Typiquement, l'unité de calcul flottante est partagée entre deux coeurs/''threads'', les unités SIMD qu'on verra dans quelques chapitres sont aussi dans ce cas. Le partage de circuits permet d'éviter de dupliquer trop de circuits et donc d'économiser des transistors. Le problème est que ce partage est source de dépendances structurelles, ce qui peut entraîner des pertes de performances.
Cette technique consistant de partage d'unités de calcul entre coeurs s'appelle le '''cluster multithreading''', ou encore les '''architectures à cœurs conjoints''' (''Conjoined Core Architectures''). Elle est notamment utilisée sur les processeurs AMD de microarchitecture Bulldozer, incluant ses trois révisions ultérieures nommées Piledriver, Steamroller et Excavator. Un exemple est celui des processeurs AMD FX-8150 et FX-8120.
Sur ces processeurs, les instructions sont chargées dans deux files d'instructions séparées, une par ''thread'' matériel. Les instructions sont ensuite décodées par un décodeur unique et renommées dans une unité de renommage unique. Par la suite, il y a deux voies entières séparées et une voie flottante partagée. Chaque voie entière a sa propre fenêtre d'instruction entière, son tampon de ré-ordonnancement, ses unités de calcul dédiées, ses registres, sa ''load-store queue'', son cache L1. Par contre, la voie flottante partage les unités de calcul flottantes et n'a qu'une seule fenêtre d'instruction partagée par les deux ''threads''.
[[File:AMD Bulldozer microarchitecture.png|centre|vignette|upright=3|Microarchitecture Bulldozer d'AMD.]]
La révision Steamroller sépara le ''front-end'' en deux voies distinctes, une par ''thread''. Concrètement, elle ajouta un second décodeur d'instruction, une seconde file de micro-opération et une seconde unité de renommage de registres, afin d'améliorer les performances. Niveaux optimisations mineures, les stations de réservation ont été augmentées, elles peuvent mémoriser plus de micro-opérations, idem pour les bancs de registre et les files de lecture/écriture. Un cache de micro-opérations a été ajouté, de même que des optimisations quant au renommage de registre. Des ALU ont aussi été ajoutées, des FPU retirées.
[[File:AMD excavator microarchitecture.png|centre|vignette|upright=3|Microarchitecture Excavator d'AMD.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures parallèles
| prevText=Les architectures parallèles
| next=Architectures multithreadées et Hyperthreading
| nextText=Architectures multithreadées et Hyperthreading
}}
</noinclude>
ecdhwy8c5aplg0w7k33bp7489tmqy2j
Fonctionnement d'un ordinateur/Les sections critiques et le modèle mémoire
0
68397
762951
755754
2026-04-04T19:19:01Z
Mewtow
31375
/* L'exemple avec le x86 */
762951
wikitext
text/x-wiki
Afin de gérer le partage de la mémoire sans problèmes, chaque processeur doit définir un '''modèle mémoire''', un ensemble de restrictions et de contraintes quant à l'interaction avec la mémoire RAM. La première contrainte garantit que les instructions ne puissent pas être interrompues (ou donnent l'impression de ne pas l'être) : c'est la propriété d''''atomicité'''. Un thread doit utiliser plusieurs instructions successives sur la donnée pour pouvoir en faire ce qu'il veut, et cela peut poser des problèmes si les instructions peuvent être interrompues par une exception ou tout autre chose. Par exemple, il est possible qu'une lecture démarre avant que la précédente soit terminée. De même, rien n’empêche une lecture de finir avant l'écriture précédente et renvoyer la valeur d'avant l'écriture.
Prenons un exemple, avec un entier utilisé par plusieurs threads, chaque thread s’exécutant sur un processeur x86. Chaque thread veut l'incrémenter. Seul problème, l'incrémentation n'est pas effectuée en une seule instruction sur les processeurs x86. Il faut en effet lire la donnée, l'augmenter de 1, puis l'écrire. Ce qui fait que l'on peut se retrouver dans la situation illustrée ci-dessous, où un processeur n'a pas eu le temps de finir son incrémentation qu'un autre en a démarré une nouvelle.
[[File:Illustration du résultat de deux opérations concurrentes sur la même variable.png|centre|vignette|upright=2|Illustration du résultat de deux opérations concurrentes sur la même variable.]]
Pour avoir le bon résultat il y a une seule et unique solution : le processeur qui accède à la donnée doit avoir un accès exclusif à la donnée partagée. Sans cela, l'autre processeur ira lire une version de la donnée pas encore modifiée par le premier processeur. Dans notre exemple, un seul thread doit pouvoir manipuler notre compteur à la fois. Et bien sûr, cette réponse se généralise à presque toutes les autres situations impliquant une donnée partagée. On doit donc définir ce qu'on appelle une '''section critique''' : un morceau de temps durant lequel un thread aura un accès exclusif à une donnée partagée, avec la certitude qu'aucun autre thread ne peut modifier la donnée partagée durant ce temps. Autant prévenir tout de suite, créer de telles sections critiques se base sur des mécanismes mêlant le matériel et le logiciel. Il existe deux grandes solutions, qui peuvent être soit codées sous la forme de programmes, soit implantées directement dans le silicium de nos processeurs.
L''''exclusion mutuelle''' permet à un thread de réserver la donnée partagée. Un thread qui veut manipuler une donnée réserve celle-ci, et la libère une fois qu'il en a fini avec elle. Si la donnée est réservée, tous les autres threads attendent leur tour. Pour mettre en œuvre cette réservation/dé-réservation, on ajoute un compteur à la donnée partagée, qui indique si la donnée partagée est libre ou déjà réservée. Dans le cas le plus simple, ce compteur vaudra 0 si la donnée est réservée, et 1 si elle est libre. Ce compteur ce qu'on appelle un verrou d'exclusion mutuelle, aussi appelé ''mutex'' (raccourci du terme anglais '''''mut'''ual '''ex'''clusion'').
[[File:Mutex.png|centre|vignette|upright=2.5|Mutex.]]
==Les instructions atomiques==
Dans le cas précédent, la vérification et modification du compteur ne peut pas être interrompue, sous peine de problèmes. On peut reprendre l'exemple du dessus pour l'illustrer. Si notre compteur est à 0, et que deux threads veulent lire et modifier ce compteur simultanément, il est possible que les deux threads lisent le compteur en même temps : ils liront alors un zéro, et essayeront alors de se réserver la donnée simultanément. Bref, retour à la case départ...
Idéalement, il faudrait que lecture et écriture se fassent en une seule fois. Pour régler ce problème, certains processeurs fournissent des instructions spécialisées, in-interruptibles, capables d'effectuer cette modification du compteur en une seule fois. Elles peuvent lire le compteur, décider si on peut le modifier, et écrire la bonne valeur sans être dérangé par un autre processeur qui viendrait s'inviter dans la mémoire sans autorisation ! Par exemple, sur les processeurs x86, la vérification/modification du compteur vue plus haut peut se faire avec l'instruction ''test and set''.
D'autres instructions similaires existent pour résoudre ce genre de problèmes. Leur rôle est toujours d'implémenter des verrous d'exclusion mutuelle plus ou moins sophistiqués, comme des sémaphores, des verrous (''Locks''), etc. Elles sont appelées des '''instructions atomiques'''. De telles instructions empêchent tout accès mémoire tant qu'elles ne sont pas terminées, ce qui garantit que les écritures et lectures s'exécutent l'une après l'autre. Généralement, un programmeur n'a pas à manipuler des instructions atomiques lui-même, mais manipule des abstractions basées sur ces instructions atomiques, fournies par des bibliothèques ou son langage de programmation.
Voici la plupart de ces instructions atomiques les plus connues :
{|class="wikitable"
|-
! Instruction !! Description
|-
! Compare And Swap
| Cette instruction va lire une donnée en mémoire, va comparer celle-ci à l'opérande de notre instruction (une donnée fournie par l'instruction), et va écrire un résultat en mémoire si ces deux valeurs sont différentes. Ce fameux résultat est fourni par l'instruction, ou est stocké dans un registre du processeur.
|-
! Fetch And Add
| Cette instruction charge la valeur de notre compteur depuis la mémoire, l'incrémente, et écrit sa valeur en une seule fois. Elle permet de réaliser ce qu'on appelle des sémaphores. Elle permet aussi d'implémenter des compteurs concurrents.
|-
! XCHG
| Cette instruction peut échanger le contenu d'un registre et d'un morceau de mémoire de façon atomique. Elle est notoirement utilisée sur les processeurs x86 de nos PC, qui implémentent cette instruction.
|}
Lors de l’exécution de l'instruction atomique, aucun processeur ne peut aller manipuler la mémoire. L'instruction atomique réserve l'accès au bus en configurant un bit du bus mémoire, ou par d'autres mécanismes de synchronisation entre processeurs. Le cout de ce blocage de la mémoire est assez lourd, ce qui rend les instructions atomiques assez lentes.
Mais on peut optimiser le cas où la donnée est dans le cache, en état ''Modified'' ou ''Exclusive''. Dans ce cas, pas besoin de bloquer la mémoire. Le processeur a juste à écrire dans la mémoire cache, et les mécanismes de cohérence des caches se contenteront de mettre à jour la donnée de façon atomique automatiquement. Le coût des instructions atomiques est alors fortement amorti.
Sur un processeur avec désambiguïsation mémoire de type x86, il faut attendre que la file d'écriture soit vidée avant de démarrer une instruction atomique. La raison est que les instructions atomiques font une lecture, une opération, et une écriture, dans cet ordre. En théorie, la lecture peut passer avant une écriture précédente, à une adresse différente. Mais dans ce cas, cela signifierait que l'écriture aussi serait déplacée avant, car la lecture est liée à l'écriture les deux se font de manière atomique. Et faire passer une écriture avant une autre n'est pas compatible avec les règles du total store ordering.
==Les instructions LL/SC==
Une autre technique de synchronisation est basée sur les instructions '''Load-Link''' et '''Store-Conditional'''. L'instruction Load-Link lit une donnée depuis la mémoire de façon atomique. L'instruction Store-Conditional écrit une donnée chargée avec Load-Link, mais uniquement à condition que la copie en mémoire n'aie pas été modifiée entre temps. Si ce n'est pas le cas, Store-conditional échoue. Pour indiquer un échec, il y a plusieurs solutions : soit elle met un bit du registre d'état à 1, soit elle écrit une valeur de retour dans un registre. Sur certains processeurs, l’exécution d'interruptions ou d'exceptions matérielles après un Load-Link fait échouer un Store-conditional ultérieur.
Implémenter ces deux instructions est assez simple, et peut se faire en utilisant les techniques de ''bus-snopping'' vues dans le chapitre sur la cohérence des caches. Pour implémenter l'instruction SC, il suffit de mémoriser si la donnée lue par l'instruction LL a été invalidée depuis la dernière instruction LL. Pour cela, on utilise un registre qui mémorise l'adresse lue par l'instruction LL, à laquelle on ajoute un bit d'invalidation qui dit si cette adresse a été invalidée. L'instruction LL va initialiser le registre d'adresse avec l'adresse lue, et le bit est mis à zéro. Une écriture a lieu sur le bus, des circuits vérifient si l'adresse écrite est identique à celle contenue dans le registre d'adresse et mettent à jour le bit d'invalidation. L'instruction SC doit vérifier ce bit avant d'autoriser l'écriture.
==La mémoire Transactionnelle Matérielle==
La '''mémoire transactionnelle''' permet de rendre atomiques des morceaux de programmes complets. Les morceaux de programmes rendus atomiques sont appelés des ''transactions''. Pendant qu'une transaction s'exécute, tout se passe comme si la transaction ne modifiait pas de données et restait plus ou moins "invisible" des autres processeurs. Une fois terminée, le processeur vérifie s'il y a eu un conflit d'accès avec les autres processeurs. Si c'est le cas, la transaction échoue et doit reprendre depuis le début : les changements effectués par la transaction ne seront pas pris en compte. Mais s'il n'y a pas eu conflit d'accès, alors la transaction a réussi et elle peut écrire son résultat en mémoire.
Définir une transaction demande d'ajouter plusieurs instructions : une pour démarrer une transaction, une autre pour la terminer, éventuellement une troisième pour annuler précocement une transaction. Lorsqu'une transaction échoue, elle laisse la main au logiciel. Précisément, elle fait un branchement vers une fonction qui gère l'échec de la transaction. La fonction décide s'il faut ré-exécuter la transaction, attendre un peu avant de la re-démarrer, ou faire autre chose.
Un autre point est que quand une transaction échoue, les registres doivent être remis à leur valeur initiale, celle d'avant la transaction. Et cette restauration est déléguée au code de gestion d'échec de transaction. Il est aussi possible de gérer la sauvegarde des registres en matériel, avec un système de ''checkpoints'', déjà abordé dans le chapitre sur les processeurs à émission dans l'ordre, dans la section sur les interruptions et le pipeline. Reste à détecter les conflits d'accès.
===La mémoire transactionnelle explicite : la réservation des lignes de cache===
La mémoire transactionnelle se décline en deux versions principales, que nous allons qualifier d'explicite et d'implicite. La mémoire transactionnelle implicite est la plus simple conceptuellement : les lectures et écritures utilisées dans la transaction sont des instructions d'accès mémoire normales, mais sont gérées de manière transactionnelle lors de la transaction. Une autre solution utilise des '''accès mémoires transactionnels explicites''', qui ajoute des instructions d'accès mémoire spécialisées pour les transactions. Il est possible d'exécuter des instructions mémoire normale dans une transaction, qui s'exécutent même si la transaction échoue. Les instructions LOAD/STORE transactionnelles sont les seules à être annulées si la transaction échoue.
L'instruction de lecture transactionnelle réserve une ligne de cache pour le processeur. Par réserver, on veut dire que le processeur est le seul à avoir accès en écriture à cette ligne de cache. Si un autre processeur tente d'écrire dans cette ligne de cache, la transaction fautive est annulée. Il est aussi possible de libérer une ligne de cache réservée avec une instruction RELEASE, complémentaire des instructions de lecture/réservation. Pour résumer, il y a donc trois instructions mémoire transactionnelles : READ/RESERVE, WRITE-IF-RESERVED, et RELEASE.
Vous aurez peut-être fait le lien avec les instructions LINK-LOAD et STORE-CONDITIONNAL, et il faut avouer que les instructions mémoire transactionnelles ressemblent un petit peu. Disons que ce sont des variantes adaptées au fait qu'elles s'exécutent dans des transactions. De plus, LINK-LOAD et STORE-CONDITIONNAL ne réservent pas des lignes de cache, elles se contentent de vérifier qu'une écriture n'a pas eu lieu entre la lecture et l'écriture.
Pour gérer les réservations, le processeur incorpore un '''registre de réservation''' par ligne de cache réservée. Le registre mémorise la donnée lue ou écrite. Les écritures se font dans ce registre, elles ne sont pas propagées dans le cache. Par contre, il est possible que ces registres soient pris en compte par les mécanismes de cohérence des caches, afin de gérer la détection des conflits.
Les transactions explicites sont plus flexibles, mais posent plus de problèmes d'implémentation que les transactions implicites. La réservation des lignes de cache est compliquée à implémenter. En comparaison, les méthodes implicites sont plus simples à comprendre et à implémenter. Nous allons nous concentrer sur les méthodes implicites dans le reste du chapitre.
===La mémoire transactionnelle implicite : les ensembles de lecture et d'écriture===
Toute transaction lit un ensemble de données appelé l'<nowiki/>'''ensemble de lecture'',''''' et écrit/modifie des données qui forment l'<nowiki/>'''ensemble d'écriture'''. Le processeur doit identifier l'ensemble de lecture et d'écriture quelque part pour détecter les conflits. Deux conditions font qu'une transaction peut échouer. La première est quand un autre processeur a écrit une donnée dans l'ensemble de lecture. La seconde est quand un autre processeur a lu ou écrit une donnée dans l'ensemble d'écriture. Par contre, il n'y a pas de problème si une donnée est lue par un autre processeur dans l'ensemble de lecture.
Mémoriser l'ensemble de lecture est assez simple : il suffit d'ajouter un bit READ à chaque ligne de cache, qui indique qu'elle a été lue par une transaction. Par contre, la gestion de l'ensemble d'écriture est plus complexe. Il y a deux méthodes : une qui autorise les écritures dans le cache, une autre qui met en attente les écritures.
====L'implémentation avec un ensemble d'écritures dans la ''Store Queue''====
Une première méthode met en attente les écritures, qui ne sont propagées dans le cache qu'une fois que la transaction est terminée. Elle mémorise l'ensemble de lecture dans le cache, mais l'ensemble d'écriture reste dans la ''Store Queue'', la ''Load-Store Queue'' ou autre. La technique en question a été implémentée pour la première fois sur les processeurs Transmetta Crusoe et Efficeon, sous le nom de '''''gated store buffer'''''.
Avec cette technique, les données sont bel et bien lues depuis le cache, mais les écritures ne sont pas propagées dans le cache, elles restent dans le pipeline. À la fin de la transaction, le processeur vérifie s'il n'y a pas eu de conflits et si la transaction est validée. Si ce n'est pas le cas, la ''Store Queue''/''Load-Store Queue'' est vidée, ce qui annule les changements effectués par la transaction (ROB ou autre méthode capable de gérer les interruptions précises). Si c'est le cas, les écritures sont propagées dans le cache.
Si la transaction réussit, le processeur doit vider la ''Store Queue'' dedans. Les écritures se font une par une, ce qui peut prendre un peu de temps, surtout si la transaction a fait beaucoup d'écritures. Et pendant le temps, les données écrites peuvent en théorie être écrasées par une écriture provenant d'un autre cœur. Pour éviter cela, le processeur peut interdire les écritures dans tout le cache partagé pour éviter qu'un autre cœur y accède. Mais la méthode entrainerait des performances assez mauvaises. Une autre solution, systématiquement utilisée, est de seulement bloquer les lignes de cache concernées par les écritures en attente. La dernière méthode peut se mettre en œuvre en utilisant judicieusement le protocole de cohérence des caches, en exposant la ''Store Queue'' aux mécanismes de cohérence des caches.
====La mémoire transactionnelle implicite implémentée dans le cache====
Dans cette section, nous allons étudier les techniques qui utilisent le cache pour mémoriser à la fois l'ensemble de lecture et d'écriture. Avant toute chose, précisons ces techniques ont un défaut : la quantité de données manipulées par la transaction est limitée à la taille du cache. Pour éviter ce petit problème, certains chercheurs travaillent sur une mémoire transactionnelle capable de gérer des transactions de taille arbitraires. Ces techniques mémorisent les données modifiées par la transaction en mémoire RAM, dans des enregistrements que l'on appelle des logs, mais passons.
Les premières propositions utilisent un cache dédié aux transactions : le '''cache transactionnel'''. À cela, il faut ajouter des instructions pour manipuler le cache transactionnel. Les données dans le cache transactionnel utilisent un protocole légèrement différent des autres caches, avec des états et des transitions en plus. Mais le cout en transistors d'un cache séparé fait que cette méthode n'a jamais été utilisée dans un processeur commercial.
Une méthode moins couteuse en circuit réutilise les caches existants dans le processeur. Les écritures se font dans le cache, mais le processeur dispose d'un moyen de les annuler en cas de problème. Mais cela demande de résoudre plusieurs problèmes. Le première est la gestion des ensembles d'écritures/lecture, le second est qu'il faut annuler les écritures si une transaction échoue. Mais un point très intéressant est que la détection des conflits réutilise les mécanismes de cohérence des caches. Si un conflit est détecté pour une ligne de cache, elle est marquée comme invalide pour le protocole de cohérence des caches, et l'invalidation est propagée aux autres cœurs grâce à la liste d'adresse précédente. La détection des conflits se fait donc pendant que la transaction s'exécute, les transactions sont annulées dès qu'un conflit est détecté.
Commençons par le premier problème, à savoir la détermination des ensembles de lecture/écriture. Pour cela, chaque ligne de cache possède un bit WRITE qui indique qu'elle a été écrite par une transaction. Les bits READ et WRITE sont mis à 0 au début de chaque transaction. La première écriture dans une ligne de cache met le bit WRITE à 1. Les bits READ et WRITE sont utilisés pour détecter les conflits, la détection des conflits étant prise en charge par les mécanismes de cohérence des caches.
[[File:Hardware Transaction.png|centre|vignette|upright=2|Hardware Transaction]]
Le second problème à résoudre est que les écritures réalisées lors d'une transaction écrasent une ligne de cache, elles en modifient le contenu. Mais si la transaction est annulée, alors il faut retrouver la ligne de cache originelle, il faut la remettre dans son état d'avant la transaction. Pour cela, la solution la plus simple est que les lignes de cache modifiées ne sont pas écrasées : leur contenu est envoyé en mémoire RAM, elles sont évincées du cache. Il faut juste configurer le cache pour qu'il sauvegarde les lignes de cache modifiées avant de faire les écritures, et ce uniquement lors des transactions.
Une autre solution n'envoie pas les données en mémoire RAM, mais profite de la présence d'une hiérarchie de cache, avec la présence d'un cache partagé. Typiquement, les transactions modifient les données dans le cache L1, mais une copie de la donnée originelle est présente dans le cache L2 partagé. Sur les processeur avec un cache L3, c'est ce dernier qui est utilisé pour conserver les données non-modifiées. La raison est que ce dernier est partagé entre tous les cœurs. L'idée est que les transactions modifient les données dans les caches L1/L2 non partagés, mais propagent les écritures dans le cache partagé si la transaction réussit. Si elle échoue, les lignes de caches fautives sont marquées comme invalides par la cohérence des caches. En somme, on utilise des caches inclusifs, mais on débranche l'inclusivité du cache pendant les transactions, avant de les rétablir si la transaction réussit. Les lignes de cache marquées comme lues ou écrites par une transaction (bit READ WRITE) doivent rester dans le cache non-partagé et sont ignorées par l'algorithme de remplacement des lignes de cache.
Une autre solution, utilisée sur le processeur Blue gene d'IBM, consiste à avoir plusieurs exemplaires d'une donnée dans le cache, chacun venant d'un processeur/cœur différent. Si un seul processeur a manipulé la donnée partagée, celle-ci ne sera présente qu'en une seule version dans les caches des autres processeurs. Mais si la transaction échoue, alors cela veut dire que plusieurs processeurs ont modifié cette donnée : plusieurs versions d'une même donnée différente sera présente dans le cache
Voyons maintenant ce qu'il en est pour la détection des conflits. Plusieurs cas peuvent mener à un conflit et à l'abandon d'une transaction. Les cas en question surviennent quand un processeur veut écrire une donnée utilisée par une autre transaction.
* Le premier cas est celui où la donnée n'a pas encore été écrite, elle est dans l'ensemble de lecture. Le premier processeur qui la modifie gagne la course, si on peut dire. Il exécute son écriture, le protocole de cohérence des caches lance une demande d'invalidation des autres copies dans les autres caches, qui fait alors automatiquement échouer les transactions sur les autres processeurs.
* Le second cas est celui où la donnée a déjà été modifiée par un processeur dans son cache, mais n'est pas présente dans les autres caches non-partagés. Dans ce cas, si un second processeur veut modifier la donnée, il va aller la chercher dans le cache partagé L2/L3. Mais le protocole de cohérence des caches va remarquer que la donnée est dans le cache L1/L2 d'un autre cœur, avec le bit W mis à 1. Un conflit a alors lieu.
===Le ''speculative Lock Elision''===
Les instructions atomiques sont utilisées de façon pessimistes : l'atomicité est garantie même si aucun autre thread n'accède à la donnée lue/écrite. Aussi, pour accélérer l'exécution des instructions atomiques, des chercheurs ont trouvé une solution à ce problème de réservations inutiles, basée sur la mémoire transactionnelle. L'idée est de générer des transactions en partant des instructions atomiques présentes dans le programme. Une instruction d'acquisition d'un LOCK démarre une transaction, alors qu'une instruction atomique qui le libère termine la transaction. L'optimisation porte le nom de '''Speculative Lock Elision''', abrévié en SLE. Il s'agit d'une méthode que l'on classe à part de la mémoire transactionnelle explicite ou implicite, c'est une troisième possibilité.
Pour rappel, une instruction atomique est typiquement une opération de type READ-MODIFY-WRITE : elle lit une donnée, la modifie, et écrit le résultat en mémoire. Tel est le cas de l'instruction FETCH-AND-ADD, ou de ses dérivés. Le SLE n’exécute pas l'instruction atomique permettant d'effectuer un LOCK. À la place, elle exécute une lecture normale, une opération, et l'écriture du résultat. L'écriture n'est pas propagée dans le cache, mais est mise en attente dans la ''Store Queue''. Puis, le processeur exécute les instructions qui suivent de manière transactionnelle. Quand le processeur rencontre une instruction atomique pour libérer le LOCK, il termine la transaction et vérifie si elle s'est bien passée ou doit être annulée. Les écritures en attente dans la ''store queue'' sont alors soit annulées, soit envoyées au cache et disponibles pour le mécanisme de cohérence des caches.
Dans sa version non-optimisée, le SLE exécute la transaction une seule fois. Si elle échoue, l'instruction atomique est exécutée pour de vrai. Pour plus d'efficacité, certains processeurs cherchent à éviter ce genre de situation en estimant la probabilité que le premier essai (la transaction) échoue. Pour cela, ils incorporent un circuit permettant d'évaluer les chances que le premier essai marche en tant que transaction : le ''Transaction Predictor''. Une fois cette situation connue, le processeur décide ou non d’exécuter ce premier essai en tant que transaction.
===L'exemple avec le x86===
Dans cette section, nous allons étudier les premiers processeurs grand public qui ont supporté la mémoire transactionnelle matérielle : les processeurs Intel basés sur l’architecture Haswell, sortis aux alentours de mars 2013. Sur ces processeurs, deux modes sont disponibles pour la mémoire transactionnelle matérielle : le mode TSX, et le mode HLE.
Le mode TSX fournit quelques instructions supplémentaires pour gérer la mémoire transactionnelle matérielle. On trouve ainsi trois nouvelles instructions : XBEGIN, XEND et XABORT. XBEGIN démarre une transaction, XEND la termine, XABOUT la fait échouer immédiatement. L'instruction XBEGIN fournit une adresse qui pointe sur un morceau de code permettant de gérer l'échec de la transaction. Les registres modifiés par une transaction échouée sont remis dans leur état initial, à une exception près : le registre EAX est utilisé pour retourner un code d'erreur qui indique les raisons de l'échec d'une transaction.
Le mode HLE est celui de ''Speculative Lock Elision''. Les instructions atomiques peuvent être transformées en transaction à une condition : qu'on leur rajoute un préfixe. Le préfixe d'une instruction x86 est un octet optionnel, placé au début de l'instruction, qui permet de modifier le comportement de l'instruction. Le préfixe LOCK rend certaines instructions atomiques, REPNZE répète certaines instructions tant qu'une condition est requise, etc. Le fait est que certains préfixes n'ont pas de signification pour certaines instructions et étaient totalement ignorés par le processeur. Pour supporter le Lock Elision, ces préfixes sans significations sont réutilisés pour indiquer qu'une instruction atomique doit subir la Lock Elision. De plus, deux "nouveaux" préfixes font leur apparition : XAQUIRE qui sert à indiquer que l'instruction atomique doit être tentée en tant que transaction ; et XRELEASE qui dit que la transaction spéculative est terminée. Ainsi, un programme peut être conçu pour utiliser la Lock Elision, tout en fonctionnant sur des processeurs plus anciens, qui ne la supportent pas ! Belle tentative de garder la rétrocompatibilité.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=La cohérence des caches
| prevText=La cohérence des caches
| next=Les coprocesseurs : FPU et IO
| nextText=Les coprocesseurs : FPU et IO
}}
</noinclude>
lopjtgstee7tt9kw2trhyevf5isry5s
Fonctionnement d'un ordinateur/Les registres du processeur
0
69030
762937
762323
2026-04-04T18:25:15Z
Mewtow
31375
/* La taille d'un registre n'est pas toujours égale à celle du bus de données */
762937
wikitext
text/x-wiki
Le processeur incorpore un ou plusieurs registres, des mémoires de petite taille, capables de mémoriser un nombre entier/flottant. Naïvement, les registres sont utilisés pour stocker les opérandes des instructions et leur résultat. Un programmeur (ou un compilateur) qui programme en langage machine manipule ces registres intégrés dans le processeur. Cependant, tous les registres d'un processeur ne sont pas forcément manipulables par le programmeur. Il faut distinguer les '''registres architecturaux''', manipulables par des instructions, des '''registres internes''' aux processeurs.
==Les différents types de registres architecturaux==
Dans ce qui suit, nous allons parler uniquement des registres architecturaux. Les registres internes seront vu dans les chapitre sur la microarchitecture d'un processeur. Ils servent à simplifier la conception du processeur, à mettre en œuvre des optimisations de performance. Les registres architecturaux, eux, font partie de l'interface que le processeur fournit aux programmeurs. Ils font partie du jeu d'instruction, qui liste les registres, les instructions supportées, comment instructions et registres interagissent, etc. Il existe plusieurs types de registres architecturaux, qui sont assez difficiles à classer, que nous allons décrire ci-dessous.
===Le registre d'état (entier)===
Le '''registre d'état''' est un registre aux fonctions assez variées, qui varient selon le processeur. Au minimum, il contient des bits qui indiquent le résultat d'une instruction de test. Il contient aussi d'autres bits, mais dont l'interprétation dépend du jeu d'instruction. En général, le registre d'état contient les bits suivants :
* le bit d'''overflow'', qui est mis à 1 lors d'un débordement d'entiers ;
* le bit de retenue, qui indique si une addition/soustraction a donné une retenue ;
* le bit ''null'' précise que le résultat d'une instruction est nul (vaut zéro) ;
* le bit de signe, qui permet de dire si le résultat d'une instruction est un nombre négatif ou positif.
Le registre d'état est mis à jour par les instructions de test, mais aussi par les instructions arithmétiques entières (sur des opérandes entiers). Par exemple, si une opération arithmétique entraine un débordement d'entier, le registre d'état mémorisera ce débordement. Dans le chapitre précédent, nous avions vu que les débordements sont mémorisés par le processeur dans un bit dédié, appelé le bit de débordement. Et bien ce dernier est un bit du registre d'état. Il en est de même pour le bit de retenue vu dans le chapitre précédent, qui mémorise la retenue effectuée par une opération arithmétique comme une addition, une soustraction ou un décalage.
Le bit de débordement est parfois présent en double : un bit pour les débordements pour les nombres non-signés, et un autre pour les nombres signés (en complément à deux). En effet, la manière de détecter les débordements n'est pas la même pour des nombres strictement positifs et pour des nombres en complément à deux. Certains processeurs s'en sortent avec un seul bit de débordement, en utilisant deux instructions d'addition : une pour les nombres signés, une autre pour les nombres non-signés. Mais d'autres processeurs utilisent une seule instruction d'addition pour les deux, qui met à jour deux bits de débordements : l'un qui détecte les débordements au cas où les deux opérandes sont signés, l'autre si les opérandes sont non-signées. Sur les processeurs ARM, c'est la seconde solution qui a été choisie.
N'oublions pas les bits de débordement pour les entiers BCD, à savoir le bit de retenue et le bit ''half-carry'', dont nous avions parlé au chapitre précédent.
Sur certains processeurs, comme l'ARM1, chaque instruction arithmétique existe en deux versions : une qui met à jour le registre d'état, une autre qui ne le fait pas. L'utilité de cet arrangement n'est pas évident, mais il permet à certaines instructions arithmétiques de ne pas altérer le registre d'état, ce qui permet de conserver son contenu pendant un certain temps.
Le fait que le registre d'état est mis à jour par les instructions arithmétiques permet d'éviter de faire certains tests gratuitement. Par exemple, imaginons un morceau de code qui doit vérifier si deux entiers A et B sont égaux, avant de faire plusieurs opérations sur la différence entre les deux (A-B). Le code le plus basique pour cela fait la comparaison entre les deux entiers avec une instruction de test, effectue un branchement, puis fait la soustraction pour obtenir la différence, puis les calculs adéquats. Mais si la soustraction met à jour le registre d'état, on peut simplement faire la soustraction, faire un branchement qui teste le bit ''null'' du registre d'état, puis faire les calculs. Une petite économie toujours bonne à prendre.
Il faut noter que certaines instructions sont spécifiquement conçues pour altérer uniquement le registre d'état. Par exemple, sur les processeurs x86, certaines instructions ont pour but de mettre le bit de retenue à 0 ou à 1. Il existe en tout trois instructions capables de manipuler le bit de retenue : l'instruction CLC (CLear Carry) le met à 0, l'instruction STC (SeT Carry) le met à 1, l'instruction CMC (CompleMent Carry) l'inverse (passe de 0 à 1 ou de 1 à 0). Ces instructions sont utilisées de concert avec les instructions d'addition ADDC (ADD with Carry) et SUBC (SUB with Carry), qui effectuent le calcul A + B + Retenue et A - B - Retenue, et qui sont utilisées pour additionner/soustraire des opérandes plus grandes que les registres. Nous avions vu ces instructions dans le chapitre sur les instructions machines, aussi je ne reviens pas dessus.
Le registre d'état n'est pas présent sur toutes les architectures, notamment sur les jeux d'instruction modernes, mais beaucoup d'architectures anciennes en ont un.
===Le ''program counter''===
Le '''''Program Counter''''' mémorise l'adresse de l’instruction en cours ou de la prochaine instruction (le choix entre les deux dépend du processeur). C'est bel et bien un registre architectural, car ils sont manipulés par les instructions de branchement, bien qu'implicitement. Ce n'est pas un registre utilisé à des fins d'optimisation ou de simplicité d'implémentation.
Lors du démarrage ou redémarrage, il faut initialiser le ''program counter'' avec l'adresse de la première instruction. Le processeur est câblé pour lire une adresse bien précise lors du ''boot'', qui porte le nom d''''adresse de démarrage''', '''CPU Reset vector''' en anglais. L'adresse de démarrage n'est pas toujours l'adresse 0 : les premières adresses peuvent être réservées pour la pile ou le vecteur d'interruptions. Pour déterminer l'adresse de démarrage, il y a deux solutions : soit on utilise une adresse fixée une fois pour toutes, soit l'adresse est configurable.
* Avec la première solution, la plus simple, le processeur démarre l’exécution du code à une adresse bien précise, toujours la même, câblée dans ses circuits. Il s'agit typiquement de l'adresse 0 : le processeur lit le contenu de la toute première adresse et démarre l’exécution du programme à cet endroit.
* Avec la seconde solution, on ajoute un niveau de redirection. Le processeur accède toujours à une adresse fixe au démarrage, mais l'adresse en question ne contient pas la première instruction à exécuter. À la place, elle contient l'adresse de la première instruction. Le processeur lit donc cette adresse, puis la copie dans son ''program counter''. En clair, il effectue un branchement.
Il existe des processeurs où le ''Program Counter'' est adressable, via un nom de registre. Sur ces processeurs, on peut parfaitement lire ou écrire dans le ''Program Counter'' sans trop de problèmes. Ainsi, au lieu d'effectuer des branchements sur le ''Program Counter'', on peut simplement utiliser une instruction qui ira écrire l'adresse à laquelle brancher dans le registre. On peut même faire des calculs sur le contenu du ''Program Counter'' : cela n'a pas toujours de sens, mais cela permet parfois d'implémenter facilement certains types de branchements avec des instructions arithmétiques usuelles.
Le ''program counter'' et le registre d'état sont parfois fusionnés en un seul registre appelé le '''''Program status word''''', abrévié en PSW. L'avantage est que le ''Program status word'' regroupe tout ce qui est utile pour les branchements et test. Les branchements écrivent dans le ''program counter'' pour brancher à l'adresse finale, lire l'adresse dans le ''program counter'' pour certains branchements dits relatifs, les tests/branchements peuvent lire le registre d'état. Avec un PSW, tout cela est regroupé dans le PSW, les tests et branchements altérent tous deux le PSW. L'avantage est mineur et pose des problèmes niveau implémentation matérielle.
Il peut y avoir un avantage en terme de taille des registres. Par exemple, l'ARM1 fusionne le registre d'état et le ''program counter'' en un seul registre de 32 bits. La raison à cela est que ses registres font 32 bits, que le ''program counter'' n'a besoin que de 24 bits pour fonctionner ce qui laisse 8 bits pour le registre d'état. Précisément, le ''program counter'' est censé gérer des adresses de 26 bits, mais les instructions de ce processeur font exactement 32 bits et elles sont alignées en mémoire, ce qui fait que les 2 bits de poids faibles du ''program counter'' sont inutilisés. Au total, cela fait 8 bits inutilisés. Et ils ont été réutilisés pour mémoriser les bits du registre d'état.
===Les registres de contrôle===
Les '''registres de contrôle''' permettent de configurer le processeur pour qu'il fonctionne comme souhaité. Ils sont très variables et dépendent fortement du jeu d'instruction, mais aussi du modèle de processeur considéré. Quelques fonctionnalités importantes sont gérées par ce registre, même si on ne peut pas encore en parler. Des fonctionnalités comme la désactivation des interruptions ou la gestion du mode noyau/hyperviseur, par exemple.
Des bits de contrôle sont dédiés à la gestion du cache. Il est ainsi possible de configurer le cache, voire de le désactiver. Nous ne pouvons pas en parler en détail ici, car nous ne savons pas comment fonctionne une mémoire cache pour le moment. Mais nous détaillerons les bits de contrôle du cache dans le chapitre sur la mémoire cache. Pour le moment, nous ne pouvons parler que d'un seul bit de contrôle du cache :; celui qui l'active ou le désactive.
===Les registres généraux : entiers et adresses===
Les registres de données mémorisent des informations comme des entiers, des adresses, des flottants, manipulés par un programme. Ils sont classés en deux grand types, appelés registres entiers et flottants, dont les noms sont assez transparents. Les registres entiers sont spécialement conçus pour stocker des nombres entiers. Les registres entiers sont aussi appelés des registres généraux, car ils servent non seulement pour les entiers, mais aussi les adresses et d'autres informations codées en binaire.
Les registres entiers ne font pas que mémoriser les opérandes/résultats, et peuvent contenir n'importe quelle information codée par des nombres entiers. Notamment, ils peuvent mémoriser des adresses mémoire. L'avantage est que cela permet de faire des calculs sur des adresses mémoire, chose très importante pour supporter des structures de données comme les tableaux. Nous en reparlerons plus en détail dans le chapitre sur les modes d'adressage.
Pour le moment, vous avez juste à savoir que les registres entiers sont en réalité des '''registres généraux''' utilisables pour tout et n'importe quoi, qui peuvent stocker toute sorte d’information codée en binaire. Par exemple, un processeur avec 8 registres généraux pourra les utiliser sans vraiment de restrictions. On pourra s'en servir pour stocker 8 entiers, 6 entiers et 2 adresses, 1 adresse et 5 entiers, etc. Ce qui sera plus flexible et utilisera les registres disponibles au maximum.
De nombreux processeurs incorporent des registres entiers ou flottants en lecture seule, qui contiennent des constantes assez souvent utilisées. Par exemple, certains processeurs possèdent des registres initialisés à zéro pour accélérer la comparaison avec zéro ou l'initialisation d'une variable à zéro. On peut aussi citer certains registres flottants qui stockent des nombres comme pi, ou e pour faciliter l'implémentation des calculs trigonométriques. Ils sont appelés des '''registres de constante''', leur nom étant assez clair.
===Les registres flottants===
Les '''registres flottants''' sont spécialement conçus pour stocker des nombres flottants. Ils ne sont présents que sur les processeurs qui supportent les nombres flottants. Tous les processeurs modernes séparent les registres flottants et entiers, pour de bonnes raisons. Une des raisons est que les flottants et entiers n'ont pas le même encodage et n'ont pas forcément la même taille. Les flottants font 32 et 64 bits, ce qui posait problème sur les architectures 32 bits. Mais surtout, les flottants et entiers sont vraiment traités séparément dans le processeur : ils ont des circuits de calcul distincts, ils sont traités par des instructions séparées. Les mettre dans des registres séparés aide beaucoup pour la conception du processeur, comme on le verra dans quelques chapitres. Et cela n'entraine pas de problèmes de performances.
Les processeurs qui gèrent les nombres flottants incorporent aussi un '''registre d'état flottant''', qui s'occupe des nombres flottants. Sur les CPU x86, qui utilisaient l'extension x87, il était appelé le ''Status Word''. Celui-ci fait lui aussi 16 bits et contient tout ce qu'il faut pour qu'un programme puisse comprendre la cause d'une exception. Voici son contenu, à peu de chose près.
{|class="wikitable"
|-
! Bit
! Utilité
|-
| U
| Mis à 1 lorsqu'un débordement a lieu.
|-
| O
| Pareil que U, mais pour les overflow
|-
| Z
| Bit mis à 1 lors d'une division par zéro
|-
| D
| Bit mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
| I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Les '''registres de contrôle flottant''' configurent les opérations flottantes. Ils configurent quel mode d'arrondi utiliser, comment traiter les infinis, si les flottants utilisés sont simple (32 bits) ou double précision (64 bits). Pour donner un exemple, voici le registre ''control word'' utilisé sur les anciens CPU x86, pour l'extension x87. L'extension x87 ajoutait le support des nombres flottants aux CPU x86, mais ceux-ci n'étaient pas tout à fait compatibles avec la norme IEEE 754. Une différence notable est que les flottants étaient codés sur 80 bits maximum.
{|class="wikitable"
|-
! Bit
! Utilité
|-
| Infinity Control
| Mode de gestion des infinis, codé sur 2 bits :
* 0 : Les infinis sont tous traités comme s'ils valaient <math>+ \infty</math>.
* 1 : Les infinis sont traités normalement.
|-
| Rouding Control
| Mode d'arrondi codé sur 2 bits :
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
| Precision Control
| Taille de la mantisse, configurée via deux bits. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les registres d'adresse et d'indice===
Quelques processeurs incorporent des registres spécialisés dans les adresses et leur calcul. Les '''registres d'adresse''' contiennent des adresses. Ils étaient surtout présents sur les architectures 16 bits, plus rarement sur les architectures 32 bits. L'usage de registres d'adresse s'explique par le fait que sur les anciennes architectures, les adresses n'ont pas la même taille que les données.
Un exemple est celui des processeurs Motorola 68000, sur lequel les entiers faisaient 32 bits et les adresses faisaient 24 bits. Le packaging du processeur ne permettait pas de mettre trop de broches, ce qui fait que les broches d'adresse étaient limitée à 24 bits, ce qui était suffisant pour l'époque. L'usage de registres d'adresse séparés des registres entiers permettait de gérer au mieux cette différence de taille. Ce problème a été corrigé à l'arrivée du 68020, qui avait des adresses sur 32 bits et 32 broches d'adresse, mais a conservé la séparation entre registres d'adresse et entiers pour des raisons de compatibilité.
Un autre exemple est celui du processeur du CDC 6600, qui avait 8 registres d'adresse couplés à 8 registres d'entrée. Les registres d'adresse fonctionnaient d'une manière totalement inédite, qu'on ne retrouve pas sur d'autres processeurs avec registre d'adresse. Tout registre d'adresse était associé à un registre entier. Concrètement, les 8 registres d'adresse étaient numérotés de 0 à 7, idem pour les registres entier. Le CDC 6600 n'avait pas d'instruction LOAD ou STORE, tout passait par des écritures dans ces registres. Le comportement dépendait du registre concerné.
* Une écriture dans le registre A0 ne faisait rien, il sert d'exception. Le registre D0 n'est pas altéré lors d'une écriture dans le registre A0.
* Les registres A1 à A5 servaient pour les lectures. L'écriture d'une adresse dans un de ces registres entrainait une lecture de cette adresse. La donnée lue était copiée automatiquement dans le registre entier associé, le registre entier de même numéro.
* Les registres A5 à A7 servaient pour les écriture. L'écriture d'une adresse dans un de ces registres entrainait une écriture à cette adresse. La donnée à écrire était prise dans dans le registre entier associé, le registre entier de même numéro.
L'usage de registres d'adresse dédiés est très rare, les processeurs préfèrent utiliser des registres généraux qui servent à la fois de registres entier et de registres d'adresse. La raison est que les adresses sont encodés avec des entiers en binaire. Les opérations effectuées sur les adresses sont des opérations entières basiques : additions/soustractions, parfois multiplications entières, opérations de masquage, bit à bit, etc. Aussi, séparer adresses et entiers dans des registres séparés n'est pas très pertinent.
Prenons un exemple : j'ai un processeur disposant d'un Program Counter, de 4 registres entiers et de 4 registres d'adresse. Si j’exécute un morceau de programme qui ne manipule presque pas d'adresses, mais fait beaucoup de calcul, les 4 registres d'adresse seront sous-utilisés alors que je manquerais de registres entiers. Utiliser 8 registres généraux permet de contourner le problème. On peut se servir de ces 8 registres généraux pour stocker 8 entiers, 6 entiers et 2 adresses, 1 adresse et 5 entiers, etc. Ce qui sera plus flexible et utilisera les registres disponibles au maximum.
Les '''registres d'indice''' servent à calculer des adresses, afin de manipuler rapidement des données complexes comme les tableaux. Ils étaient présents sur les premiers ordinateurs et ont perduré jusqu’aux architectures 16 bits inclues. Dans les faits, ils étaient présent sur une classe particulière de processeurs, appelés les architectures à accumulateur, qui aura droit à son chapitre dédié. Nous parlerons en détail des registres d'indice dans ce chapitre dédié aux architectures à accumulateur.
===Les registres de débogage===
Les '''registres de débogage''' sont des cousins des registres d'état, et sont utilisés par des logiciels appelés des débogueurs. les débogueurs sont des logiciels qui permettent de trouver des ''bugs'' dans un programme. Ils permettent d'analyser l'exécution d'un programme dans le détail. Par exemple, ils peuvent exécuter le programme instruction par instruction et mémoriser l'état du processeur après chaque instruction. Mais surtout : ils peuvent stopper l'exécution du programme à un point bien précis, appelé un '''''breakpoint'''''. Lorsque le programme est interrompu, l'état du processeur est mémorisé, que ce soit les registres, la pile d'appel, ou bien d'autres informations.
Pour faciliter le travail des débogueurs, certains processeurs intègrent des registres de débogages. Par exemple, les processeurs x86 intégrent 6 registres de débogages, nommés DR0, DR1, DR2, DR3, DR6 et DR7. Les registres DR4 et DR5 n'existent pas, la raison n'est pas connue.
Les registres DR0 à DR3 facilitent l'interruption du programme à un point précis. Le ''breakpoint'' en question correspond à une instruction précise, qui est choisie par un humain, là où il suppose que le bug est déclenché. Le débogueur doit stopper le programme quand il atteint cette instruction. Pour cela, lorsque le ''program counter'' atteint une adresse de ''breakpoint'', il stoppe son exécution. Pour cela, les registres DR0, DR1, DR2 et DR3 contiennent chacun l'adresse d'un ''breakpoint'', ce qui permet de programmer 4 ''breakpoint'' différents.
Les registres DR6 et DR7 permettent de programmer sous quelles conditions l'interruption a lieu. Par exemple il est possible de stopper le programme : soit si l'instruction s'exécute, soit si elle écrit quelque chose dans la mémoire RAM, soit en cas de lecture/écriture en RAM. Il est aussi possible d'activer ou de désactiver chaque registre de débogage. Par exemple, si l'utilisateur ne veut utiliser deux ''breakpoints'', il peut désactiver les registres DR2 et DR3. Cela se fait en configurant quelques bits dans le registre DR7.
==L'adressage des registres architecturaux==
Outre leur taille, les registres du processeur se distinguent aussi par la manière dont on peut les adresser, les sélectionner. Les registres du processeur peuvent être adressés par trois méthodes différentes. À chaque méthode correspond un mode d'adressage différent. Les modes d'adressage des registres sont les modes d'adressages absolu (par adresse), inhérent (à nom de registre) et/ou implicite.
===Les registres nommés===
Dans le premier cas, chaque registre se voit attribuer une référence, une sorte d'identifiant qui permettra de le sélectionner parmi tous les autres. C'est un peu la même chose que pour la mémoire RAM : chaque byte de la mémoire RAM se voit attribuer une adresse. Pour les registres, c'est un peu la même chose : ils se voient attribuer quelque chose d'équivalent à une adresse, une sorte d'identifiant qui permettra de sélectionner un registre pour y accéder.
L'identifiant en question est ce qu'on appelle un '''nom de registre''' ou encore un '''numéro de registre'''. Ce nom n'est rien d'autre qu'une suite de bits attribuée à chaque registre, chaque registre se voyant attribuer une suite de bits différente. Celle-ci sera intégrée à toutes les instructions devant manipuler ce registre, afin de sélectionner celui-ci. Le numéro/nom de registre permet d'identifier le registre que l'on veut, mais ne sort jamais du processeur, il ne se retrouve jamais sur le bus d'adresse. Les registres ne sont donc pas identifiés par une adresse mémoire.
[[File:Adressage des registres via des noms de registre.png|centre|vignette|upright=2|Adressage des registres via des noms de registre.]]
===Les registres adressés===
Mais il existe une autre solution, utilisée sur de très vieux ordinateurs des années 50 à 70, ou quelques microcontrôleurs. C'est le cas du PDP-10.. L'idée est d'adresser les registres via une adresse mémoire. Les registres se voient attribuer les adresses mémoires les plus basses, à partir de l'adresse 0. Par exemple, un processeur avec 16 registres utilisait les 16 adresses basses, une par registre.
[[File:Adressage des registres via des adresses mémoires.png|centre|vignette|upright=2|Adressage des registres via des adresses mémoires.]]
===Les registres adressés implicitement===
Certains registres n'ont pas forcément besoin d'avoir un nom. Par exemple, c'est le cas du ''Program Counter'' : à part sur certains processeurs vraiment très rares, on ne peut modifier son contenu qu'en utilisant des instructions de branchements. Idem pour le registre d'état, manipulé obligatoirement par les instructions de comparaisons et de test, et certaines opérations arithmétiques.
Dans ces cas bien précis, on n'a pas besoin de préciser le ou les registres à manipuler : le processeur sait déjà quels registres manipuler et comment, de façon implicite. Le seul moyen de manipuler ces registres est de passer par une instruction appropriée, qui fera ce qu'il faut. Mais précisons encore une fois que sur certains processeurs, le registre d'état et/ou le ''Program Counter'' sont adressables.
==La taille des registres architecturaux==
Vous avez certainement déjà entendu parler de processeurs 32 ou 64 bits, voire de processeurs 8 ou 16 bits pour les ordinateurs anciens. Derrière cette appellation qu'on retrouve souvent dans la presse ou comme argument commercial se cache un concept simple, appelé la '''taille des registres'''. Il s'agit de la quantité de bits qui peuvent être stockés dans les registres principaux. Le même terme était autrefois utilisé pour les consoles de jeu, où il était censé désigner la même chose, à savoir la taille des registres du processeur. Mais l'utilisation sur les consoles de jeu était moins stricte, les fabricants de consoles n'hésitait pas à faire gonfler les chiffres par intérêt marketing.
Les registres principaux en question dépendent de l'architecture. Sur les architectures avec des registres généraux, la taille des registres est celle des registres généraux. Sur les autres architectures, la taille mentionnée est généralement celle des nombres entiers, les autres registres peuvent avoir une taille totalement différente. Notamment, sur les processeurs 8 bits, il y a souvent une différence entre la taille des entiers (codés sur 8 bits) et les adresses (codées sur 16 à 24 bits). Dans ce cas, un processeur 8 bits peut parfaitement gérer des adresses 16 ou 24 bits, mais reste un processeur 9 bits par ses entiers sont codés sur 8 bits.
Aujourd'hui, les processeurs utilisent presque tous des registres dont la taille est une puissance de 2 : 8, 16, 32, 64, 128, 256, voire 512 bits. L'usage de registres qui ne sont pas des puissances de 2 posent quelques problèmes techniques en termes d’adressage, comme on le verra dans le chapitre sur l'alignement et le boutisme. Mais ca n'a pas toujours été le cas. Par exemple, les processeurs dédiés au traitement de signal audio, que l'on trouve dans les chaînes HIFI, les décodeurs TNT, les lecteurs DVD, etc. Ceux-ci utilisent des registres de 24 bits, car l'information audio est souvent codée par des nombres de 24 bits.
Aux tout début de l'informatique, les processeurs utilisaient tous l'encodage BCD et codaient leurs chiffres sur 4/5/6/7 bits. La taille des registres était donc un multiple de 4/5/6/7 bits. Les registres de 36 bits et de 48 bits étaient la norme sur les gros ordinateurs de type ''mainframe'', qu'ils soient commerciaux ou destinés au calcul scientifique. Certaines machines utilisaient des registres de 3, 7, 13, 17, 23, 36 et 48 bits ; mais elles sont aujourd'hui tombées en désuétude.
===La taille d'un registre n'est pas toujours égale à celle du bus de données===
La taille d'un registre est souvent comparée à la largeur du bus de données (c'est à dire du nombre de bits qui peuvent transiter en même temps sur le bus de données). Intuitivement, on s'attend à ce que le bus mémoire ait la même taille que les registres, ce qui permet de lire un registre en une fois, en un seul accès mémoire. Mais il existe des processeurs où le bus mémoire est plus petit ou plus grand que les registres.
Le cas le plus fréquent est celui où le bus est plus petit que les registres. Les données doivent alors être lues ou écrites en plusieurs passes. Un exemple est celui du processeur MOS Technology 65C816, utilisé dans la console de jeu SNES. C'était un processeur 16 bits, avec des registres entiers de 16 bits. Cependant, le bus de données faisait lui 8 bits. Les adresses faisaient elles 24 bits, mais cela impacte le bus d'adresse, pas le bus de données. L'inconvénient est que les instructions LOAD et STORE demandaient deux accès mémoire : un pour les 8 bits de poids faible, un autre pour les 8 bits de poids fort.
Un autre exemple est celui des vieux coprocesseurs x87 d'Intel et d'autres entreprises. Ils utilisaient des nombres flottants codés sur 32, 64 et 80 bits. Les toutes premiers étaient connectés à un bus 16 bits, ce qui fait qu'une instruction LOAD/STORE demandait 2, 4 ou 5 accès consécutifs. Les suivants étaient connectés à un bus de 32 bits, ce qui demandait 1, 2 ou 2.5 accès consécutifs (3 en pratique, pas 2,5).
Un autre exemple est celui des anciens processeurs x86 32 bits, sur lequels un registre entier fait 32 bits alors que le bus de données fait 64 bits. La raison à cela est la présence d'un cache entre la mémoire et le CPU. Le bus de données est utilisée pour échanger des données entre RAM et cache, pas directement entre registres et RAM. Pas étonnant donc que les deux n'aient pas la même taille. Cependant, le bus entre cache et registres fait lui bel et bien 32 bits, en théorie.
===Le système d'''aliasing'' de registres sur les processeurs x86===
Les processeurs 8086 et 8088 étaient des processeurs 16 bits, qu'on peut considérer comme des versions améliorées et grandement remaniées du 8008 8 bit. En théorie, la rétrocompatibilité n'était pas garantie, car les jeux d'instruction étaient différents entre le 8086 et le 8008. Mais Intel avait prévu quelques améliorations pour rendre la transition plus facile. Et l'une d'entre elle concerne directement le passage des registres de 8 à 16 bits.
Les CPU Intel 16 bits avaient 4 registres de données, nommés AX, BX, CX et DX. Il faisaient 16 bits, soit deux octets. Et chaque octet était adressable comme des registres à part entière. On pouvait adresser un registre de 16, ou alors adresser seulement l'octet de poids fort ou l'octet de poids faible. Le registre AX fait 16 bits, l'octet de poids fort est un registre à part entière nommé AH, l'octet de poids faible est lui le registre nommé AL (H pour ''High'' et L pour ''Low''). Idem avec les registres BX, BH et BL, les registres CX, CH et CL, ou encore les registres DX, DH, DL. Les autres registres ne sont pas concernés par ce découpage.
Tout cela décrit un système d''''''alias'' de registres''', qui permet d'adresser certaines portions d'un registre comme un registre à part entière. Les registres AH, AL, BH, BL, ..., ont tous un nom de registre et peuvent être utilisés dans des opérations arithmétiques, logiques ou autres. Une même opération peut donc agir sur 16 ou 8 bits suivant le registre sélectionné.
[[File:Register 8086.PNG|centre|vignette|upright=2|Registres du 8086, processeur x86 16 bits. Certains registres sont liés à la segmentation ou à d'autres fonctions que nous n'avons pas encore expliqué à ce point du cours, aussi je vais vous demander de les ignorer.]]
Par la suite, le jeu d'instruction x86 a étendu ses registres à 32 et enfin 64 bits. Et les CPU 32 bits ont utilisé le même système d'''alias'' que les CPU 16 bits, mais légèrement modifié. Sur un registre 32 bits, les 16 bits de poids faible sont adressables séparément, mais pas les 16 bits de poids fort. Les registres 8 et 16 bits ont le même nom de registre que sur les CPU 16 bits, le registre étendu a un nouveau nom de registre.
Pour rendre tout cela plus clair, voyons l'exemple du registre EAX des processeurs 64 bits. C'est un registre 32 bits, les 16 bits de poids faible sont tout simplement le registre AX vu plus haut, qui lui-même est subdivisé en AH et AL. La même chose a lieu pour les registres EBX, ECX et EDX. Et cette fois-ci, presque tous les registres ont étés étendus ainsi, même le ''program counter'', les registres liés à la pile et quelques autres, notamment pour adresser plus de mémoire.
[[File:Rejestry IA32.svg|centre|vignette|upright=2|Registres des processeurs x86 32 bits. Certains registres sont liés à la segmentation ou à d'autres fonctions que nous n'avons pas encore expliqué à ce poitn du cours, aussi je vais vous demander de les ignorer.]]
Lors du passage au 64 bits, les registres 32 bits ont étés étendus de la même manière, et les registres étendus à 64 bits ont reçu un nom de registre supplémentaire, RAX, RBX, RCX ou RDX. Le passage à 64 bits s'est accompagné de l'ajout de 4 nouveaux registres.
Un point intéressant est qu'Intel a beaucoup utilisé ce système d'''alias'' pour éviter d'avoir à réellement ajouter certains registres. Pour le moment, bornons-nous à citer les exemples les plus frappants et parlons du MMX, du SSE et de l'AVX.
Le MMX est une extension du x86, qui ajoute des instructions au jeu d'instruction x86 de base. Elle ajoutait 8 registres entiers appelés MM0, MM1, MM2, MM3, MM4, MM5, MM6 et MM7, d'une taille de 64 bits. En théorie, ces registres devraient être des registres séparés des autres, mais Intel utilisa le système d'''alias'' pour éviter d'avoir à rajouter des registres. Il réutilisa les 8 registres flottants de 80 bits déjà existants. Chaque registre MMX correspondait aux 64 bits de poids faible d'un des 8 registres flottants de la x87 ! Cela posa pas mal de problèmes pour les programmeurs qui voulaient utiliser l'extension MMX. Il était impossible d'utiliser à la fois le MMX et les flottants x87...
[[File:MMX-FPU-Register.JPG|centre|vignette|upright=2|Registres MMX et FPU x87.]]
[[File:AVX registers.svg|vignette|Registres AVX.]]
Par la suite, l'extension SSE ajouta plusieurs registres de 128 bits, les ''XMM registers'' illustrés ci-contre. Le SSE fût décliné en plusieurs versions, appelées SSE1, SSE2, SSE3, SS4 et ainsi de suite, chacune rajoutant de nouvelles instructions. Les registres SSE sont bien séparés des autres, Intel n'utilisa pas le système d'alias.
Puis, l'arrivée de l'extension '''AVX''' changea la donne. L'AVX complète le SSE et ses extensions, en rajoutant quelques instructions et surtout en permettant de traiter des données de 256 bits. Et cette dernière ajoute 16 registres d'une taille de 256 bits, nommés de YMM0 à YMM15 et dédiés aux instructions AVX. Et c'est là que le système d''alias'' a encore frappé. Les registres AVX sont partagés avec les registres SSE : les 128 bits de poids faible des registres YMM ne sont autres que les registres XMM.
Puis, arriva l''''AVX-512''' qui ajouta 32 registres de 512 bits, et des instructions capables de les manipuler, d'où son nom. Là encore, les 256 bits de poids faible de ces registres correspondent aux registres de l'AVX précédent. Du moins, pour les premiers 16 registres, vu qu'il n'y a que 16 registres de l'AVX normal.
Pour résumer, ce système permet d'ajouter des registres de plus grande taille, en étendant des registres existants pour en augmenter la taille. La longévité des architectures x86 a fait que cette technique a beaucoup été utilisée. Mais les autres architectures n'implémentent pas vraiment ce système. De plus, ce système marche assez mal avec les processeurs modernes, dont la conception interne se marie mal avec l'''aliasing'' de registres, pour des raisons que nous verrons plus tard dans ce cours (cela rend plus difficile le renommage de registres et la détection des dépendances entre instructions).
===La taille des registres flottants et les doubles arrondis===
Les nombres flottants sont standardisés par l'IEEE, avec le standard IEEE754. Cependant, de nombreux processeurs ne suivent pas ce standard à la lettre. Par exemple, les coprocesseurs x87, ainsi que les processeurs x86 32 bits utilisaient des flottants codés sur 80 bits. Et leurs registres flottants faisaient eux aussi 80 bits, ce qui posait quelques problèmes.
Lors des accès mémoire, il y avait parfois des conversions entre flottants 80 bits et flottants 32/64 bits. L'instruction LOAD flottantes pouvait lire soit un flottant 32 bits, soit un flottant 64 bits, soit un flottant 80 bits. Les flottants 32 et 64 bits étaient convertis en flottants 80 bits lors du chargement. Même chose pour l'enregistrement en mémoire via l'instruction STORE flottante. Les flottants 80 bit était soit convertit en flottant 32 ou 64 bits, soit enregistrés directement avec 80 bits.
Le problème est que faire des calculs intermédiaires sur 80 bits avant de les arrondir ne donne pas le même résultat que si on avait fait les calculs sur 32 ou 64 bits nativement. Les résultats intermédiaires ont une précision supérieure, donc le résultat peut être différent. De plus, la conversion lors des écritures mémoire effectue un arrondi pour faire rentrer le résultat sur 32/64 bits, arrondi qui modifie encore les résultats. Pour citer un exemple, sachez que des failles de sécurité de PHP et de Java aujourd'hui corrigées étaient causées par ces arrondis supplémentaires.
[[File:Phénoméne de double arrondi sur les coprocesseurs x87.png|centre|vignette|upright=3.0|Phénomène de double arrondi sur les coprocesseurs x87]]
Une autre conséquence est que les résultats sont impactés par l'ordre des accès mémoire, par la manière dont sont gérés les registres flottants. En effet, les problèmes d'arrondis ont lieu lors de l'écriture. Plus longtemps les résultats intermédiaires sont enregistrés dans les registres, plus on retarde les problèmes. Mais il arrive fatalement un moment où des flottants doivent quitter les registres flottants pour arriver en RAM.
Et ce moment dépend du nombre de registres et du nombre d'opérandes traitées. Si vous vous débrouillez pour faire tous vos calculs flottants avec les 8 registres disponibles, vous ne ferez d'arrondi qu'à la toute fin de vos calculs, pour enregistrer les résultats. Si vous utilisez plus, vous aller devoir faire un vas et vient entre RAM et registres. Dans ce cas, suivant l'ordre des accès mémoire, les arrondis se feront à des instants différents.
Pour limiter la casse, il existe une solution : sauvegarder tout résultat d'un calcul sur un flottant directement dans la mémoire RAM. Comme cela, on se retrouve avec des calculs effectués uniquement sur des flottants 32/64 bits ce qui supprime pas mal d'erreurs de calcul.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Langage machine et assembleur
| next=Le modèle mémoire : alignement et boutisme
}}
</noinclude>
9ddtywb4nqxcfl437osbn4afrl56azz
Fonctionnement d'un ordinateur/Sommaire
0
69596
762873
761110
2026-04-04T13:41:04Z
Mewtow
31375
/* Les jeux d'instruction spécialisés ou exotiques */
762873
wikitext
text/x-wiki
__NOTOC__
* [[Fonctionnement d'un ordinateur/Introduction|Introduction]]
==Le codage des informations==
* [[Fonctionnement d'un ordinateur/L'encodage des données|L'encodage des données]]
* [[Fonctionnement d'un ordinateur/Le codage des nombres|Le codage des nombres]]
* [[Fonctionnement d'un ordinateur/Les codes de détection/correction d'erreur|Les codes de détection/correction d'erreur]]
==Les circuits électroniques==
* [[Fonctionnement d'un ordinateur/Les portes logiques|Les portes logiques]]
===Les circuits combinatoires===
* [[Fonctionnement d'un ordinateur/Les circuits combinatoires|Les circuits combinatoires]]
* [[Fonctionnement d'un ordinateur/Les circuits de masquage|Les circuits de masquage]]
* [[Fonctionnement d'un ordinateur/Les circuits de sélection|Les circuits de sélection]]
===Les circuits séquentiels===
* [[Fonctionnement d'un ordinateur/Les bascules : des mémoires de 1 bit|Les bascules : des mémoires de 1 bit]]
* [[Fonctionnement d'un ordinateur/Les circuits synchrones et asynchrones|Les circuits synchrones et asynchrones]]
* [[Fonctionnement d'un ordinateur/Les registres et mémoires adressables|Les registres et mémoires adressables]]
* [[Fonctionnement d'un ordinateur/Les circuits compteurs et décompteurs|Les circuits compteurs et décompteurs]]
* [[Fonctionnement d'un ordinateur/Les timers et diviseurs de fréquence|Les timers et diviseurs de fréquence]]
===Les circuits de calcul et de comparaison===
* [[Fonctionnement d'un ordinateur/Les circuits de décalage et de rotation|Les circuits de décalage et de rotation]]
* [[Fonctionnement d'un ordinateur/Les circuits pour l'addition et la soustraction|Les circuits pour l'addition et la soustraction]]
* [[Fonctionnement d'un ordinateur/Les circuits de comparaison|Les circuits de comparaison]]
* [[Fonctionnement d'un ordinateur/Les unités arithmétiques et logiques entières (simples)|Les unités arithmétiques et logiques entières (simples)]]
* [[Fonctionnement d'un ordinateur/Les circuits pour l'addition multiopérande|Les circuits pour l'addition multiopérande]]
* [[Fonctionnement d'un ordinateur/Les circuits pour la multiplication et la division|Les circuits pour la multiplication et la division]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul logique et bit à bit|Les circuits de calcul logique et bit à bit]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul flottant|Les circuits de calcul flottant]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul trigonométriques|Les circuits de calcul trigonométriques]]
* [[Fonctionnement d'un ordinateur/Les circuits de conversion analogique-numérique|Les circuits de conversion analogique-numérique]]
===Les circuits intégrés à semi-conducteurs===
* [[Fonctionnement d'un ordinateur/Les transistors et portes logiques|Les transistors et portes logiques]]
* [[Fonctionnement d'un ordinateur/Les circuits intégrés|Les circuits intégrés]]
* [[Fonctionnement d'un ordinateur/L'interface électrique entre circuits intégrés et bus|L'interface électrique entre circuits intégrés et bus]]
==L'architecture d'un ordinateur==
* [[Fonctionnement d'un ordinateur/L'architecture de base d'un ordinateur|L'architecture de base d'un ordinateur]]
* [[Fonctionnement d'un ordinateur/La hiérarchie mémoire|La hiérarchie mémoire]]
* [[Fonctionnement d'un ordinateur/La performance d'un ordinateur|La performance d'un ordinateur]]
* [[Fonctionnement d'un ordinateur/La loi de Moore et les tendances technologiques|La loi de Moore et les tendances technologiques]]
* [[Fonctionnement d'un ordinateur/Les techniques de réduction de la consommation électrique d'un processeur|Les techniques de réduction de la consommation électrique d'un processeur]]
==Les bus électroniques et la carte mère==
* [[Fonctionnement d'un ordinateur/La carte mère, chipset et BIOS|La carte mère, chipset et BIOS]]
* [[Fonctionnement d'un ordinateur/Les bus et liaisons point à point (généralités)|Les bus et liaisons point à point (généralités)]]
* [[Fonctionnement d'un ordinateur/Les encodages spécifiques aux bus|Les encodages spécifiques aux bus]]
* [[Fonctionnement d'un ordinateur/Les liaisons point à point|Les liaisons point à point]]
* [[Fonctionnement d'un ordinateur/Les bus électroniques|Les bus électroniques]]
* [[Fonctionnement d'un ordinateur/Quelques exemples de bus et de liaisons point à point|Quelques exemples de bus et de liaisons point à point]]
==Les mémoires RAM/ROM==
* [[Fonctionnement d'un ordinateur/Les différents types de mémoires|Les différents types de mémoires]]
* [[Fonctionnement d'un ordinateur/L'interface d'une mémoire électronique|L'interface d'une mémoire électronique]]
* [[Fonctionnement d'un ordinateur/Le bus mémoire|Le bus mémoire]]
===La micro-architecture d'une mémoire adressable===
* [[Fonctionnement d'un ordinateur/Les cellules mémoires|Les cellules mémoires]]
* [[Fonctionnement d'un ordinateur/Le plan mémoire|Le plan mémoire]]
* [[Fonctionnement d'un ordinateur/Contrôleur mémoire interne|Le contrôleur mémoire interne]]
* [[Fonctionnement d'un ordinateur/Mémoires évoluées|Les mémoires évoluées]]
===Les mémoires primaires===
* [[Fonctionnement d'un ordinateur/Les mémoires ROM|Les mémoires ROM : Mask ROM, PROM, EPROM, EEPROM, Flash]]
* [[Fonctionnement d'un ordinateur/Les mémoires SRAM synchrones|Les mémoires SRAM synchrones]]
* [[Fonctionnement d'un ordinateur/Les mémoires RAM dynamiques (DRAM)|Les mémoires RAM dynamiques (DRAM)]]
* [[Fonctionnement d'un ordinateur/Contrôleur mémoire externe|Le contrôleur mémoire externe]]
===Les mémoires exotiques===
* [[Fonctionnement d'un ordinateur/Les mémoires associatives|Les mémoires associatives]]
* [[Fonctionnement d'un ordinateur/Les mémoires FIFO et LIFO|Les mémoires FIFO et LIFO]]
==Le processeur==
===L'architecture externe===
* [[Fonctionnement d'un ordinateur/Langage machine et assembleur|Langage machine et assembleur]]
* [[Fonctionnement d'un ordinateur/Les registres du processeur|Les registres du processeur]]
* [[Fonctionnement d'un ordinateur/Le modèle mémoire : alignement et boutisme|Le modèle mémoire : alignement et boutisme]]
* [[Fonctionnement d'un ordinateur/Les modes d'adressage|Les modes d'adressage]]
* [[Fonctionnement d'un ordinateur/L'encodage des instructions|L'encodage des instructions]]
* [[Fonctionnement d'un ordinateur/Les jeux d'instructions|Les jeux d'instructions]]
* [[Fonctionnement d'un ordinateur/La pile d'appel et les fonctions|La pile d'appel et les fonctions]]
* [[Fonctionnement d'un ordinateur/Les interruptions et exceptions|Les interruptions et exceptions]]
===La micro-architecture===
* [[Fonctionnement d'un ordinateur/Les composants d'un processeur|Les composants d'un processeur]]
* [[Fonctionnement d'un ordinateur/Le chemin de données|Le chemin de données]]
* [[Fonctionnement d'un ordinateur/L'unité de chargement et le program counter|L'unité de chargement et le program counter]]
* [[Fonctionnement d'un ordinateur/L'unité de contrôle|L'unité de contrôle]]
===Les jeux d'instruction spécialisés ou exotiques===
* [[Fonctionnement d'un ordinateur/Les architectures à accumulateur|Les architectures à accumulateur]]
* [[Fonctionnement d'un ordinateur/Les architectures à pile et mémoire-mémoire|Les architectures à pile et mémoire-mémoire]]
* [[Fonctionnement d'un ordinateur/Les processeurs 8 bits et moins|Les processeurs 8 bits et moins]]
* [[Fonctionnement d'un ordinateur/Les processeurs de traitement du signal|Les processeurs de traitement du signal]]
* [[Fonctionnement d'un ordinateur/Les architectures actionnées par déplacement|Les architectures actionnées par déplacement]]
===L'espace d'adressage du processeur et la multiprogrammation===
* [[Fonctionnement d'un ordinateur/L'espace d'adressage du processeur|L'espace d'adressage du processeur]]
* [[Fonctionnement d'un ordinateur/L'abstraction mémoire et la mémoire virtuelle|L'abstraction mémoire et la mémoire virtuelle]]
==Les entrées-sorties et périphériques==
* [[Fonctionnement d'un ordinateur/Les méthodes de synchronisation entre processeur et périphériques|Les méthodes de synchronisation entre processeur et périphériques]]
* [[Fonctionnement d'un ordinateur/L'adressage des périphériques|L'adressage des périphériques]]
* [[Fonctionnement d'un ordinateur/Les périphériques et les cartes d'extension|Les périphériques et les cartes d'extension]]
==Les mémoires de stockage==
* [[Fonctionnement d'un ordinateur/Les mémoires de masse : généralités|Les mémoires de masse : généralités]]
* [[Fonctionnement d'un ordinateur/Les disques durs|Les disques durs]]
* [[Fonctionnement d'un ordinateur/Les solid-state drives|Les solid-state drives]]
* [[Fonctionnement d'un ordinateur/Les disques optiques|Les disques optiques]]
* [[Fonctionnement d'un ordinateur/Compléments sur les mémoires de masse|Compléments sur les mémoires de masse]]
==La ou les mémoires caches==
* [[Fonctionnement d'un ordinateur/Les mémoires cache|Les mémoires cache]]
* [[Fonctionnement d'un ordinateur/Le préchargement|Le préchargement]]
* [[Fonctionnement d'un ordinateur/Le Translation Lookaside Buffer|Le ''Translation Lookaside Buffer'']]
==Le parallélisme d’instructions==
* [[Fonctionnement d'un ordinateur/Le pipeline|Le pipeline]]
===Les branchements et le ''front-end''===
* [[Fonctionnement d'un ordinateur/La prédiction de branchement|La prédiction de branchement]]
* [[Fonctionnement d'un ordinateur/Les optimisations du chargement des instructions|Les optimisations du chargement des instructions]]
===L’exécution dans le désordre===
* [[Fonctionnement d'un ordinateur/Les pipelines multicycles|Les pipelines multicycles]]
* [[Fonctionnement d'un ordinateur/L'émission dans l'ordre des instructions|L'émission dans l'ordre des instructions]]
* [[Fonctionnement d'un ordinateur/Le contournement (data forwarding)|Le contournement (data forwarding)]]
* [[Fonctionnement d'un ordinateur/L'exécution dans le désordre|L'exécution dans le désordre]]
* [[Fonctionnement d'un ordinateur/Le renommage de registres|Le renommage de registres]]
* [[Fonctionnement d'un ordinateur/Le scoreboarding et l'algorithme de Tomasulo|Annexe : Le scoreboarding et l'algorithme de Tomasulo]]
* [[Fonctionnement d'un ordinateur/La désambiguïsation mémoire|La désambiguïsation mémoire]]
* [[Fonctionnement d'un ordinateur/Le parallélisme mémoire au niveau du cache|Le parallélisme mémoire au niveau du cache]]
===L'émission multiple===
* [[Fonctionnement d'un ordinateur/Les processeurs superscalaires|Les processeurs superscalaires]]
* [[Fonctionnement d'un ordinateur/Exemples de microarchitectures CPU : le cas du x86|Exemples de CPU superscalaires: le cas du x86]]
* [[Fonctionnement d'un ordinateur/Les processeurs VLIW et EPIC|Les processeurs VLIW et EPIC]]
* [[Fonctionnement d'un ordinateur/Les architectures dataflow|Les architectures dataflow]]
==Les architectures parallèles==
* [[Fonctionnement d'un ordinateur/Les architectures parallèles|Les architectures parallèles]]
* [[Fonctionnement d'un ordinateur/Architectures multiprocesseurs et multicœurs|Les architectures multiprocesseurs et multicœurs]]
* [[Fonctionnement d'un ordinateur/Architectures multithreadées et Hyperthreading|Les architectures multithreadées et Hyperthreading]]
* [[Fonctionnement d'un ordinateur/Les architectures à parallélisme de données|Les architectures à parallélisme de données]]
* [[Fonctionnement d'un ordinateur/La cohérence des caches|La cohérence des caches]]
* [[Fonctionnement d'un ordinateur/Les sections critiques et le modèle mémoire|Les sections critiques et le modèle mémoire]]
==Annexes==
* [[Fonctionnement d'un ordinateur/L'accélération matérielle de la virtualisation|L'accélération matérielle de la virtualisation]]
* [[Fonctionnement d'un ordinateur/Les ISA optimisés pour la compilation/interprétation|Les ISA optimisés pour la compilation/interprétation]]
* [[Fonctionnement d'un ordinateur/Le matériel réseau|Le matériel réseau]]
* [[Fonctionnement d'un ordinateur/La tolérance aux pannes|La tolérance aux pannes]]
* [[Fonctionnement d'un ordinateur/Les architectures systoliques|Les architectures systoliques]]
* [[Fonctionnement d'un ordinateur/Les architectures neuromorphiques|Les réseaux de neurones matériels]]
* [[Fonctionnement d'un ordinateur/Les ordinateurs de première génération : tubes à vide et mémoires|Les ordinateurs de première génération : tubes à vide et mémoires]]
* [[Fonctionnement d'un ordinateur/Les ordinateurs à encodages non-binaires|Les ordinateurs à encodages non-binaires]]
* [[Fonctionnement d'un ordinateur/Les circuits réversibles|Les circuits réversibles]]
{{autocat}}
mnl87xkbgrfme8zw0qptarsoi1v4gyz
762878
762873
2026-04-04T13:44:01Z
Mewtow
31375
/* Les jeux d'instruction spécialisés ou exotiques */
762878
wikitext
text/x-wiki
__NOTOC__
* [[Fonctionnement d'un ordinateur/Introduction|Introduction]]
==Le codage des informations==
* [[Fonctionnement d'un ordinateur/L'encodage des données|L'encodage des données]]
* [[Fonctionnement d'un ordinateur/Le codage des nombres|Le codage des nombres]]
* [[Fonctionnement d'un ordinateur/Les codes de détection/correction d'erreur|Les codes de détection/correction d'erreur]]
==Les circuits électroniques==
* [[Fonctionnement d'un ordinateur/Les portes logiques|Les portes logiques]]
===Les circuits combinatoires===
* [[Fonctionnement d'un ordinateur/Les circuits combinatoires|Les circuits combinatoires]]
* [[Fonctionnement d'un ordinateur/Les circuits de masquage|Les circuits de masquage]]
* [[Fonctionnement d'un ordinateur/Les circuits de sélection|Les circuits de sélection]]
===Les circuits séquentiels===
* [[Fonctionnement d'un ordinateur/Les bascules : des mémoires de 1 bit|Les bascules : des mémoires de 1 bit]]
* [[Fonctionnement d'un ordinateur/Les circuits synchrones et asynchrones|Les circuits synchrones et asynchrones]]
* [[Fonctionnement d'un ordinateur/Les registres et mémoires adressables|Les registres et mémoires adressables]]
* [[Fonctionnement d'un ordinateur/Les circuits compteurs et décompteurs|Les circuits compteurs et décompteurs]]
* [[Fonctionnement d'un ordinateur/Les timers et diviseurs de fréquence|Les timers et diviseurs de fréquence]]
===Les circuits de calcul et de comparaison===
* [[Fonctionnement d'un ordinateur/Les circuits de décalage et de rotation|Les circuits de décalage et de rotation]]
* [[Fonctionnement d'un ordinateur/Les circuits pour l'addition et la soustraction|Les circuits pour l'addition et la soustraction]]
* [[Fonctionnement d'un ordinateur/Les circuits de comparaison|Les circuits de comparaison]]
* [[Fonctionnement d'un ordinateur/Les unités arithmétiques et logiques entières (simples)|Les unités arithmétiques et logiques entières (simples)]]
* [[Fonctionnement d'un ordinateur/Les circuits pour l'addition multiopérande|Les circuits pour l'addition multiopérande]]
* [[Fonctionnement d'un ordinateur/Les circuits pour la multiplication et la division|Les circuits pour la multiplication et la division]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul logique et bit à bit|Les circuits de calcul logique et bit à bit]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul flottant|Les circuits de calcul flottant]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul trigonométriques|Les circuits de calcul trigonométriques]]
* [[Fonctionnement d'un ordinateur/Les circuits de conversion analogique-numérique|Les circuits de conversion analogique-numérique]]
===Les circuits intégrés à semi-conducteurs===
* [[Fonctionnement d'un ordinateur/Les transistors et portes logiques|Les transistors et portes logiques]]
* [[Fonctionnement d'un ordinateur/Les circuits intégrés|Les circuits intégrés]]
* [[Fonctionnement d'un ordinateur/L'interface électrique entre circuits intégrés et bus|L'interface électrique entre circuits intégrés et bus]]
==L'architecture d'un ordinateur==
* [[Fonctionnement d'un ordinateur/L'architecture de base d'un ordinateur|L'architecture de base d'un ordinateur]]
* [[Fonctionnement d'un ordinateur/La hiérarchie mémoire|La hiérarchie mémoire]]
* [[Fonctionnement d'un ordinateur/La performance d'un ordinateur|La performance d'un ordinateur]]
* [[Fonctionnement d'un ordinateur/La loi de Moore et les tendances technologiques|La loi de Moore et les tendances technologiques]]
* [[Fonctionnement d'un ordinateur/Les techniques de réduction de la consommation électrique d'un processeur|Les techniques de réduction de la consommation électrique d'un processeur]]
==Les bus électroniques et la carte mère==
* [[Fonctionnement d'un ordinateur/La carte mère, chipset et BIOS|La carte mère, chipset et BIOS]]
* [[Fonctionnement d'un ordinateur/Les bus et liaisons point à point (généralités)|Les bus et liaisons point à point (généralités)]]
* [[Fonctionnement d'un ordinateur/Les encodages spécifiques aux bus|Les encodages spécifiques aux bus]]
* [[Fonctionnement d'un ordinateur/Les liaisons point à point|Les liaisons point à point]]
* [[Fonctionnement d'un ordinateur/Les bus électroniques|Les bus électroniques]]
* [[Fonctionnement d'un ordinateur/Quelques exemples de bus et de liaisons point à point|Quelques exemples de bus et de liaisons point à point]]
==Les mémoires RAM/ROM==
* [[Fonctionnement d'un ordinateur/Les différents types de mémoires|Les différents types de mémoires]]
* [[Fonctionnement d'un ordinateur/L'interface d'une mémoire électronique|L'interface d'une mémoire électronique]]
* [[Fonctionnement d'un ordinateur/Le bus mémoire|Le bus mémoire]]
===La micro-architecture d'une mémoire adressable===
* [[Fonctionnement d'un ordinateur/Les cellules mémoires|Les cellules mémoires]]
* [[Fonctionnement d'un ordinateur/Le plan mémoire|Le plan mémoire]]
* [[Fonctionnement d'un ordinateur/Contrôleur mémoire interne|Le contrôleur mémoire interne]]
* [[Fonctionnement d'un ordinateur/Mémoires évoluées|Les mémoires évoluées]]
===Les mémoires primaires===
* [[Fonctionnement d'un ordinateur/Les mémoires ROM|Les mémoires ROM : Mask ROM, PROM, EPROM, EEPROM, Flash]]
* [[Fonctionnement d'un ordinateur/Les mémoires SRAM synchrones|Les mémoires SRAM synchrones]]
* [[Fonctionnement d'un ordinateur/Les mémoires RAM dynamiques (DRAM)|Les mémoires RAM dynamiques (DRAM)]]
* [[Fonctionnement d'un ordinateur/Contrôleur mémoire externe|Le contrôleur mémoire externe]]
===Les mémoires exotiques===
* [[Fonctionnement d'un ordinateur/Les mémoires associatives|Les mémoires associatives]]
* [[Fonctionnement d'un ordinateur/Les mémoires FIFO et LIFO|Les mémoires FIFO et LIFO]]
==Le processeur==
===L'architecture externe===
* [[Fonctionnement d'un ordinateur/Langage machine et assembleur|Langage machine et assembleur]]
* [[Fonctionnement d'un ordinateur/Les registres du processeur|Les registres du processeur]]
* [[Fonctionnement d'un ordinateur/Le modèle mémoire : alignement et boutisme|Le modèle mémoire : alignement et boutisme]]
* [[Fonctionnement d'un ordinateur/Les modes d'adressage|Les modes d'adressage]]
* [[Fonctionnement d'un ordinateur/L'encodage des instructions|L'encodage des instructions]]
* [[Fonctionnement d'un ordinateur/Les jeux d'instructions|Les jeux d'instructions]]
* [[Fonctionnement d'un ordinateur/La pile d'appel et les fonctions|La pile d'appel et les fonctions]]
* [[Fonctionnement d'un ordinateur/Les interruptions et exceptions|Les interruptions et exceptions]]
===La micro-architecture===
* [[Fonctionnement d'un ordinateur/Les composants d'un processeur|Les composants d'un processeur]]
* [[Fonctionnement d'un ordinateur/Le chemin de données|Le chemin de données]]
* [[Fonctionnement d'un ordinateur/L'unité de chargement et le program counter|L'unité de chargement et le program counter]]
* [[Fonctionnement d'un ordinateur/L'unité de contrôle|L'unité de contrôle]]
===Les jeux d'instruction spécialisés ou exotiques===
* [[Fonctionnement d'un ordinateur/Les architectures à accumulateur|Les architectures à accumulateur]]
* [[Fonctionnement d'un ordinateur/Les architectures à pile et mémoire-mémoire|Les architectures à pile et mémoire-mémoire]]
* [[Fonctionnement d'un ordinateur/Les processeurs 8 bits et moins|Les processeurs 8 bits et moins]]
* [[Fonctionnement d'un ordinateur/Les processeurs de traitement du signal|Les processeurs de traitement du signal]]
* [[Fonctionnement d'un ordinateur/Les architectures actionnées par déplacement|Les architectures actionnées par déplacement]]
* [[Fonctionnement d'un ordinateur/Les coprocesseurs : FPU et IO|Les coprocesseurs : FPU et IO]]
===L'espace d'adressage du processeur et la multiprogrammation===
* [[Fonctionnement d'un ordinateur/L'espace d'adressage du processeur|L'espace d'adressage du processeur]]
* [[Fonctionnement d'un ordinateur/L'abstraction mémoire et la mémoire virtuelle|L'abstraction mémoire et la mémoire virtuelle]]
==Les entrées-sorties et périphériques==
* [[Fonctionnement d'un ordinateur/Les méthodes de synchronisation entre processeur et périphériques|Les méthodes de synchronisation entre processeur et périphériques]]
* [[Fonctionnement d'un ordinateur/L'adressage des périphériques|L'adressage des périphériques]]
* [[Fonctionnement d'un ordinateur/Les périphériques et les cartes d'extension|Les périphériques et les cartes d'extension]]
==Les mémoires de stockage==
* [[Fonctionnement d'un ordinateur/Les mémoires de masse : généralités|Les mémoires de masse : généralités]]
* [[Fonctionnement d'un ordinateur/Les disques durs|Les disques durs]]
* [[Fonctionnement d'un ordinateur/Les solid-state drives|Les solid-state drives]]
* [[Fonctionnement d'un ordinateur/Les disques optiques|Les disques optiques]]
* [[Fonctionnement d'un ordinateur/Compléments sur les mémoires de masse|Compléments sur les mémoires de masse]]
==La ou les mémoires caches==
* [[Fonctionnement d'un ordinateur/Les mémoires cache|Les mémoires cache]]
* [[Fonctionnement d'un ordinateur/Le préchargement|Le préchargement]]
* [[Fonctionnement d'un ordinateur/Le Translation Lookaside Buffer|Le ''Translation Lookaside Buffer'']]
==Le parallélisme d’instructions==
* [[Fonctionnement d'un ordinateur/Le pipeline|Le pipeline]]
===Les branchements et le ''front-end''===
* [[Fonctionnement d'un ordinateur/La prédiction de branchement|La prédiction de branchement]]
* [[Fonctionnement d'un ordinateur/Les optimisations du chargement des instructions|Les optimisations du chargement des instructions]]
===L’exécution dans le désordre===
* [[Fonctionnement d'un ordinateur/Les pipelines multicycles|Les pipelines multicycles]]
* [[Fonctionnement d'un ordinateur/L'émission dans l'ordre des instructions|L'émission dans l'ordre des instructions]]
* [[Fonctionnement d'un ordinateur/Le contournement (data forwarding)|Le contournement (data forwarding)]]
* [[Fonctionnement d'un ordinateur/L'exécution dans le désordre|L'exécution dans le désordre]]
* [[Fonctionnement d'un ordinateur/Le renommage de registres|Le renommage de registres]]
* [[Fonctionnement d'un ordinateur/Le scoreboarding et l'algorithme de Tomasulo|Annexe : Le scoreboarding et l'algorithme de Tomasulo]]
* [[Fonctionnement d'un ordinateur/La désambiguïsation mémoire|La désambiguïsation mémoire]]
* [[Fonctionnement d'un ordinateur/Le parallélisme mémoire au niveau du cache|Le parallélisme mémoire au niveau du cache]]
===L'émission multiple===
* [[Fonctionnement d'un ordinateur/Les processeurs superscalaires|Les processeurs superscalaires]]
* [[Fonctionnement d'un ordinateur/Exemples de microarchitectures CPU : le cas du x86|Exemples de CPU superscalaires: le cas du x86]]
* [[Fonctionnement d'un ordinateur/Les processeurs VLIW et EPIC|Les processeurs VLIW et EPIC]]
* [[Fonctionnement d'un ordinateur/Les architectures dataflow|Les architectures dataflow]]
==Les architectures parallèles==
* [[Fonctionnement d'un ordinateur/Les architectures parallèles|Les architectures parallèles]]
* [[Fonctionnement d'un ordinateur/Architectures multiprocesseurs et multicœurs|Les architectures multiprocesseurs et multicœurs]]
* [[Fonctionnement d'un ordinateur/Architectures multithreadées et Hyperthreading|Les architectures multithreadées et Hyperthreading]]
* [[Fonctionnement d'un ordinateur/Les architectures à parallélisme de données|Les architectures à parallélisme de données]]
* [[Fonctionnement d'un ordinateur/La cohérence des caches|La cohérence des caches]]
* [[Fonctionnement d'un ordinateur/Les sections critiques et le modèle mémoire|Les sections critiques et le modèle mémoire]]
==Annexes==
* [[Fonctionnement d'un ordinateur/L'accélération matérielle de la virtualisation|L'accélération matérielle de la virtualisation]]
* [[Fonctionnement d'un ordinateur/Les ISA optimisés pour la compilation/interprétation|Les ISA optimisés pour la compilation/interprétation]]
* [[Fonctionnement d'un ordinateur/Le matériel réseau|Le matériel réseau]]
* [[Fonctionnement d'un ordinateur/La tolérance aux pannes|La tolérance aux pannes]]
* [[Fonctionnement d'un ordinateur/Les architectures systoliques|Les architectures systoliques]]
* [[Fonctionnement d'un ordinateur/Les architectures neuromorphiques|Les réseaux de neurones matériels]]
* [[Fonctionnement d'un ordinateur/Les ordinateurs de première génération : tubes à vide et mémoires|Les ordinateurs de première génération : tubes à vide et mémoires]]
* [[Fonctionnement d'un ordinateur/Les ordinateurs à encodages non-binaires|Les ordinateurs à encodages non-binaires]]
* [[Fonctionnement d'un ordinateur/Les circuits réversibles|Les circuits réversibles]]
{{autocat}}
bfyrdguxzvybn2dwd0n4o3gf83lw4l3
762947
762878
2026-04-04T19:17:06Z
Mewtow
31375
/* Les jeux d'instruction spécialisés ou exotiques */
762947
wikitext
text/x-wiki
__NOTOC__
* [[Fonctionnement d'un ordinateur/Introduction|Introduction]]
==Le codage des informations==
* [[Fonctionnement d'un ordinateur/L'encodage des données|L'encodage des données]]
* [[Fonctionnement d'un ordinateur/Le codage des nombres|Le codage des nombres]]
* [[Fonctionnement d'un ordinateur/Les codes de détection/correction d'erreur|Les codes de détection/correction d'erreur]]
==Les circuits électroniques==
* [[Fonctionnement d'un ordinateur/Les portes logiques|Les portes logiques]]
===Les circuits combinatoires===
* [[Fonctionnement d'un ordinateur/Les circuits combinatoires|Les circuits combinatoires]]
* [[Fonctionnement d'un ordinateur/Les circuits de masquage|Les circuits de masquage]]
* [[Fonctionnement d'un ordinateur/Les circuits de sélection|Les circuits de sélection]]
===Les circuits séquentiels===
* [[Fonctionnement d'un ordinateur/Les bascules : des mémoires de 1 bit|Les bascules : des mémoires de 1 bit]]
* [[Fonctionnement d'un ordinateur/Les circuits synchrones et asynchrones|Les circuits synchrones et asynchrones]]
* [[Fonctionnement d'un ordinateur/Les registres et mémoires adressables|Les registres et mémoires adressables]]
* [[Fonctionnement d'un ordinateur/Les circuits compteurs et décompteurs|Les circuits compteurs et décompteurs]]
* [[Fonctionnement d'un ordinateur/Les timers et diviseurs de fréquence|Les timers et diviseurs de fréquence]]
===Les circuits de calcul et de comparaison===
* [[Fonctionnement d'un ordinateur/Les circuits de décalage et de rotation|Les circuits de décalage et de rotation]]
* [[Fonctionnement d'un ordinateur/Les circuits pour l'addition et la soustraction|Les circuits pour l'addition et la soustraction]]
* [[Fonctionnement d'un ordinateur/Les circuits de comparaison|Les circuits de comparaison]]
* [[Fonctionnement d'un ordinateur/Les unités arithmétiques et logiques entières (simples)|Les unités arithmétiques et logiques entières (simples)]]
* [[Fonctionnement d'un ordinateur/Les circuits pour l'addition multiopérande|Les circuits pour l'addition multiopérande]]
* [[Fonctionnement d'un ordinateur/Les circuits pour la multiplication et la division|Les circuits pour la multiplication et la division]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul logique et bit à bit|Les circuits de calcul logique et bit à bit]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul flottant|Les circuits de calcul flottant]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul trigonométriques|Les circuits de calcul trigonométriques]]
* [[Fonctionnement d'un ordinateur/Les circuits de conversion analogique-numérique|Les circuits de conversion analogique-numérique]]
===Les circuits intégrés à semi-conducteurs===
* [[Fonctionnement d'un ordinateur/Les transistors et portes logiques|Les transistors et portes logiques]]
* [[Fonctionnement d'un ordinateur/Les circuits intégrés|Les circuits intégrés]]
* [[Fonctionnement d'un ordinateur/L'interface électrique entre circuits intégrés et bus|L'interface électrique entre circuits intégrés et bus]]
==L'architecture d'un ordinateur==
* [[Fonctionnement d'un ordinateur/L'architecture de base d'un ordinateur|L'architecture de base d'un ordinateur]]
* [[Fonctionnement d'un ordinateur/La hiérarchie mémoire|La hiérarchie mémoire]]
* [[Fonctionnement d'un ordinateur/La performance d'un ordinateur|La performance d'un ordinateur]]
* [[Fonctionnement d'un ordinateur/La loi de Moore et les tendances technologiques|La loi de Moore et les tendances technologiques]]
* [[Fonctionnement d'un ordinateur/Les techniques de réduction de la consommation électrique d'un processeur|Les techniques de réduction de la consommation électrique d'un processeur]]
==Les bus électroniques et la carte mère==
* [[Fonctionnement d'un ordinateur/La carte mère, chipset et BIOS|La carte mère, chipset et BIOS]]
* [[Fonctionnement d'un ordinateur/Les bus et liaisons point à point (généralités)|Les bus et liaisons point à point (généralités)]]
* [[Fonctionnement d'un ordinateur/Les encodages spécifiques aux bus|Les encodages spécifiques aux bus]]
* [[Fonctionnement d'un ordinateur/Les liaisons point à point|Les liaisons point à point]]
* [[Fonctionnement d'un ordinateur/Les bus électroniques|Les bus électroniques]]
* [[Fonctionnement d'un ordinateur/Quelques exemples de bus et de liaisons point à point|Quelques exemples de bus et de liaisons point à point]]
==Les mémoires RAM/ROM==
* [[Fonctionnement d'un ordinateur/Les différents types de mémoires|Les différents types de mémoires]]
* [[Fonctionnement d'un ordinateur/L'interface d'une mémoire électronique|L'interface d'une mémoire électronique]]
* [[Fonctionnement d'un ordinateur/Le bus mémoire|Le bus mémoire]]
===La micro-architecture d'une mémoire adressable===
* [[Fonctionnement d'un ordinateur/Les cellules mémoires|Les cellules mémoires]]
* [[Fonctionnement d'un ordinateur/Le plan mémoire|Le plan mémoire]]
* [[Fonctionnement d'un ordinateur/Contrôleur mémoire interne|Le contrôleur mémoire interne]]
* [[Fonctionnement d'un ordinateur/Mémoires évoluées|Les mémoires évoluées]]
===Les mémoires primaires===
* [[Fonctionnement d'un ordinateur/Les mémoires ROM|Les mémoires ROM : Mask ROM, PROM, EPROM, EEPROM, Flash]]
* [[Fonctionnement d'un ordinateur/Les mémoires SRAM synchrones|Les mémoires SRAM synchrones]]
* [[Fonctionnement d'un ordinateur/Les mémoires RAM dynamiques (DRAM)|Les mémoires RAM dynamiques (DRAM)]]
* [[Fonctionnement d'un ordinateur/Contrôleur mémoire externe|Le contrôleur mémoire externe]]
===Les mémoires exotiques===
* [[Fonctionnement d'un ordinateur/Les mémoires associatives|Les mémoires associatives]]
* [[Fonctionnement d'un ordinateur/Les mémoires FIFO et LIFO|Les mémoires FIFO et LIFO]]
==Le processeur==
===L'architecture externe===
* [[Fonctionnement d'un ordinateur/Langage machine et assembleur|Langage machine et assembleur]]
* [[Fonctionnement d'un ordinateur/Les registres du processeur|Les registres du processeur]]
* [[Fonctionnement d'un ordinateur/Le modèle mémoire : alignement et boutisme|Le modèle mémoire : alignement et boutisme]]
* [[Fonctionnement d'un ordinateur/Les modes d'adressage|Les modes d'adressage]]
* [[Fonctionnement d'un ordinateur/L'encodage des instructions|L'encodage des instructions]]
* [[Fonctionnement d'un ordinateur/Les jeux d'instructions|Les jeux d'instructions]]
* [[Fonctionnement d'un ordinateur/La pile d'appel et les fonctions|La pile d'appel et les fonctions]]
* [[Fonctionnement d'un ordinateur/Les interruptions et exceptions|Les interruptions et exceptions]]
===La micro-architecture===
* [[Fonctionnement d'un ordinateur/Les composants d'un processeur|Les composants d'un processeur]]
* [[Fonctionnement d'un ordinateur/Le chemin de données|Le chemin de données]]
* [[Fonctionnement d'un ordinateur/L'unité de chargement et le program counter|L'unité de chargement et le program counter]]
* [[Fonctionnement d'un ordinateur/L'unité de contrôle|L'unité de contrôle]]
===Les jeux d'instruction spécialisés ou exotiques===
* [[Fonctionnement d'un ordinateur/Les architectures à accumulateur|Les architectures à accumulateur]]
* [[Fonctionnement d'un ordinateur/Les architectures à pile et mémoire-mémoire|Les architectures à pile et mémoire-mémoire]]
* [[Fonctionnement d'un ordinateur/Les processeurs 8 bits et moins|Les processeurs 8 bits et moins]]
* [[Fonctionnement d'un ordinateur/Les processeurs de traitement du signal|Les processeurs de traitement du signal]]
* [[Fonctionnement d'un ordinateur/Les architectures actionnées par déplacement|Les architectures actionnées par déplacement]]
===L'espace d'adressage du processeur et la multiprogrammation===
* [[Fonctionnement d'un ordinateur/L'espace d'adressage du processeur|L'espace d'adressage du processeur]]
* [[Fonctionnement d'un ordinateur/L'abstraction mémoire et la mémoire virtuelle|L'abstraction mémoire et la mémoire virtuelle]]
==Les entrées-sorties et périphériques==
* [[Fonctionnement d'un ordinateur/Les méthodes de synchronisation entre processeur et périphériques|Les méthodes de synchronisation entre processeur et périphériques]]
* [[Fonctionnement d'un ordinateur/L'adressage des périphériques|L'adressage des périphériques]]
* [[Fonctionnement d'un ordinateur/Les périphériques et les cartes d'extension|Les périphériques et les cartes d'extension]]
==Les mémoires de stockage==
* [[Fonctionnement d'un ordinateur/Les mémoires de masse : généralités|Les mémoires de masse : généralités]]
* [[Fonctionnement d'un ordinateur/Les disques durs|Les disques durs]]
* [[Fonctionnement d'un ordinateur/Les solid-state drives|Les solid-state drives]]
* [[Fonctionnement d'un ordinateur/Les disques optiques|Les disques optiques]]
* [[Fonctionnement d'un ordinateur/Compléments sur les mémoires de masse|Compléments sur les mémoires de masse]]
==La ou les mémoires caches==
* [[Fonctionnement d'un ordinateur/Les mémoires cache|Les mémoires cache]]
* [[Fonctionnement d'un ordinateur/Le préchargement|Le préchargement]]
* [[Fonctionnement d'un ordinateur/Le Translation Lookaside Buffer|Le ''Translation Lookaside Buffer'']]
==Le parallélisme d’instructions==
* [[Fonctionnement d'un ordinateur/Le pipeline|Le pipeline]]
===Les branchements et le ''front-end''===
* [[Fonctionnement d'un ordinateur/La prédiction de branchement|La prédiction de branchement]]
* [[Fonctionnement d'un ordinateur/Les optimisations du chargement des instructions|Les optimisations du chargement des instructions]]
===L’exécution dans le désordre===
* [[Fonctionnement d'un ordinateur/Les pipelines multicycles|Les pipelines multicycles]]
* [[Fonctionnement d'un ordinateur/L'émission dans l'ordre des instructions|L'émission dans l'ordre des instructions]]
* [[Fonctionnement d'un ordinateur/Le contournement (data forwarding)|Le contournement (data forwarding)]]
* [[Fonctionnement d'un ordinateur/L'exécution dans le désordre|L'exécution dans le désordre]]
* [[Fonctionnement d'un ordinateur/Le renommage de registres|Le renommage de registres]]
* [[Fonctionnement d'un ordinateur/Le scoreboarding et l'algorithme de Tomasulo|Annexe : Le scoreboarding et l'algorithme de Tomasulo]]
* [[Fonctionnement d'un ordinateur/La désambiguïsation mémoire|La désambiguïsation mémoire]]
* [[Fonctionnement d'un ordinateur/Le parallélisme mémoire au niveau du cache|Le parallélisme mémoire au niveau du cache]]
===L'émission multiple===
* [[Fonctionnement d'un ordinateur/Les processeurs superscalaires|Les processeurs superscalaires]]
* [[Fonctionnement d'un ordinateur/Exemples de microarchitectures CPU : le cas du x86|Exemples de CPU superscalaires: le cas du x86]]
* [[Fonctionnement d'un ordinateur/Les processeurs VLIW et EPIC|Les processeurs VLIW et EPIC]]
* [[Fonctionnement d'un ordinateur/Les architectures dataflow|Les architectures dataflow]]
==Les architectures parallèles==
* [[Fonctionnement d'un ordinateur/Les architectures parallèles|Les architectures parallèles]]
* [[Fonctionnement d'un ordinateur/Architectures multiprocesseurs et multicœurs|Les architectures multiprocesseurs et multicœurs]]
* [[Fonctionnement d'un ordinateur/Architectures multithreadées et Hyperthreading|Les architectures multithreadées et Hyperthreading]]
* [[Fonctionnement d'un ordinateur/Les architectures à parallélisme de données|Les architectures à parallélisme de données]]
* [[Fonctionnement d'un ordinateur/La cohérence des caches|La cohérence des caches]]
* [[Fonctionnement d'un ordinateur/Les sections critiques et le modèle mémoire|Les sections critiques et le modèle mémoire]]
==Annexes==
* [[Fonctionnement d'un ordinateur/L'accélération matérielle de la virtualisation|L'accélération matérielle de la virtualisation]]
* [[Fonctionnement d'un ordinateur/Les ISA optimisés pour la compilation/interprétation|Les ISA optimisés pour la compilation/interprétation]]
* [[Fonctionnement d'un ordinateur/Le matériel réseau|Le matériel réseau]]
* [[Fonctionnement d'un ordinateur/La tolérance aux pannes|La tolérance aux pannes]]
* [[Fonctionnement d'un ordinateur/Les architectures systoliques|Les architectures systoliques]]
* [[Fonctionnement d'un ordinateur/Les architectures neuromorphiques|Les réseaux de neurones matériels]]
* [[Fonctionnement d'un ordinateur/Les ordinateurs de première génération : tubes à vide et mémoires|Les ordinateurs de première génération : tubes à vide et mémoires]]
* [[Fonctionnement d'un ordinateur/Les ordinateurs à encodages non-binaires|Les ordinateurs à encodages non-binaires]]
* [[Fonctionnement d'un ordinateur/Les circuits réversibles|Les circuits réversibles]]
{{autocat}}
mnl87xkbgrfme8zw0qptarsoi1v4gyz
762948
762947
2026-04-04T19:17:13Z
Mewtow
31375
/* Annexes */
762948
wikitext
text/x-wiki
__NOTOC__
* [[Fonctionnement d'un ordinateur/Introduction|Introduction]]
==Le codage des informations==
* [[Fonctionnement d'un ordinateur/L'encodage des données|L'encodage des données]]
* [[Fonctionnement d'un ordinateur/Le codage des nombres|Le codage des nombres]]
* [[Fonctionnement d'un ordinateur/Les codes de détection/correction d'erreur|Les codes de détection/correction d'erreur]]
==Les circuits électroniques==
* [[Fonctionnement d'un ordinateur/Les portes logiques|Les portes logiques]]
===Les circuits combinatoires===
* [[Fonctionnement d'un ordinateur/Les circuits combinatoires|Les circuits combinatoires]]
* [[Fonctionnement d'un ordinateur/Les circuits de masquage|Les circuits de masquage]]
* [[Fonctionnement d'un ordinateur/Les circuits de sélection|Les circuits de sélection]]
===Les circuits séquentiels===
* [[Fonctionnement d'un ordinateur/Les bascules : des mémoires de 1 bit|Les bascules : des mémoires de 1 bit]]
* [[Fonctionnement d'un ordinateur/Les circuits synchrones et asynchrones|Les circuits synchrones et asynchrones]]
* [[Fonctionnement d'un ordinateur/Les registres et mémoires adressables|Les registres et mémoires adressables]]
* [[Fonctionnement d'un ordinateur/Les circuits compteurs et décompteurs|Les circuits compteurs et décompteurs]]
* [[Fonctionnement d'un ordinateur/Les timers et diviseurs de fréquence|Les timers et diviseurs de fréquence]]
===Les circuits de calcul et de comparaison===
* [[Fonctionnement d'un ordinateur/Les circuits de décalage et de rotation|Les circuits de décalage et de rotation]]
* [[Fonctionnement d'un ordinateur/Les circuits pour l'addition et la soustraction|Les circuits pour l'addition et la soustraction]]
* [[Fonctionnement d'un ordinateur/Les circuits de comparaison|Les circuits de comparaison]]
* [[Fonctionnement d'un ordinateur/Les unités arithmétiques et logiques entières (simples)|Les unités arithmétiques et logiques entières (simples)]]
* [[Fonctionnement d'un ordinateur/Les circuits pour l'addition multiopérande|Les circuits pour l'addition multiopérande]]
* [[Fonctionnement d'un ordinateur/Les circuits pour la multiplication et la division|Les circuits pour la multiplication et la division]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul logique et bit à bit|Les circuits de calcul logique et bit à bit]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul flottant|Les circuits de calcul flottant]]
* [[Fonctionnement d'un ordinateur/Les circuits de calcul trigonométriques|Les circuits de calcul trigonométriques]]
* [[Fonctionnement d'un ordinateur/Les circuits de conversion analogique-numérique|Les circuits de conversion analogique-numérique]]
===Les circuits intégrés à semi-conducteurs===
* [[Fonctionnement d'un ordinateur/Les transistors et portes logiques|Les transistors et portes logiques]]
* [[Fonctionnement d'un ordinateur/Les circuits intégrés|Les circuits intégrés]]
* [[Fonctionnement d'un ordinateur/L'interface électrique entre circuits intégrés et bus|L'interface électrique entre circuits intégrés et bus]]
==L'architecture d'un ordinateur==
* [[Fonctionnement d'un ordinateur/L'architecture de base d'un ordinateur|L'architecture de base d'un ordinateur]]
* [[Fonctionnement d'un ordinateur/La hiérarchie mémoire|La hiérarchie mémoire]]
* [[Fonctionnement d'un ordinateur/La performance d'un ordinateur|La performance d'un ordinateur]]
* [[Fonctionnement d'un ordinateur/La loi de Moore et les tendances technologiques|La loi de Moore et les tendances technologiques]]
* [[Fonctionnement d'un ordinateur/Les techniques de réduction de la consommation électrique d'un processeur|Les techniques de réduction de la consommation électrique d'un processeur]]
==Les bus électroniques et la carte mère==
* [[Fonctionnement d'un ordinateur/La carte mère, chipset et BIOS|La carte mère, chipset et BIOS]]
* [[Fonctionnement d'un ordinateur/Les bus et liaisons point à point (généralités)|Les bus et liaisons point à point (généralités)]]
* [[Fonctionnement d'un ordinateur/Les encodages spécifiques aux bus|Les encodages spécifiques aux bus]]
* [[Fonctionnement d'un ordinateur/Les liaisons point à point|Les liaisons point à point]]
* [[Fonctionnement d'un ordinateur/Les bus électroniques|Les bus électroniques]]
* [[Fonctionnement d'un ordinateur/Quelques exemples de bus et de liaisons point à point|Quelques exemples de bus et de liaisons point à point]]
==Les mémoires RAM/ROM==
* [[Fonctionnement d'un ordinateur/Les différents types de mémoires|Les différents types de mémoires]]
* [[Fonctionnement d'un ordinateur/L'interface d'une mémoire électronique|L'interface d'une mémoire électronique]]
* [[Fonctionnement d'un ordinateur/Le bus mémoire|Le bus mémoire]]
===La micro-architecture d'une mémoire adressable===
* [[Fonctionnement d'un ordinateur/Les cellules mémoires|Les cellules mémoires]]
* [[Fonctionnement d'un ordinateur/Le plan mémoire|Le plan mémoire]]
* [[Fonctionnement d'un ordinateur/Contrôleur mémoire interne|Le contrôleur mémoire interne]]
* [[Fonctionnement d'un ordinateur/Mémoires évoluées|Les mémoires évoluées]]
===Les mémoires primaires===
* [[Fonctionnement d'un ordinateur/Les mémoires ROM|Les mémoires ROM : Mask ROM, PROM, EPROM, EEPROM, Flash]]
* [[Fonctionnement d'un ordinateur/Les mémoires SRAM synchrones|Les mémoires SRAM synchrones]]
* [[Fonctionnement d'un ordinateur/Les mémoires RAM dynamiques (DRAM)|Les mémoires RAM dynamiques (DRAM)]]
* [[Fonctionnement d'un ordinateur/Contrôleur mémoire externe|Le contrôleur mémoire externe]]
===Les mémoires exotiques===
* [[Fonctionnement d'un ordinateur/Les mémoires associatives|Les mémoires associatives]]
* [[Fonctionnement d'un ordinateur/Les mémoires FIFO et LIFO|Les mémoires FIFO et LIFO]]
==Le processeur==
===L'architecture externe===
* [[Fonctionnement d'un ordinateur/Langage machine et assembleur|Langage machine et assembleur]]
* [[Fonctionnement d'un ordinateur/Les registres du processeur|Les registres du processeur]]
* [[Fonctionnement d'un ordinateur/Le modèle mémoire : alignement et boutisme|Le modèle mémoire : alignement et boutisme]]
* [[Fonctionnement d'un ordinateur/Les modes d'adressage|Les modes d'adressage]]
* [[Fonctionnement d'un ordinateur/L'encodage des instructions|L'encodage des instructions]]
* [[Fonctionnement d'un ordinateur/Les jeux d'instructions|Les jeux d'instructions]]
* [[Fonctionnement d'un ordinateur/La pile d'appel et les fonctions|La pile d'appel et les fonctions]]
* [[Fonctionnement d'un ordinateur/Les interruptions et exceptions|Les interruptions et exceptions]]
===La micro-architecture===
* [[Fonctionnement d'un ordinateur/Les composants d'un processeur|Les composants d'un processeur]]
* [[Fonctionnement d'un ordinateur/Le chemin de données|Le chemin de données]]
* [[Fonctionnement d'un ordinateur/L'unité de chargement et le program counter|L'unité de chargement et le program counter]]
* [[Fonctionnement d'un ordinateur/L'unité de contrôle|L'unité de contrôle]]
===Les jeux d'instruction spécialisés ou exotiques===
* [[Fonctionnement d'un ordinateur/Les architectures à accumulateur|Les architectures à accumulateur]]
* [[Fonctionnement d'un ordinateur/Les architectures à pile et mémoire-mémoire|Les architectures à pile et mémoire-mémoire]]
* [[Fonctionnement d'un ordinateur/Les processeurs 8 bits et moins|Les processeurs 8 bits et moins]]
* [[Fonctionnement d'un ordinateur/Les processeurs de traitement du signal|Les processeurs de traitement du signal]]
* [[Fonctionnement d'un ordinateur/Les architectures actionnées par déplacement|Les architectures actionnées par déplacement]]
===L'espace d'adressage du processeur et la multiprogrammation===
* [[Fonctionnement d'un ordinateur/L'espace d'adressage du processeur|L'espace d'adressage du processeur]]
* [[Fonctionnement d'un ordinateur/L'abstraction mémoire et la mémoire virtuelle|L'abstraction mémoire et la mémoire virtuelle]]
==Les entrées-sorties et périphériques==
* [[Fonctionnement d'un ordinateur/Les méthodes de synchronisation entre processeur et périphériques|Les méthodes de synchronisation entre processeur et périphériques]]
* [[Fonctionnement d'un ordinateur/L'adressage des périphériques|L'adressage des périphériques]]
* [[Fonctionnement d'un ordinateur/Les périphériques et les cartes d'extension|Les périphériques et les cartes d'extension]]
==Les mémoires de stockage==
* [[Fonctionnement d'un ordinateur/Les mémoires de masse : généralités|Les mémoires de masse : généralités]]
* [[Fonctionnement d'un ordinateur/Les disques durs|Les disques durs]]
* [[Fonctionnement d'un ordinateur/Les solid-state drives|Les solid-state drives]]
* [[Fonctionnement d'un ordinateur/Les disques optiques|Les disques optiques]]
* [[Fonctionnement d'un ordinateur/Compléments sur les mémoires de masse|Compléments sur les mémoires de masse]]
==La ou les mémoires caches==
* [[Fonctionnement d'un ordinateur/Les mémoires cache|Les mémoires cache]]
* [[Fonctionnement d'un ordinateur/Le préchargement|Le préchargement]]
* [[Fonctionnement d'un ordinateur/Le Translation Lookaside Buffer|Le ''Translation Lookaside Buffer'']]
==Le parallélisme d’instructions==
* [[Fonctionnement d'un ordinateur/Le pipeline|Le pipeline]]
===Les branchements et le ''front-end''===
* [[Fonctionnement d'un ordinateur/La prédiction de branchement|La prédiction de branchement]]
* [[Fonctionnement d'un ordinateur/Les optimisations du chargement des instructions|Les optimisations du chargement des instructions]]
===L’exécution dans le désordre===
* [[Fonctionnement d'un ordinateur/Les pipelines multicycles|Les pipelines multicycles]]
* [[Fonctionnement d'un ordinateur/L'émission dans l'ordre des instructions|L'émission dans l'ordre des instructions]]
* [[Fonctionnement d'un ordinateur/Le contournement (data forwarding)|Le contournement (data forwarding)]]
* [[Fonctionnement d'un ordinateur/L'exécution dans le désordre|L'exécution dans le désordre]]
* [[Fonctionnement d'un ordinateur/Le renommage de registres|Le renommage de registres]]
* [[Fonctionnement d'un ordinateur/Le scoreboarding et l'algorithme de Tomasulo|Annexe : Le scoreboarding et l'algorithme de Tomasulo]]
* [[Fonctionnement d'un ordinateur/La désambiguïsation mémoire|La désambiguïsation mémoire]]
* [[Fonctionnement d'un ordinateur/Le parallélisme mémoire au niveau du cache|Le parallélisme mémoire au niveau du cache]]
===L'émission multiple===
* [[Fonctionnement d'un ordinateur/Les processeurs superscalaires|Les processeurs superscalaires]]
* [[Fonctionnement d'un ordinateur/Exemples de microarchitectures CPU : le cas du x86|Exemples de CPU superscalaires: le cas du x86]]
* [[Fonctionnement d'un ordinateur/Les processeurs VLIW et EPIC|Les processeurs VLIW et EPIC]]
* [[Fonctionnement d'un ordinateur/Les architectures dataflow|Les architectures dataflow]]
==Les architectures parallèles==
* [[Fonctionnement d'un ordinateur/Les architectures parallèles|Les architectures parallèles]]
* [[Fonctionnement d'un ordinateur/Architectures multiprocesseurs et multicœurs|Les architectures multiprocesseurs et multicœurs]]
* [[Fonctionnement d'un ordinateur/Architectures multithreadées et Hyperthreading|Les architectures multithreadées et Hyperthreading]]
* [[Fonctionnement d'un ordinateur/Les architectures à parallélisme de données|Les architectures à parallélisme de données]]
* [[Fonctionnement d'un ordinateur/La cohérence des caches|La cohérence des caches]]
* [[Fonctionnement d'un ordinateur/Les sections critiques et le modèle mémoire|Les sections critiques et le modèle mémoire]]
==Annexes==
* [[Fonctionnement d'un ordinateur/Les coprocesseurs : FPU et IO|Les coprocesseurs : FPU et IO]]
* [[Fonctionnement d'un ordinateur/L'accélération matérielle de la virtualisation|L'accélération matérielle de la virtualisation]]
* [[Fonctionnement d'un ordinateur/Les ISA optimisés pour la compilation/interprétation|Les ISA optimisés pour la compilation/interprétation]]
* [[Fonctionnement d'un ordinateur/Le matériel réseau|Le matériel réseau]]
* [[Fonctionnement d'un ordinateur/La tolérance aux pannes|La tolérance aux pannes]]
* [[Fonctionnement d'un ordinateur/Les architectures systoliques|Les architectures systoliques]]
* [[Fonctionnement d'un ordinateur/Les architectures neuromorphiques|Les réseaux de neurones matériels]]
* [[Fonctionnement d'un ordinateur/Les ordinateurs de première génération : tubes à vide et mémoires|Les ordinateurs de première génération : tubes à vide et mémoires]]
* [[Fonctionnement d'un ordinateur/Les ordinateurs à encodages non-binaires|Les ordinateurs à encodages non-binaires]]
* [[Fonctionnement d'un ordinateur/Les circuits réversibles|Les circuits réversibles]]
{{autocat}}
9jepusmtg186w65dyrvooya3wi5b14i
Les débats de Gérard de Suresnes/Puissance et gloire
0
82212
762960
762115
2026-04-05T06:34:26Z
Texou
99491
/* Le débat sur la pollution */
762960
wikitext
text/x-wiki
== Le débat sur l'affaire Bill Clinton ==
=== Contexte ===
On parlait de séisme radiophonique fin avril 1998 ? Voici sa réplique, le 28 septembre 1998. Après un dérapage de Mickael à l'antenne, le voici débarqué. Les matinales ne trouvant pas leur rythme de croisière et Max ayant le crédit que l'on sait depuis la rentrée 1998, l'improbable arrive : il reprend la nuit. Tranche qu'il ne lâchera plus jusqu'en janvier 2006.
Ce retour, il se fait dans la même configuration que l'essai de fin août 1998, avec Reego qui a désormais un contrat et un rôle assigné. Mais il y a plus fort : parmi la fine équipe, un nouvel assistant d'antenne vient de débarquer. Cet assistant, intérimaire et donc payé à ce titre, n'est autre que gérard Cousin, alias gérard de Suresnes. Fidèle au surréalisme de cette histoire, l'animateur décalé a fini par triompher, bien sûr grâce au soutien constant de Max, et le voilà salarié de la station Fun radio pour toute la saison 1998-1999. Je laisse Thibault Raisse décrire les détails de ce contrat et l'impact social qu'il a sur la vie de ce jeune homme, absolument majeur. On notera juste ici, pour comprendre de futures allusions, que le mariage envisagé avant l'été n'a pas eu lieu. Sandy évoquera plus tard des questions d'argent, ce qui est probable, mais il existe sans doute d'autres raisons moins connues, Sandy ayant une famille probablement réservée sur la rapidité des événements.
Si Gérard est assistant, c'est qu'il va intervenir très régulièrement aux côtés de Max : pour les conseils bien sûr, avec Sandy, pour des libres antennes, parfois le dimanche, et une foultitude de fois dans la semaine pour jouer des sketchs divers. Il est donc beaucoup mobilisé et son salaire se justifie, clairement. D'ailleurs, en inauguration, il sera présent dès le 28 septembre 1998.
Au cœur du projet, figurent évidemment les débats. Le premier, qui s'inspirera largement de l'essai estival, se tient le 1er octobre. Max est là, pour soutenir son ami, assurer la propulsion du programme. D'autant que d'emblée, le ton change : beaucoup moins consensuel que les matinales, Gérard aborde des sujets d'actualité, donc potentiellement risqués, d'autant qu'il n'est jamais à l'abri d'un dérapage.
Le sujet du soir, c'est l'affaire Bill Clinton. Terrible affaire qui secoue toute la presse internationale depuis quelques mois. Le président américain, démocrate, se voit accusé par une ancienne stagiaire de la Maison Blanche, Monica Lewinski, de harcèlement sexuel. L'affaire fait grand bruit et désordre. Le président passera à quelques voies de la destitution par le Congrès américain. En octobre, l'affaire touche à sa fin, mais gérard va donc s'emparer du sujet. C'est dire comment Max reste près de lui pour éviter un débordement qui serait dramatique. Le sujet, maîtrisé comme Gérard en était capable, devient un prétexte à une conversation digne du café du commerce, mêlée de surréalisme assumé et de comique de situations. Nous ne redévelopperons pas ici l'affaire, mais il faut se rappeler qu'elle a marqué toute la presse internationale de cette année-là et bien avant les grands scandales sur les rapports entre les célébrités et les femmes qui ont explosé dans la décennie 2020. Elle constitue en tout cas un précédent, qu'on retrouvera dans une autre forme à peine différente en 2011 et impliquant l'ancien patron du Fond monétaire international, Dominique Strauss Kahn, ce qui lui coûtera d'ailleurs la candidature à l'élection présidentielle en France.
Les fondamentaux routiniers qui se sont installés au premier trimestre 1998 puis dans l'essai de fin août reviennent : un avant-débat houleux avec le courrier, ,a présence de Sandy, les sketchs de Gérard, puis deux débats où domine le surréalisme, l'humour et la comédie. Auditeurs et équipe, désormais installés et régulièrement renforcés par des personnalités célèbres ou membres de la radio, conduisent les choses avec brillo dans des mécaniques qu'on a déjà évoquées et qu'on présentera pour celles qui ne font que commencer.
Cet avant-débat pourtant, il est particulièrement interrogeant sur Gérard et son état. Max se plaint déjà de son arrivée en retard, en taxi, avec ses menaces d'annulation. Mais surtout, ce soir-là, il démarre très énervé, rendant Sandy elle-même, à ses côtés, et Max perplexes. Il s'en prend toujours à son équipe, mais sous l'angle de la jalousie de sa relation amoureuse. C'est l'occasion pour Max de rappeler le cadre applicable, et notamment qu'il est désormais amené à avoir une attitude professionnelle. Parmi les composantes de cette attitude, on apprend que Sandy n'est plus admise dans le studio pour ne plus le distraire. Elle participera bien entendu à de nombreuses émissions, mais par téléphone, même si c'est dans un bureau non loin de là. Au final, c'est du grand spectacle, avec toutefois racadrage vigoureux de Max, entre humour et réalité. Dans ce sketch, Gérard s'avère quelque peu déstructuré, voire inctonrôlable. Max lui-même est en difficulté parfois pour refroidir le bouillant personnage.
=== Les personnages ===
* Franck Bargine : Max
* Gérard Cousin : Gérard de Suresnes
* Phildar et Manu
* Igor : Reego
* Olivier Bouchet : Olivier de la pro
* Mégane : Crevette
* Carambar : Cuvette
* Sandy Threadkell : Point d'interrogation
* Goldo : Tétard
* Mladen Derek : Coussin d'air
=== Transcription ===
'''Gérard''' : Bonsoir, donc bonsoir à Reego sur Internet, bonsoir aux deux caves au standard.
'''Reego''' : Bonsoir Gérard.
'''Gérard''' : Donc bonsoir Olivier de la Pro. Donc on va accueillir Crevette, 21 ans...
'''Cuvette''' : Non, Cuvette, Cuvette, Cuvette.
'''Gérard''' : Non, Crevette !
'''Cuvette''' :On m'a dit Cuvette, moi.
'''Gérard''', ''[furieux]'' : Oh c'est... ça commence comment là ?
'''Phildar''' : Non parce qu'il y a un Crevette et un Cuvette.
'''Gérard''' : Non mais faut pas qu'on confonde tentacule et encule ta sœur, ok ? On commence pas comme ça, ok ?
'''Crevette''' : Bonsoir Gérard, je suis là, c'est Crevette.
'''Gérard''' : Alors Crevette, 21 ans de Rouen, on peut écouter Fun Radio sur 90.5. C'est bizarre parce que à Rouen, on m'a dit qu'il y avait pas de fréquence.
'''Crevette''' : Eh ben c'est tout nouveau.
'''Max''' : C'est revenu, ça va revenir, ouais, c'est-à-dire qu'il y a une fréquence pirate.
'''Gérard''' : Ok. Grosse caisse, 22 ans de Nantes, 90.5.
'''Grosse caisse''' : Ouais, salut. Ça va ?
'''Gérard''' : Qu'est-ce que ça peut te foutre ?
'''Grosse caisse''' : Bon, c'est parce que je t'aime bien, c'est tout.
'''Max''' : Ah, pour une fois qu'il est sympa, t'es vraiment dégueulasse avec les gens, Gérard. Tu perds de la popularité au niveau...
'''Gérard''' : Donc, point d'interrogation, je pense qu'on va l'avoir dans peu de temps. Donc, apparemment non, elle veut pas répondre. Donc, Tétard. La Bourboule sur 104 ?
'''Tétard''' : Et demi.
'''Gérard''' : Non, sur 104.
'''Tétard''' : Ah bon, excuse-moi, je suis un peu en avance.
'''Gérard''' : Ouais, t'es... d'accord. Je pense qu'à mon avis, on va s'amuser là, ce soir. Ouais, on va s'amuser, hein, Phildar et Manu au standard.
'''Manu''' : Bah ouais, on se marre déjà bien, nous.
'''Gérard''' : Ouais, ouais. On va s'amuser avec les anciens qu'on a eus, Tony et Arnett. Et toute la bande. Si, si, si. Non, non, mais...
'''Max''' : Moi, je pense que je vais pas pouvoir rester dans le studio, malheureusement.
'''Gérard''' : Petit Slip, 18 ans, 101.9.
'''Petit slip''' : Salut, GG, bon retour.
'''Gérard''' : Ouais, voilà. Comme d'hab. Ça m'aurait étonné.
'''Max''', ''[hilare]'' : C'est pas les mêmes, Gérard. C'est toi qui es une mauvaise langue.
'''Phildar''' : C'est la liste qu'on t'a montrée tout à l'heure. Ça, c'est des noms. Ça, c'est des noms, tu vois. Merguez, petit slip, voilà.
'''Max''' : Je t'ai demandé de te mettre là. ''[les personnes changent de place, Gérard prenant une place plus près de Reego et sur une chaise permettant à Gérard de parler devant son micro sans effort, le sujet étant récurrent chez Max]''.
'''Cuvette''' : Bonsoir, Gérard.
'''Manu''' : Il t'écoute pas, hein. Il est en train de se préparer, il faut du temps.
'''Gérard''' : Et Cuvette, on peut écouter... Sur Limoul.
'''Cuvette''' : Non, Lyon.
'''Gérard''' : Bon, alors... Hop ! ''[il froisse le papier et la lance vers le standard, hilare]''. Vous me refaites la fiche. Ça commence ! Non, mais c'est bien, tu vois ?
'''Max''' : Mais t'es super énervé.
'''Gérard''' : Non, non, non, non, non.
'''Max''' : Mais tu te rends pas compte le nombre d'erreurs qu'ils font chaque soir, c'est pas pour ça que je...
'''Gérard''' : Ouais, mais attends. Faut peut-être quand même... ''[il reprend une nouvelle feuille tendue par Phildar]''. Ouais, sur Lyon, sur 87.5. Alors, c'est 98.9.
'''Max''' : Ah, oui, ça, c'est vrai. ''[applaudissements]''. Je te signale, Phildar, au passage, que t'es en train, depuis tout à l'heure, de lui balancer les fréquences de Skyrock et de NRJ.
'''Manu''' : Je crois qu'il y en a une d'Europe 2 aussi.
'''Gérard''' : Bon, enfin, bref, c'est pas...
'''Max''', ''[sarcastique]'' : C'est pas grave de donner des fréquences des autres radios. Non, c'est pas grave pour Gérard, comme d'habitude.
'''Gérard''' : Non, mais, de toute manière... On verra bien. On verra bien comment que ça se passe, de toute manière...
'''Max''' : Mais calme, ce soir, avec le sourire. Tu vas me faire le maestro, tu vas me... L'animateur radio.
'''Gérard''' : Le mastro, c'est toi qui fais la prog. Je veux pas, ni d'Olivier, ni de...
'''Max''' : Ah, si. Ah, non, mais je fais pas les deux. Je fais pas les deux.
'''Gérard''' : Tu fais les deux.
'''Max''' : Non, faut que j'écoute.
'''Gérard''' : Si tu fais les deux... Non, mais tu permets ? Pour l'instant, je parle à mon chef.
'''Max''' : Si je fais les deux, quoi ? Qu'est-ce qu'il se passe ?
'''Gérard''' : Tu fais les deux. Tu me fais les deux prog. Je veux pas de ces trois caves.
'''Max''' : Non, parce que si je suis là, tu vas profiter pour gueuler plus et me regarder, tu vas me demander de faire ton boulot. Moi, je n'interviens pas.
'''Gérard''' : Non, mais si tu vois que ça se passe mal, t'interviens quand même.
'''Max''' : T'es animateur radio, t'es payé pour ça.
'''Gérard''' : Bon, alors donc, tu restes pour les deux. C'est tout.
'''Cuvette''' : Gérard ? Oui, je voulais te dire que je suis vraiment ravi de te connaître parce que j'ai jamais eu l'occasion de discuter avec toi. C'est Cuvette, à l'appareil.
'''Gérard''' : On commence ? Donc, le premier débat, c'est sur l'affaire Bill Kinton. Vous avez tous entendu parler.
'''Térard''' : Tu pourrais rappeler les faits, Gérard ?
'''Gérard''' : Bon, tu permets, toi ? Tu vas pas commencer ! Alors, que pensez-vous de l'affaire Bill Kinton et l'affaire Morica Levins ?
'''Cuvette''' : J'ai aimé les hommes d'influence qu'il y avait derrière tout ça.
'''Tétard''' : C'est pas une bonne actrice, Morica.
'''Cuvette''' : Mais Levinson est meilleur.
'''Gérard''' : Bon, s'il vous plaît, vous répondez. Que pensez-vous de l'affaire Bill Kinton et Morica Levins ? Alors, Crevette !
'''Crevette''' : Alors, je trouve que Bill Clinton, il a pas trop assuré à ce niveau-là. Que la Monica Levins, elle aurait mieux fait de s'abstenir. Et puis, tout serait rentré dans l'ordre.
'''Gérard''' : Dans quel sens ?
'''Crevette''' : Tu veux que je te fasse des dessins en plus ? Ben, ça me paraît évident.
'''Gérard''' : Ouais, mais attends, mais attends. Ça te paraît évident, mais comment ? Mais attends, mais attends. Tu suis les informations ou pas ?
'''Crevette''' : Évidemment, mais tu les suis aussi. Donc, tu dois savoir que ça paraît évident que c'est pas cool, quoi.
'''Gérard''' : Ouais, mais dans ce cas-là, que pensez-vous de l'affaire ? Que pensez-vous de cette histoire ?
'''Tétard''' : Ouais, ben déjà, moi, je pense que Morishka Lewins, là, déjà, c'est un boudin.
'''Gérard''' : Monika !
'''Tétard''' : Pardon, pardon, Monika, Lewins, déjà, c'est un boudin.
'''Gérard''' : Ben, comment que tu peux le savoir ?
'''Tétatd''' : Parce que je l'ai vue à la télé, tiens. Franchement, elle est pas belle. Enfin, ça dépend des références que t'as, mais elle est pas très belle.
''Gérard ''' : Ben, attends, qu'est-ce que tu veux réagir par les références que j'ai ? Attends, tu veux réagir par rapport avec Sandy, c'est ça ?
'''Tétard''', ''[caricaturalement outré]'' : Pas du tout.
'''Petit slip''' : Elle est très belle, Sandy, Gérard. Alors, moi, je pense que si Morishka et Eltsine boivent trop de vodka, c'est son problème.
'''Gérard''' : Bon, alors, toi, je pense que tu vas pas continuer longtemps.
'''Petit slip''' : Ouais, pourquoi ?
'''Gérard''' : Parce que, apparemment, t'as pas compris la question.
'''Petit slip''' : Tu peux la répéter, s'il te plaît ?
'''Gérard''' : Non, là, je répète pas les questions. Alors, déjà, tu me l'attrapes lui...
'''Phildar''' : Non, mais attends, parce que je crois qu'il a confondu...
'''Gérard''' : Non, non, non, non, non, non, non, non. On va pas commencer la première. On va pas commencer comme ça. Ils vont pas me prendre la tête à me dire... Tu peux me répéter la question sans arrêt. Alors, ça, il est hors de question. ''[applaudissements de Phildar]''.
'''Cuvette''' : Moi, je suis genre... Ben, je vote plus pour Clinton, depuis, moi.
'''Gérard''' : Ouais, ben, on s'en fout de voter pour qui tu veux. Je te demande...
'''Max''' : T'as pas à voter pour Bill Kinton alors qu'il est Français, commeent il peut voter pour Bill Kinton ?
Qu'est-ce que tu penses de l'enfer... Euh... Qu'est-ce que tu penses de cette histoire ?
'''Cuvette''' : Ben, je te dis, moi, depuis, je vote plus.
'''Gérard''' : Ouais, mais attends, t'as été à New York ?
'''Cuvette''' : Ben, je... Ben, non, mais...
'''Gérard''' : Non, ben, alors, si t'as pas été à New York, je vois pas comment tu peux voter pour lui.
'''Crevette''' : Pourquoi t'as été à New York, toi ?
'''Gérard''' : Oui, moi, j'ai été à New York, j'ai été voir... J'ai été voir Godzilla.
'''Crevette''' : Alors, tu peux voter pour Bill Clinton ? T'as le droit de voter ?
'''Gérard''' : Non, mais moi, je vote pour personne. De toute manière, j'en ai rien à foutre. De toute manière, tu votes et que ça soit n'importe quoi, de toute manière, on en chie.
'''Tétard''' : T'as été à New York avec Godzilla ?
'''Gérard''' : Bon, toi, tu vas commencer à te calmer. C'est un conseil que je te donne. Bon, le point d'interrogation, s'il vous plaît, il peut aller dans le bureau ?
'''Max''' : Allez, on peut avancer dans le débat, là, que de... À chaque fois que vous ouvrez... Même les auditeurs, vous ouvrez plein de petites parenthèses à droite à gauche, mais essayez de revenir dans le débat pour que ça soit intéressant.
'''Gérard''' : Bon, par contre, s'il y a des réactions, là, sur la première question, sur le Minitel, je voudrais bien...
'''Max''' : Pour l'instant, il y a trois connectés. C'est tellement intéressant, ce que tu racontes, puisque ça n'avance pas dans le débat. Tu changes de sujet... Si vous, les auditeurs, pouvez, par contre, essayer de revenir à chaque fois, aidez-nous à rester dans le débat, plutôt que de vous en écarter toutes les deux secondes, ça nous arrangerait.
'''Petit slip''' : Moi, je vais bien donner mon avis. C'est petit slip. Donc, je pense que si Bill Clinton se fait sucer par Monica Lewinsky, c'est son droit, quoi. C'est sa vie privée.
'''Gérard''' : Ben voilà. Pourquoi tu ne m'as pas répondu quand je te l'ai posée, la question ?
'''Petit slip''' : Oh, ben, je ne sais pas. Je devais être ailleurs.
'''Gérard''' : Oh, mais attends. Si tu es ailleurs, mon pote, autant que tu restes chez toi à écouter...
'''Crevette''' : Deuxième question.
'''Gérard''' : Non, mais attends. Attends. Attends, petit slip. Si vous commencez à me prendre la tête, on n'a pas fini la première question. Tout le monde n'a pas fait le premier tour. Si, si, Crevette, tu commences à me prendre la tête, à dire, ouais, deuxième question, toi, tu vas retourner chez toi, tu vas aller dormir. Ça va aller vite. Non, non, mais moi, je vais vous dire une chose, que maintenant, ça va aller vite. Si vous ne voulez pas répondre aux premières questions, moi, ça va aller vite. Vous allez retourner chez vous.
'''Tétard''' : C'est bon, on a répondu.
'''Gérard''' : Ouais, mais pas tous... L'interrogation ?
'''Point d'interrogation''' : Allô ? Oui, donc c'est point d'interrogation.
'''Gérard''' : Bon, alors, que pensez-vous... Je répète la question, mais c'est la dernière fois, parce que je ne vais pas faire ça constamment.
'''Phildar''' : Excuse-moi, Gérard, elle appelle d'où ?
'''Manu''' : Et c'est quoi sa fréquence ?
'''Phildar''' : Parce qu'on n'a pas, sur la note, on n'a pas fiché.
'''Piont d'interrogation ''' : J'appelle de nulle part.
'''Manu''' : Et c'est quoi la fréquence de nulle part ?
'''Gérard''' : La fréquence de nulle part, c'est 0, 0, 1, c'est ça ? Ouais, c'est ça, oui. Ouais, trou du cul, tu vas voir taleur le trou du cul, ce qu'il va te faire, toi.
'''Manu''' : Il n'a pas dit trou du cul, il a dit comme ton QI.
'''Gérard''' : Bon, alors, que pensez-vous de l'affaire Bill Kinton et Monica Libiski ? Attends, c'est la dernière fois que je pose la question, parce qu'après, on enchaîne.
'''Point''' : Oui, donc, je vais te répondre. Donc, l'affaire Bill Clinton, je pense que c'est n'importe quoi, parce qu'ils font des cassettes vidéo, ils font des tas de trucs sur Bill Clinton, et ils ont même fait des poupées, Bill Clinton. Donc, je trouve que c'est vraiment n'importe quoi. Donc, voilà.
'''Gérard''' : Ok. Donc, je pense qu'il y a Reego qui me met l'IRC, c'est-à-dire ?
'''Reego''' : Oui, parce qu'il y a des réactions sur l'IRC. Alors, tout à l'heure, on me disait que Bill Clinton fait ce qu'il veut. S'il veut baiser un boudin, ça le regarde, n'est-ce pas, GG, on me dit. Et on me dit aussi que... c'est Ramsteff, il préfère l'Ara à la vodka que Monica le whisky.
'''Gérard''' : Oui, il fait ce qu'il veut. Ce n'est pas mon problème, merci Reego. Donc, on passe à la deuxième question...
Tu m'as oublié Gérard. Grosse Caisse.
'''Gérard''' : Non, mais attends, Grosse Caisse, on t'a posé... De toute manière, je voudrais bien avoir les fréquences réelles, parce que ça m'étonnerait que Nantes, on écoute Fun Radio sur 90.5.
'''Manu''' : Si, c'est ça, mais enchaîne, Gérard.
'''Phildar''' : On va chercher, vas-y. Déjà, tu demandes à Grosse Caisse, et après, toi, tu réponds.
'''Grosse Caisse''' : Oui, je pense que ce n'est pas de la faute de Bill Clinton, il est tombé dans un piège. C'est Monica qui l'a dragué, et là, il a le droit de la niquer, ça lui fait plaisir.
'''Gérard''' : Non, mais attends... Tu crois qu'à ton avis, c'est lui qui aurait fait ça ?
'''Grosse caisse''' : Bah oui, c'est lui.
'''Gérard''' : Tu ne penses pas que ce serait elle qui serait venue vers lui ?
'''Grosse''' : Bah si, de toute façon, il y avait l'attrait du fric, c'est une salope, c'est tout.
'''Gérard''' : Bah oui, mais attends, parce que là, on ne va pas... On va pas rentrer là-dedans, parce que...
'''Tétard''' : Et on va rentrer en plein dedans.
'''Gérard''' : Non, non, mais parce que... Là, je pense qu'à mon avis, c'est... C'est de sa faute à elle. Non, mais ce n'est pas de sa faute à lui, c'est de sa faute à elle.
'''Crevette''' : Et l'amour dans tout ça ?
'''Grosse caisse''' : Il n'y a pas d'amour, il y a du cul là-dedans.
'''Gérard''' : Non, mais attendez, on va continuer. Donc, que pensez-vous... Pensez-vous que ce soit utile de vendre des cassettes vidéo ? Donc, si vous avez suivi les infos quand ça s'est passé, ils ont passé des cassettes vidéo justement à ce propos-là. Alors moi, je vous demande... Qu'en pensez-vous ? Alors on va y aller gentiment. On va demander à Crevette.
'''Crevette''' : C'est quoi sur les cassettes, c'est quand on le voit baiser avec Monica, c'est ça ?
'''Gérard''' : Mais non mais attends Crevette, l'histoire de la cassette vidéo. Mais sur la cassetter... t'avais qu'à suivre les informations ! Si tu suis pas les informations, tu peux pas... dans ces cas-là, je ne vois pas pourquoi tu as appelé pour réagir. ''[elle tente de reprendre la parole, ce qui agace Gérard, pris dans sa tirade]''. Mais attends, Crevette, s'il te plaît ! Je peux te répondre ? Si tu ne comprends pas le thème du débat, on parle de l'affaire Bill Kinton. Pensez-vous que c'est utile de vendre des cassettes vidéo ? Si tu n'as pas suivi le thème du débat, si tu n'as pas suivi les informations, pourquoi tu veux réagir là-dessus ? Arrêtez de renifler comme des boucs ! Parce que ça commence à m'énerver !
'''Phildar''' : Je crois que c'est point d'interrogation, je suis désolé.
'''Point''' : Non, non, non, c'est pas moi.
'''Cuvette''' : Non, c'était Cuvette, mais il ne s'occupe pas de moi, Gérard.
'''Point''' : T'es sûr que ce n'est pas toi, Gérard ?
'''gérard''' : Oh, je voudrais Crevette. Alors, tu réponds à la question.
'''Crevette''' : Ben, c'est pas bien, voilà.
'''Gérard''' : Ah ouais, mais alors... Attends, attends, tu me dis que ce n'est pas bien. Tout à l'heure, tu me dis, ouais, mais...
'''Crevette''' : Gérard, tu veux absolument une réponse. Quand je t'en donne une, tu ne l'acceptes pas, alors je t'en donne une autre, c'est tout. C'est pas bien.
'''Phildar''' : Je voulais te demander une question, Gérard. C'était sur quelle chaîne, quand tu as vu avec les vidéos, là ?
'''Gérard''' : Alors là, sur la chaîne, je ne donne pas des...
'''Phildar''' : C'était la une ? Parce qu'en fait, je crois que Crevette, elle n'a que la deux, donc si ça se trouve, c'était sur la une.
'''Crevette''' : Moi, j'ai que la deux, alors...
'''Gérard''' : De toute manière, tout ça, c'est passé sur toutes les chaînes.
'''Crevette''' : Ah non, pas sur la deux.
'''Gérard''' : Menteuse. T'es une menteuse, c'est passé sur toutes les chaînes. Ouais, vous n'avez qu'à suivre le journal de 13h et de 20h. Grosse caisse, on ne va pas s'éterniser sur une chaîne.
'''Grosse''' : Ben, ça dépend des vidéos. Si c'est une vidéo de cul, ça peut être intéressant, voir que la teb qu'a notre ami Bill, mais si c'est des histoires de conneries d'interview, ce n'est pas intéressant.
'''Gérard''' : Ben, justement, c'est là qu'est le problème. Donc, je suis d'accord avec toi. À mon avis, je pense que ça doit être une histoire d'interview qu'on était sortis sur cassette vidéo.
'''Grosse caisse''' : Ouais, mais à ce niveau-là, l'ami Bill, il peut dire n'importe quoi dans les interviews. Vu que c'est un politicien, c'est un menteur, donc on s'en fout. C'est pas intéressant.
'''Point''' : Ben, écoute, je pense que c'est n'importe quoi, parce que faire des cassettes vidéo sur des gens politiques, ça ne regarde personne. En fin de compte, c'est la vie privée des gens et puis s'ils font des cassettes sur ça, ils risquent de faire des cassettes sur leur famille et tout, c'est pas... Je trouve que c'est vraiment dégueulasse de faire ça. Ils devraient faire un procès contre eux.
'''Tétard''' : Ouais, ben, je suis d'accord avec l'invitée mystère, et je voulais savoir, quand t'étais à New York, t'en as pas vues, toi, des cassettes de Bill Clinton ?
'''Gérard''' : Bon, alors, Tétard, bonne nuit pour toi.
'''Manu et Phildar''' : Mais c'est une question, Gérard.
'''Gérard''' : Non, mais attends, on ne l'a pas vue ! Non, les cassettes vidéo sont sorties il y a... après.
'''Tétard''' : Et on peut en avoir où, alors ? Parce que moi, je l'ai raté à la télé.
'''Gérard''' : Tu l'as raté dans ces cas-là... Tu vas dans tous les magasins qui vendent des cassettes vidéo, tu la trouveras.
'''Tétard''' : À la FNAC, ils le vendent, à la FNAC, tu crois ? Dans les FNCA et Fuck, ils le vendent ?
'''Gérard''' : J'en sais rien. Petit slip.
'''Petit slip''' : Alors, moi, je pense que c'est malsain. Ben, parce que Bill Clinton, il va se servirer, mais néanmoins, il peut commencer une carrière dans le X. Ça peut être intéressant.
'''Reego''' : Dans quel sens ?
'''Petit slip''' : Dans le sens positif.
'''Gérard''' : Ouais, alors moi, tu penses qu'avec sa femme et ses deux filles...
'''Crevette''' : Non, il n'en a qu'une.
'''Gérard''' : Non, il en a deux.
'''Grosse caisse''' Deux femmes ?
'''Phildar''' : Non, deux filles.
'''Grosse caisse''' : Non, maintenant, deux femmes.
'''Gérard''' : Bon. Bon, c'est bon. Euh, cuvette.
'''Cuvette''' : Ouais, moi, je voudrais savoir déjà s'il a des... Qu'est-ce que propage la cassette ? Elle défend Bill Clinton ou... elle l'affiche ? Et puis qui en retire profit ?
'''Gérard''' : Non, elle... Elle lui dit comme ça, d'après... Moi, j'ai vu vaguement un reportage. Non, mais il y a un reportage... Il y a un reportage, ça s'est passé dans... Ça s'est passé au tribunal, comme quoi qu'elle... Elle a insisté, comme quoi qu'il lui avait fait des propositions. Max ? Max, s'il te plaît. Tu peux essayer de me couper, là, parce que là...
'''Phildar''' : C'est l'invitée mystère qui frotte avec son téléphone.
'''Gérard''' : Taleur je vais te frotter quelque chose, toi. Bon, donc... Donc, maintenant, tout le monde a répondu. Moi, je peux vous dire une chose. Maintenant, je vais vous répondre personnellement. Oh, s'il vous plaît ! Oh Manu, Tu me gères tout le monde là, le premier portable...
'''Manu''' : Il n'y a pas de portable, c'est le point d'interrogation qui... Bah oui, je suis désolé.
'''Point''' : Non, non, c'est pas moi, hein.
'''Manu''' : Bah si, je le vois. Je le vois, sur le standard, la petite lumière verte.
'''Gérard''' : Tu le vois, bien sûr, et là, moi, j'ai un son vachement grave dans les oreilles, c'est pas possible. Ah non, mets ton caxe, Max, tu vas voir que là... Là, je vais te dire une chose, c'est impossible.
'''Max''' : Attends, silence.
'''Gérard''' : Ah là, maintenant, non, c'est pareil. Non, mais attends... Bon, donc, moi, je peux répondre à...
'''Max''' : Ah oui, ça tord un peu, effectivement, il faut... Hein ? Non, mais c'est un peu criard, effectivement, les voix, là. C'est un peu... Alors, attends, je vais te mettre là-dessus, là, comme ça, c'est mieux, là, ou pas ? C'est un peu plus faible, mais c'est plus calme, écoute.
'''Gérard''' : Ouais, mais je sais pas si les... Non, bah là, tu me coupes... Tu me coupes, là, personne m'entend. Vous m'entendez ?
'''Les auditeurs''' : Oui, on entend, on entend.
'''Gérard''' : Pas moi.
'''Max''' : Bah si, parle.
'''Gérard''' : Bah non, bah allume.
'''Max''' : Bah écoute, c'est parce que je t'ai mis le son province. Vas-y, parle-leur.
'''Gérard''' : Mais ils m'entendent pas.
'''Max''' : Mais ils t'entendent, on t'entend.
'''Les auditeurs''' : On t'entend, Gérard.
'''Gérard''' : Attends, moi, j'ai plus rien, là.
'''Max''' : Bah, parce que j'ai baissé... Parce que j'ai mis le son différent. Mais si tu veux, je peux remettre... Alors, je te remets celui-là. Bon, bah d'accord, ok. Bah, à ce moment-là, tu baisses dans le casque, alors.
'''Gérard''' : Ok. Donc, moi, je peux vous dire que ces histoires de cassettes vidéo et tout ça, pour moi, c'est de la merde. Ça sert à rien de s'en prendre sur une personne pour vendre des trucs de cul. Parce que la personne fait ce qu'il veut. Bon, en fin de compte... Mais attendez, attendez, laissez-moi répondre. Moi, je vais vous donner la réponse. C'est que là, c'est une histoire, on sait pas comment ça va se terminer. C'est une histoire sans queue, sans tête. Ni queue, ni tête, en fin de compte. C'est une histoire ni queue, ni tête. On sait pas s'il va rester. S'il va partir ou autre. Donc là, on va en revenir. On va continuer le thème du débat. Donc, moi, je vous demande la question. Et j'espère... Oui ?
'''Phildar''' : Excuse-moi, Gérard. Donc, Cuvette est parti parce qu'en fait, il avait un téléphone pourri. Donc, on l'a dégagé. On a dit que c'était mieux pour le débat. Et on a Coussin d'air à la place, qui a 27 ans et qui appelle de Guadeloupe.
'''Gérard''' : Ouais, non, mais attends. Attends, Phildar. Une chose. Une chose que je vais vous demander. N'essayez pas de changer les noms.
'''Phildar''' : Non, non, non, c'est pas le même.
'''Gérard''' : ...et qu'ils reprennent sous un autre nom. Parce que là, vous avez 24 lignes qui sonnent. Ça sonne. Donc, prenez-moi des gens sur les 24 lignes.
'''Phildar''' : Coussin d'air, tu marques à la place de Cuvette. Donc, Coussin d'air. ''[en mode dictée, tandis que Gérard écrit]'' C-O-U-S-I-N. A-I-N.
'''Gérard''' : A-I-R ! Merci. Conssin d'AIR !
'''Manu''' : Oui, mais... Coussin d'air. A-I-N.
'''Gérard''' : Ouais, merci. Coussin d'air, c'est C-O-U-S-I-N. Merci. Merci, Phildar, pour ton orthographe. Donc, je vous pose la...
'''Phildar''' : Tu peux lui dire bonjour.
'''Gérard''' : Bonjour à toi, Coussin d'air.
'''Coussin''', ''[après 3 secondes, voix saturant comme sur un téléphone mobile]'' : Bonsoir.
'''Gérard''' : Tu te réveilles ?
'''Grosse caisse''' : Il aurait dû s'appeler Airbag.
'''Phildar''' : Non, mais il a un décalage, Gérard. Il est en Guadeloupe.
'''Tétard''' : Attends, on va te dire un truc. Tu vas le recevoir dans deux secondes. Bouge pas.
'''Coussin''' : Allô ?
'''Gérard''' : Oh ! Bon, allez, hop.
'''Manu''' : Parle-lui, Gérard.
'''Gérard''' : Ouais, non, mais attends. Ça veut dire quoi, là ? Oh ! Phildar ! Non, mais attends. Coussin d'air, t'es là ? Non.
'''Coussin''', ''[après 1 seconds]'' : Ah oui, je suis là.
'''Gérard''' : Non, il n'est pas là. Bonne nuit, bonne nuit. Allez ! Bonne nuit ! Allez ! Oh mais merde ! ''[Manuparodie une note de méditation zen, Max tente de reprendre la parole]''.
'''Max''' : Gérard, Gérard, Gérard. Gérard. Gérard. Il appelle de Guadeloupe. Donc, il y a un décalage d'une seconde. C'est normal, il reçoit après. Ça ne t'est jamais arrivé d'appeler, toi, à l'étranger, d'avoir une demi-seconde de décalage ? Bon, ben, tu m'entends, Coussin d'air ?
'''Coussin''', ''[1 seconde après]'' : Oui. Oui, je t'entends.
'''Max''' : Voilà. Il y a une demi-seconde de décalage, c'est tout. Lui, avec le décalage qu'il y a... Écoute-moi, Gérard. Gérard. Gérard. Avec le décalage qu'il a, ce monsieur du Guadeloupe, Coussin d'air, si je ne me trompe pas, toi, pour toi, on fait encore l'émission du matin. Le problème, c'est qu'il ne sait pas quand il va passer le soir. Il croit qu'on fait encore l'émission du matin, parce qui est un décalage tellement long en Guadeloupe que pour lui, il y a une semaine de retard, les émissions.
'''Coussin''' : Oui, c'est ça, absolument. Une semaine de retard, oui.
'''Gérard''' : D'accord, une semaine de retard. OK, merci.
'''Coussin''' : Je t'en prie.
'''Gérard''' : À quoi servira cet argent vendu par ces cassettes ? Alors, on va demander à Crevette.
'''Crevette''' : Ça va servir à payer ses frais d'avocat.
'''Gérard''' : D'accord. T'es à côté de la plaque.
'''Crevette''' : Ah ben, excuse-moi. C'est ce que j'avais entendu.
'''Gérard''' : Eh, au sondage, vous vous la fermez...
'''Manu''', ''[indigné, puis ferme]'' : On n'a rien dit. Reprends ton débat, Gérard, On n'a rien dit, alors vas-y.
'''Gérard''' : Donc, Crevette ?
'''Crevette''' : Oui, moi, j'ai entendu dire, en fait, il y a des acteurs qui ont filé de la thune à Bill Clinton pour qu'il paye son procès, ses frais de procès. Et l'argent des cassettes irait aussi pour payer les frais de procès. Ainsi que tous les gadgets vendus en sex-shop.
'''Gérard''' : Ah non, mais on parle de la cassette. La cassette vidéo, on ne parle pas des... Non, mais on ne parle pas des histoires de gadgets ou autres. Moi, je te parle de la cassette vidéo. Ok. Grosse caisse ?
'''Grosse caisse''' : Ben, ça fera de l'argent à Bill Clitoris. Comme ça, il pourra s'acheter de nouveaux trucs, des godes et tout ça pour sa femme. Ça pourrait être vachement sympa. Puis, peut-être une nouvelle paire de chaussettes pour l'hiver. Tu sais jamais.
'''Gérard''' : Ouais, d'accord. Point d'interrogation ?
'''Point''', ''[entrecoupée par les rires et les gens qui pouffent bruyamment]'' : Alors, je pense que... Cet argent, j'espère que lui, il va en faire bon usage pour les associations humanitaires ou quand même autre chose.
'''Tétard''' : Mon cul, ouais.
'''Gérard''', ''[rageux]'' : Attendez, attendez. Qui c'est qui vient de dire mon cul et qui rigole comme un con ? Alors, maintenant, Grosse caisse, Tétard et Petit slip, maintenant, c'est à vous trois que je m'en prends.
'''Grosse caisse''' : On n'a pas dit un mot.
'''Gérard''', ''[menaçant]'' : Alors, lequel qui rigole derrière ? Lequel ?
'''Max''' : Et comment tu veux qu'ils te répondent ? Parce qu'ils savent très bien que s'ils disent qui l'a fait, il va se faire virer. Donc, le mec, il répond pas.
'''Petit slip''' : Ouais, c'est Polo, c'est Polo. Si, si, c'est moi, c'est Polo.
'''Max''' : Bon, ben voilà, c'est bien qu'il l'ait dit, c'est bien.
'''Gérard''', ''[frustré]'' : Non, mais attends, ça commence à... Là, on va pas commencer comme ça, Phildar. Parce que tout à l'heure, moi, je vais prendre sur les 24 lignes.
'''Max''' : Mais arrête de faire allusion aux 24 lignes. Reviens dans ton débat, c'est bien depuis tout à l'heure.
'''Gérard''' : Donc, grosse caisse. Donc, toi, tu la fermes, toi. Toi, t'as répondu, point d'interrogation.
'''Point''' : Oui, donc, je t'ai répondu. J'espère que cet argent, il va en faire bon usage pour les aides humanitaires.
'''Tétard''' : Ouais, ben, je pense qu'avec la thune qu'il a faite, il va pouvoir se payer d'autres prostituées pour se faire éponger, quoi.
'''Gérard''' : Alors, Tétard, je vais te dire une chose. Pour l'instant, ça fait deux fois.
'''Tétard''' : Ben, attends, il l'a payée...
'''Gérard''' : Ça fait deux fois ! Il a rien payé.
'''Max''' : Il a pas le droit de répondre ça, maintenant ? Il faut donner des bonnes réponses ? Il fait ce qu'il veut, il répond ce qu'il veut. C'est un jeu ou quoi, ton truc ?
'''Gérard''' : Non, mais attends, je vais voir. Parce qu'il y en a certains qui répondent à côté de la plaque.
'''Max''' : Non, ils répondent ce qu'ils ont envie de parler, ce qu'ils pensent.
'''Gérard''' : Ben, alors, Tétard, pour toi...
'''Tétard''' : Ben, il l'a payée, Monica Lewinsky, pour se faire éponger. Il l'a payée.
'''Gérard''' : Ok, ok, ok, c'est bon, c'est bon.
'''Max''' : Tu lui enlèves la croix.
'''Petit slip''' : Alors, moi, je pense que, à ce que j'ai entendu dire, que ça irait directement au don du Front de Libération des Nains de Jardin.
'''Grosse caisse''' : Ouais, c'est vrai.
'''Crevette''' : Ouais, enfin, ça, c'est une rumeur.
'''Gérard''' : Quoi, quoi, quoi, quoi, quoi, quoi ? Attendez, attendez, qui c'est qui réagit derrière Petit Slip ? Ouais, Crevette ?
'''Crevette''' : Oui, je te dis, c'est une rumeur, les Nains de jardin. Mais bon...
'''Grosse caisse''' : Moi, j'ai entendu dire ça, moi. C'est une rumeur qui court. c'est la vérité.
'''Coussin''' : Oui, Gérard. Moi, je crois qu'avec l'argent, il va réparer sa voiture et s'acheter des lacets.
'''Gérard''' : Bon, alors, moi, je peux vous dire une chose, que... Non, mais attends, Coussin d'Air, je pense que t'as vachement de... T'es vachement pas au courant de l'histoire.
'''Max''' : Il est en Guadeloupe, c'est pas encore arrivé, l'histoire.
'''Gérard''' : Donc, moi, je peux vous dire une chose, qu'à mon avis, je pense que...
'''Max''' : C'est Georges qui va l'amener, le scoop, là-bas. Georges. Ben, le tourbillon, là. Georges Bush.
'''Gérard''' : Ouais, ben, ça, cette histoire-là, je veux pas en entendre parler, parce que j'ai eu des...
'''Max''' : D'accord. Revenons, revenons au débat.
'''Gérard''' : Donc, je pense que, à mon avis, là, je pense que... Je suis d'accord avec le point d'interrogation, donc je pense qu'il devrait faire moins... L'argent qu'il va recevoir, on sait pas combien, mais je pense qu'il ferait mieux de s'occuper des associations humanitaires, c'est-à-dire moins... que les mômes, ils n'ayent pas de flingues, et tout ça, et qu'ils s'amusent pas à fumer, et autres. Donc, à mon avis... ''[applaudissements du studio]'' À mon avis, là-dessus, je pense qu'on sait pas encore. On sait pas, parce que, là, pour l'instant, ils en reparlent pas trop à la télé.
'''Max''' : Ben, là, il est une heure et une, peut-être.
'''Gérard''' : Mais on pense que... Je pense que cette histoire est loin d'être terminée, donc on verra bien par la suite. Donc, je vous pose d'autres questions, vous allez réfléchir. Donc, la quatrième question. « Croyez-vous que les journalistes s'occupent trop de la vie privée des stars ? » On va demander à Crevette... Non, on va pas demander à Crevette, on va demander à Coussin d'air, tiens.
'''Coussin''' : Moi, je crois que, en ce qui concerne les journalistes, ils font... Effectivement, ils s'occupent trop de la vie des autres journalistes qui sont stars.
'''Gérard''' : Ouais, mais... Dans ce cas-là, moi, je vais te poser... Mais attends, attends, Coussin d'air. Coussin d'air, je vais te demander... Coussin d'air, je vais te poser une question : est-ce que tu crois que, là-bas, vers chez toi, est-ce que t'as des journalistes qui s'occupent... qui s'occupent des personnes ?
'''Coussin''' : Alors, écoute, oui, il y a effectivement des journalistes. Moi, je vois, il y a eu le cas du chanteur Francky Vincent...
'''Gérard''' : Non, non, mais attends, Francky Vincent, c'est pas pareil. Parce que, vas-y, Francky... C'est bon, c'est bon. Ouais, vas-y, Francky, c'est bon, c'est bon. Non, mais attends, Coussin d'air, moi, je te demande, là-bas, en Guadeloupe, est-ce que vous avez des journalistes qui s'occupent des stars ?
'''Coussin''' : Alors, c'était ma réponse, justement. J'étais en train de t'expliquer qu'il y a chez nous des journalistes qui, effectivement, se sont occupés de très, très près de Francky Vincent...
'''Gérard''' : Non, mais pourquoi tu parles de... Francky Vincent...
'''Crevette''' : c'est une star en Guadeloupe.
'''Gérard''' : Non, mais attends, rCevette. Mais attendez, attendez, pourquoi vous... Vous voulez parler de, tout de suite, Francky Vincent ? Vous avez... Mais vous avez d'autres chanteurs guadeloupéens, comme la compagnie Créole, tout ça ?
'''Manu''' : Il y a Demis Roussos, aussi.
'''Tétard''' : Adamo, Adamo...
'''Gérard''', ''[irrité par cette moquerie, soulignée par un élcat de rire de Reego]'' : Non, Demis Roussos... attends. Occupe toi du standard, toi.
'''Reego''' : Adamo, Adamo.
'''Coussin''' : Gérard, il faut que tu saches qu'ici, en Guadeloupe, de Pointe-à-Pitre à le Gosier, c'est Francky Vincent... Francky Vincent, la star.
'''Gérard''' : Attends, jusqu'où, tu m'as dit ? Je connais pas.
'''Manu''' : C'est juste en dessous de la langue.
'''Coussin''' : Et donc, voilà. Du fait que Francky Vincent soit une star, alors forcément, tous les journalistes s'en occupent, ils lui offrent des cadeaux...
'''Gérard''' : Ouais, non, mais attends, Coussin d'air, Coussin d'air, Coussin d'air, je vais pas... On va pas trop s'appuyer sur tout ça. Bon, moi, si je te dis, la compagnie Créole, qu'est-ce que ça donne, là-bas, en Guadeloupe ?
'''Max''' : Ce qui est bien, c'est que ça a super à voir avec le débat de...
'''Gérard''' : Non, non, non, non, parce qu'il veut parler de Francky Vincent, on va vite abréger.
'''Coussin''' : C'est-à-dire que la compagnie Créole, il n'y a plus que les vieux qui écoutent ça. Si tu veux, c'est assez ringard, maintenant, chez nous. Et celui qui cartonne vraiment, c'est Francky Vincent. Celui qui chante, tu sais, « Vas-y, Francky, c'est bon. Vas-y, Francky, c'est bon, bon, bon. »
'''Gérard''' : OK, OK, OK, Coussin d'air. Donc... ''[la musique de Haut-les-mains de la compagnie Créole, dans le refrain, apparaît. Coussin d'air reprend l'air et quand la musique est baissée puis interrompue, il continue, sans s'arrêter, reprenant en boucle trois fois le refrain, en solo, avec des paroles approximatives. Gérard, frustré mais patient, cherche à l'arrêter en citant son nom]''.
'''Max ''' : On peut reprendre le débat là, parce que les auditeurs vots zapper là... Zappez parce que là c'est pas possible.
'''Gérard''' : Petit slip, donc pour toi, croyez-vous que les journalistes s'occupent trop de la vie privée des stars, donc on va pas essayer de reprendre sur les stars de chansons, on reprend sur l'affaire Bill Kinton. ''[silence]'' Bon, petit slip une fois, petit slip deux fois, petit slip trois fois, au revoir !
'''Manu''' : C'était moi, c'est moi, désolé. Non, pas taper, c'était moi, je m'excuse. On reprend.
'''Gérard''' : Alors tu me mets tout le monde...
'''Manu''' : Ça y est, ça y est.
'''Gérard''' : Voilà, alors petit slip pour toi.
'''Max''' : On va les foutre en quarantaine.
'''Petit slip''' : Alors donc, moi je pense que les journalistes vont trop loin, puisqu'ils interviewent encore Elvis Presley, Bob Marley, Jimi Hendrix, quoi. Les salauds.
'''Gérard''' : Non mais attends, je te parle de l'affaire Bill Kinton, je te parle pas des chanteurs. Bon alors petit slip, c'est bon, je vois qu'apparemment tu t'endors.
'''Petit slip''' : Oh non, non, je suis réveillé. ''[blanc]''
'''Grosse caisse''' : Allez Gérard, on se réveille.
'''Gérard''' :Non mais c'est vous qui allez vous réveiller, parce que là pour l'instant... On parle pas des chanteurs, on parle de l'affaire Bill Kinton, ok ?
'''Petit slip''' : Ben toi Gérard, en tant que chancelier de l'Allemagne<ref name="explic1"></ref>, qu'est-ce que t'en penses de tout ça ?
'''Gérard''' : Non mais alors pour l'instant, Tétard. Bon alors Tétard, qu'est-ce que t'en penses toi ?
'''Tétard''' : Moi je pense qu'effectivement les journalistes, ils s'occupent beaucoup trop de la vie privée des stars, je pense que tu fais référence aux paparazite.
'''Gérard''' : Non, non, non, non, non, attends.
'''Tétard''' : Si, si, forcément. Je voudrais que tu nous racontes ton expérience personnelle, et il faut lutter contre l'illettrisme en France, oui.
'''Gérard''' : Non, alors là je te répondrai pas là-dessus. Non, non, je te répondrai pas. Grosse caisse. Point d'interrogation ?
'''Point''' : Oui, je pense que là ils s'occupent un peu trop de la vie privée des gens, parce que... Parce que quand tu vois ce qui s'est passé avec Michael Jackson ou même Madonna je crois que...
'''Gérard''' : Non mais attends, toi t'es à côté de la plaque aussi, toi. Non mais t'as fumé la moquette durant l'Allemagne ?
'''Point''' : Non, non, ça m'arrive de fumer la moquette, mais pas...
'''Gérard''' : Ouais, je serais que toi je fumerais le cigare à moustache. Ouais, je crois que t'as fumé le cigare à moustache, hein.
'''Point''' : Donc pour te répondre, je pense que les journalistes ils s'occupent un peu trop des gens et ce qu'ils font c'est pas... C'est que ça regarde personne, quoi. En fin de compte, ils sont toujours là, dès qu'il y a une star qui arrive, ils sont toujours ici.
'''Gérard''' : Mais attends, point d'interrogation. Je crois que t'as pas... Non mais t'as pas compris. Hé, celui qui parle derrière, tu te la permets, parce que tout à l'heure tu vas retourner au standard, ça va aller vite. Bon, moi je te parle... Croyez-vous que les journalistes s'occupent trop de l'affaire des stars ?
'''Point''' : Justement, les journalistes, ils s'occupent un peu trop de la vie privée des gens.
'''Gérard''' : Dans quel sens ?
'''Point''' : Dans le sens qu'ils sont toujours là, dès qu'il y a une voiture qui passe, qu'ils sont dedans, ça y est, ils sont là, avec les photographes et tout, hein.
'''Petit slip''' : Il y a une Mercedes, là, qui a eu un accident, là...
'''Gérard''' : Bon, toi tu la perds ! Tu la fermes ! Toi, avec ta Mercedes, tout à l'heure, tu as dégagé, ça va aller vite, mais... Tu vas pas durer longtemps ! Bon, je sens qu'on va virer... Grosse caisse. Alors, grosse caisse, tu réponds ? Bon, hé ! On y va, on y va, hein ! Hé, on accouche !
'''Manu''' : Gérard, Gérard, Gérard, j'ai un petit truc pour revenir dans le débat, si tu veux. Donc, on a posé la question aux Français, que pensez-vous de l'affaire... Levinsky... ''[Gérard cherche à l'interrompre avec du non]'' s'il te plaît... Mais, laisse-moi lire mon sondage !
'''Max''', ''[agacé]'' : Mais attends, mais c'est une vraid question, rholàlà ! Tu veux faire avancer ton débat, ou c'est comme avant, c'est...
'''Gérard''' : Non, mais attends, parce qu'à mon avis, c'est eux qui ont fait ça.
'''Max''' : Attends, on va écouter, on va voir, on va juger.
'''Manu''' : À la question, que pensez-vous de l'affaire, Vivisky ? Donc, les Français ont répondu...
'''Gérard''' : Levinsky !
'''Manu''' : Levinsky ! Ok, excusez-moi, prononciation.
'''Max''' : Si tu ne sais pas le dire, demande-lui, ouais.
'''Manu''' : Donc, ils ont répondu non à 50%, mais pourquoi à 49% et 1% a dit : « Moi je pense que vu la circonstancialité du monde à notre époque, pourquoi ne pas envisager de répondre par la négation ? ». Et j'aimerais savoir ce que t'en penses.
'''Gérard''' : Bon, ça, j'en ai rien à foutre. Tte manière, à mon avis, c'est toi qui a... Bon, allez. On va demander à Grosse Caisse, parce que...
'''Max''' : On a fait ça sur les trottoirs du bois de Boulogne, hier, dans la nuit.
'''Petit slip''' : C'est quoi, Gérard, que tu vaux au bois de Boulogne ?
'''Gérard''' : Ouais, c'est toi qui viens de le marquer, connard ! Hé, tu me prends pour un con, là ?
'''Phildar''' : Non, je t'y laisse.
'''Gérard''' : Non, tu m'y laisses ? Bah, tu ferais mieux d'aller voir où c'est ta 205, abrouti. Occupe-toi de ton cul. ''[Applaudissements)''. Grosse Caisse, allez, on active, là, sur la question, là, parce que je pense que personne ne veut réagir. Bon, allez, Grosse Caisse !
'''Grosse caisse''' : Ouais, ouais, je suis là, je te parle. Bah, il y a un problème, c'est qu'aux Etats-Unis, c'est vachement trop libéral, comme pays, alors ce qui fait que les médias, ils font n'importe quoi, ils font chier n'importe qui, n'importe comment.
'''Crevette''' : Moi, je pense que c'est normal que les stars on connaisse leur vie privée, parce que c'est des personnages publics, et elles doivent être exemplaires, et donner l'exemple aux gens, donc c'est tout à fait normal de savoir si Bill Clinton se fait sucer la bite ou si Elton John est pédé.
'''Gérard''' : Bon, alors, je vais te dire une chose, Crevette, tu vois, là, moi, je te réponds tout de suite, et là, je vais te dire que là, t'as tout faux. Oh, s'il vous plaît, derrière, on se la ferme.
'''Max''', ''[hilare]'' : Gérard sait très bien si Elton John se fait sucer la bite.
'''Gérard''' : Là, ça, c'est une histoire. Non, mais c'est vrai. Attends, celle qui rigole comme... celle qui rigole ou autre...
'''Tétard''' : Non, mais Gérard, il a raison, on ne veut pas savoir que Mick Jagger, il encule David Bowie.
'''Max''' : Bon, allez...
'''Petit slip''' : Il encule Gérard.
'''Max''' : Ah, non, bon, alors là.
'''Gérard''' : Allez, hop. Dehors, dehors pour lui. Allez, hop. Cherche pas, tu me sors...
'''Manu''' : T'as compris, tu sors de chez toi, dehors.
'''Gérard''', ''[rageur]'' : Non, non, vous faites le boulot correctement, sinon, c'est moi qui le fais.
'''Max''', ''[retenant son rire]'' : Tu peux pas faire ton débat et ton ton standard d'émission.
'''Phildar''' : Donne un chiffre entre 1 et 6.
'''Gérard''' : Non, non, je veux pas le savoir. Tu me prends...
'''Tétard''' : C'était Pépito.
'''Manu''' : Dehors, Pépito.
'''Phildar''' : Bonne nuit, Pépito.
'''Max''' : T'as qu'à prendre Granola à la place.
'''Gérard''' : Voilà. Donc, moi, je peux vous dire une chose, parce que les journalistes s'occupent trop des affaires des personnes haut placées. Et ça... Non, mais ça, c'est un truc qui me dégoûte, parce que j'ai encore regardé un reportage ce soir, ça me prend la tête.
'''Manu''' : C'était X-file, non ?
'''Gérard''' : Non, non, X-file... Merci, t'éteins ton micro.
'''Manu''' : Je te demande, c'est tout.
'''Gérard''' : T'éteins ton micro, parce que X-file, je l'ai pas regardé. Donc, moi, je peux vous dire une chose, que là, là-dessus, ça... Ça me prend la tête. Ah ouais, que pensez-vous des Français... Alors, t'en as qui disent à 100%. Ah ben ouais, les Français, ils se débrouillent bien. De l'autre côté, t'en as 50% qui disent « Oh ben non, maintenant, on s'en fout, on regarde pas la télé, ceci, cela. » Donc, bref, passons. ''[fou rire du studio, applaudissements]''.
'''Max''' : Mais c'est extraordinaire !
'''Gérard''' : Non, mais moi, j'en ai rien à foutre, moi, de toute manière... De toute manière, on a voté, on en chie, on en chiera toujours. Et que ça soit dans n'importe quel pays, de toute manière, on va en chier partout.
'''Max''' : De toute façon, et je me demande même, je m'aventure un peu, je me demande si Chichi se fait pas des fois un petit peu..il a pas des gâteries dans le bureau ovale. On revient dans le débat.
'''Gérard''' : Non, mais ça, moi, je vais te répondre tout de suite à ta question. S'il vous plaît, merci !
'''Tétard''' : La pipe au sac à main.
'''Gérard''' : Tout à l'heure, y'en a un qui va dire la pipe au sac à main au standar, il va être clair et net. Donc moi, je peux répondre à ta question, de toute manière, on l'a voulu, on l'a. Maintenant on en chie. Et on va en chier pendant cinq ans.
'''Max''' : Eh, moi, je propose, la semaine prochaine, on fait un débat sur les pattes d'ef et sur la politique. Bon, alors, question suivante, on revient dans le débat.
'''Gérard''' : Mais c'est pas pour ça qu'on va avoir des augmentations ou autres et que tout va baisser. Au contraire.. Donc, pensez-vous que le président des USA sera démis de ses fonctions ? Donc, on va demander à Crevette.
'''Crevette''' : Ouais, je sais pas, Gérard, je suis pas voyante, je sais pas.
'''Gérard''' : Non, non, mais on s'en fout d'être voyante ou pas voyante, on en a rien à cirer.
'''Crevette''' :''' ''' : Je ne sais pas, Gérard, je ne sais pas s'il va être démis. Je fais pas partie du Congrès, je prends pas de décision aux Etats-Unis, je suis même pas américaine, donc je ne sais pas.
'''Gérard''' : Non, mais de toute manière, t'as pas besoin d'être américaine ou autre, tu peux très bien réagir vis-à-vis des informations que t'écoutes.
'''Crevette''' : Oui, mais bon, je ne sais pas, c'est pas moi qui prends la décision.
'''Gérard''' : D'accord. Grosse caisse ?
'''Grosse caisse''' : Ouais, bah, en fin de compte, je sais, j'ai une exclu, en fin de compte, je sais que Clinton, c'est pas lui qui va se faire virer, il va se désister, il va tourner dans une nouvelle série, au lieu de s'appeler X-Files, ça s'appellera X-Clinton, ça sera du cul, 100%.
'''Gérard''' : Alors, Grosse caisse, tu sais ce que tu me fais ?
'''Grosse caisse''' : Bah, j'ai pas une grosse caisse.
'''Gérard''' : Non, mais tu vas aller faire un gros dodo, tu vas retourner voir Phildar ou Manu qui t'ont...
'''Grosse caisse''' : Non, mais tu voulais des réponses, t'en as une ! C'est de la censure, t'es pire que le CSA, toi !
'''Gérard''' : Bon, alors tu dégages.
'''Phildar''' : C'est ça, pas de marque ! Pas de pub, pas de pub !
'''Gérard''' : Terminé, terminé, terminé pour lui. Terminé, tu le vires, tu me reprends quelqu'un d'autre. Terminé...
'''Phildar''' : Qu'est-ce que j'en fais ? Il a pas de contrat à Fun, je peux pas le vorer.
'''Gérard''' : TERMINÉ ! Eh ! Tu fais gaffe, sinon je vous vire tous les deux. Tu fais gaffe, sinon je vous vire tous les deux du standard. Alors, tu le vires. Point d'interrogation. Attendez, attendez, attendez, avant de répondre, peut-être une question IRC, non, Reego ?
'''Reego ''' : Oui, il y a des gens qui me demandent : si un jour tu deviens président, est-ce que tu te laisseras aller, toi aussi ? Est-ce que tu tromperais Sandy ?
'''Gérard''' : Ça, c'est un truc... C'est un truc personnel, donc je peux pas te répondre tout de suite.
'''Reego''' : On me dit aussi, vu que Sandy est déjà un bout... Enfin, non...
'''Gérard''' : Non, non, non ! Vu que Sandy est déjà un boudin, alors c'est qui qui a... Attends, attends, attends, s'il vous plaît, merci au standard. C'est qui qui a sorti ça au standard ?
'''Reego''' : C'est un mec qui s'appelle Reego, je sais pas qui c'est.
'''Gérard''' : Ah, Reego, c'est pas toi ?
'''Reego''' : Non, il y en a plusieurs, il y en a plusieurs.
'''Gérard''' : Donc, on revient sur le débat, donc point d'interrogation.
'''Point''' : Oui, bah... Attends, j'ai pas compris la question, déjà.
'''Tétard''' : C'est bête.
'''Gérard''' : Bon, attends, je te préviens, Grosse caisse, je le veux plus. Tu me reprends quelqu'un d'autre, hein ? Pas sous un autre nom. Alors, pensez-vous que... Que le président des USA sera démis de ses fonctions ?
'''Point''' : Oui, je pense qu'il sera sûrement... Soit c'est lui qui partira, ou s'il y a eu un jugement, je pense qu'il va sans doute en avoir un autre, je pense que c'est les juges qui vont juger, d'essayer de savoir s'il est coupable ou pas.
'''Gérard''' : D'accord. 5 minutes, oui ?
'''Manu''' : Oui, 5 minutes, donc on accueille Gicleur à la place de Grosse Caisse.
'''Gérard''' : Bon, de quelle ville ?
'''Gicleur''' : De quelle ville ? Grenoble.
'''Gérard''' : La fréquence ?
'''Gicleur''' : 98.8. C'est tout ? Tu veux savoir si je suis marié, non ?
'''Gérard''' : Bon, Gicleur, tu vas commencer à te la fermer, parce que je vais contrôler la fréquence tout à l'heure.
'''Gicleur''', ''[couvert par Gérard qui veut enchaîner]'' : Attends, qu'est-ce que tu vas me contrôler ? oh tu vas pas en plus me traiter de menteur, déjà que tu m'appelles à cette heure-ci... alors c'est gentil, quoi.
'''Gérard''' : Oh, si t'es pas content, tu retournes au standard, d'accord ?
'''Max''' : Il vient d'arriver, attends, ça fait 3 secondes qu'il est là. Parce que maintenant, t'as même plus confiance aux auditeurs qui te donnent les fréquences, tu veux vérifier, toi ?
'''Gérard''' : Ouais, mais attends, parce qu'avec eux... Je suis con ? Avec un con comme moi, on s'amuse, avec un con comme toi, on se fait chier. Et con, ça veut dire champion olympique de natation.
'''Max''' : Non, mais maintenant, c'est bon, Grenoblois, maintenant, on va rentrer dans le thème du débat, si c'est pour foutre le bordel, il va redégager pour de bon...
'''Gérard''' : Allez, vas-y, tu réponds à la question ?
'''Gicleur''' : Ouais, ben, tu peux répéter la question, c'est Manu qui m'a appelé, j'ai pas pu entendre.
'''Gérard''' : Non, ben, je répète pas la question. Hop, basta. Ah non, mais attends, Manu, les mecs, s'ils écoutent la radio, ils...
'''Manu''' : Oui, mais je l'ai rappelé juste au moment où tu posais la question.
'''Gérard''' : Ouais, mais attends, eh, moi, il me reste plus que 6 minutes à...
'''Manu''' : Et ben, répète ta question, et puis on envoie le son, on y va.
'''Max''' : Quand je te dis que le débat finit à 1h30, tu peux aller jusqu'à 32.
'''Gérard''' : Pensez-vous que le président des USA sera démis de ses fonctions ?
'''Max''' : Encore, t'en es que là ?
'''Gérard''' : Ben oui, mais attends, mais...
'''Crevette''' : Mais il avance pas.
'''Gicleur''' : Bah, écoute, moi, je pense qu'il va rester, parce qu'apparemment, les Américains veulent le garder. Et que c'est pas parce qu'il a fait une petite pipe qu'il est pas capable de gouverner son pays. Enfin, je pense.
'''Tétard''' : Ouais, ben, moi, je pense que le président des United States, là, machin, je sais pas quoi, là, il va être remis de ses onctions, ouais. Et il l'aura bien mérité, d'ailleurs, n'est-ce pas ?
'''Gérard''' : Oh, putain, hé, oh ! Hé, tu peux me la moquer, toi ?
'''Tétard''' : Ben quoi ? Tu me demandes s'il va être remis de ses jonctions, je te dis que oui.
'''Gérard''' : De ses fonctions !
'''Tétard''' : De ses fonctions, c'est pareil, c'est pareil, ouais, ouais, pas du tout, ouais.
'''Gérard''' : Bon, d'accord, apparemment, je crois que t'es... Euh, petit slip ?
'''Petit slip''' : Ben, moi, je pense qu'il est déjà démis de ses fonctions, puisqu'il est mort, John Kenedy.
'''Gérard''' : D'accord, alors, toi, tu peux dégager. Toi, c'est... Ça y est, c'est bonne nuit pour toi.
'''Petit slip''' : Bonne nuit, bonne nuit, bonne nuit.
'''Gérard''' : Bonne nuit, au revoir. Tu dégages. Euh, coussin d'air ?
'''Coussin d'air''' : Eh bien, moi, je crois que ce serait dommage qu'il soit démis de ses fonctions, parce que, maintenant, tout le monde est au courant aux États-Unis et dans le monde, alors, tu imagines pas le président aller à l'ANPE <ref name="hist1"></ref> et dire bonjour, etc., et les filles auront peur, il pourra même plus aller voir les prostituées, parce qu'il aura cette affaire de pipe, et forcément, les pipes, bon, ça engage à rien, ça entretient l'amitié, c'est pas méchant, et forcément, moi, je crois qu'il... Il devrait rester au pouvoir, hein.
'''Gérard''' : Ouais, mais cinq minutes, s'il vous plaît, merci. Bon, euh, je vais vous répondre après, mais, pour l'instant, moi, je peux vous dire qu'à mon avis, il sera des... Il restera, mais il faut attendre l'histoire, parce que c'est un peu trop long.
'''Gicleur''' : Mais toi, tu continues toujours à faire de la radio, pourtant.
'''Gérard''' : Ouais, mais ça, c'est mon problème, c'est pas le vôtre. Donc, il faut pas confondre la radio et...
'''Coussin''' : C'est parce que tu suces, c'est pour ça.
'''Gérard''' : Non, non, mais attends. Non, il y a tu suces et tu suces pas.
'''Manu''' : Bon, Gérard, à la place de Petit Slip que t'as dégagé, on accueille donc Serpillière.
'''Gérard''' : Ouais, bah d'accord. Alors, Manu... Non, non, mais Manu... Non, non, Manu, moi, je vais te dire une chose. Tu vois ? Là, ce que t'es en train de me faire, tu changes les noms.
'''Manu''' : Non, j'ai rappelé quelqu'un d'autre.
'''Gérard''' : Non, non, non, non, non, non, non, non, tu l'as repris, tu lui as dit. Au lieu de t'appeler Petit Slip, tu vas s'appeler Serpillière.
'''Max''' : Ceci dit, un slip, un slip, c'est un peu une Serpillière, quelque part.
'''Manu''' : Surtout ceux de Gérard.
'''Gérard''' : Moi, je vais sélectionner pour le deuxième débat.
'''Max''' : Parce que Gérard, il sait très bien, il met des Serpillières à la place de Petit Slip, il peut dire que...
'''Gérard''' : Donc, on va prendre Serpillière.
'''Manu''' : Voilà, et tu verras que c'est pas le même.
'''Gérard''' : Ouais, bah, on verra.
'''Max''' : On se dépêche, on se dépêche, Gérard. La dernière question, vite.
'''Gérard''', ''[écrit, lentement]'' : Serpillière. Alors, la dernière question. Les journalistes de la télé en font-ils pas un grand plat de cette histoire ? Je répète. Je récapitule depuis le début.
'''Max''' : Ça fait pas trop le con avec la politique, on va avoir des problèmes.
'''Gérard''' : Donc, les journalistes de la télé en font-ils pas... Pas un grand plat de cette affaire ? Donc, on va demander à Crevette.
'''Crevette''' : J'ai pas compris la question.
'''Gérard''' : Bon, alors, Crevette, c'est terminé pour toi. Tu comprendras mieux dans ton lit. Tétard ?
'''Tétard''' : Bah, moi, je pense qu'effectivement, il faut mettre les petits plats dans les grands et pas mettre les deux pieds dans le plat, ni tous ses œufs dans le même panier, c'est clair.
'''Gérard''' : Ouais, de toute manière, il y a un proverbe qui dit, il faut pas mettre les deux pieds dans le même sabot.
'''Tétard''', ''[sous les applaudissements du studio]'' : Tout à fait, surtout quand t'as des sabots.
'''Serpillère''' : Bah, moi, je pense qu'ils font vraiment un grand plat de choucroute, quoi.
'''Gérard''' : Non, mais attends, je vois pas le rapport avec l'affaire Bill Quinton, là.
'''Tétard''' : Bah, c'est mieux qu'un bon coup de pompe dans le cul, hein.
'''Gérard''' : Bon, d'accord, t'as pas compris la question. Non, mais je serais que toi, je prendrais mon balai brosse et je passerais la Serpillière dans tout l'appartement, OK ? Coussin d'air ! ''[applaudissements presque généraux]''
'''Gérard''' : L'autre abrutit, là, il applaudit pas parce que c'est lui qui l'a sélectionné. Donc, c'est bien... Donc, Coussin d'air. Euh, quoi, accouche ? Taleur, je vais t'accoucher, toi.
'''Finger''' : C'est Finger.
'''Gérard''' : Ouais, Finger, tu vas voir, taleur, Finger, je vais te manger par les deux bouts.
'''Gicleur''' : Bah, c'est Finger, il t'a mis un gros doigt.
'''Max''' : Faut qu'on fasse une réunion, c'est pas possible, le deuxième débat, on peut pas...
'''Gérard''' : Non, non, le deuxième débat, je le fais pas comme ça. Coussin d'air.
'''Coussin''' : Oui, alors, je disais que, moi, je trouve pas, au contraire, que les journalistes aient fait beaucoup, beaucoup de choses sur cette affaire-là, parce que je regardais pas plus tard que tout à l'heure, retransmis en Guadeloupe, le tiercet, et le journaliste a pas parlé une fois de l'affaire Bill Clinton.
'''Gérard''' : Non, mais attends, Coussin d'air, Coussin d'air ! Hé, Coussin d'air ! Et celui qui se marre comme un bourrin, là, il la ferme.
'''Max''' : Ouais, mais enfin, ça sert à rien, arrête de dire « la ferme » toutes les deux secondes. Toi aussi, tu la fermes quand tu parles.
'''Gérard''' : Euh, Coussin d'air. Non, mais je vois pas le rapport avec l'affaire Bill Kinton et puis, euh, les chevaux. Non, attends, Coussin d'air, je te répète la question. Les journalistes de la télé en font-ils pas trop... En font-ils pas un grand plat de cette histoire ? C'est-à-dire, on parle de l'histoire de Bill Clinton, on parle pas des chevaux.
'''Coussin''' : Oui, et c'est pour ça que je te réponds, lors de la retransmission du tiercet, le journaliste qui commentait, il a parlé une seule fois... Une seule fois de l'affaire Bill Clinton, et c'est pour ça que je te dis que, non, je trouve pas les journalistes, ils en font trop.
'''Gérard''' : Non, mais je vois pas le rapport avec l'affaire Bill Clinton et...
'''Max''' : Repose-lui la question, repose-lui la question.
'''tétard''' : C'est parce que Monica Lewinsky, c'est une belle jument.
'''Gérard''' : Bon, d'accord, ouais, enfin, bref. Euh, point d'interrogation pour finir.
'''Point''' : Si, je pense qu'ils en font un peu trop, parce que quand tu vois un peu qu'ils en parlent tout le temps à la radio, même à la télé, tu allumes ton poste, t'entends que ça, je pense qu'ils en font quand même un peu trop.
'''Gicleur''' : Parce qu'en fait, ils sont jaloux, Gérard, c'est pour ça. Tu m'as pas posé la question. Donc, je vais quand même te répondre. Moi, je pense que les journalistes sont jaloux, tu vois, parce qu'en fait, ils pensaient que le président des Etats-Unis, c'était un métier qui était dur, tu vois, qui était sérieux. En fait, ils voient que le président se fait sucer par une petite jeune alors tu penses, ils sont jaloux, quoi. Ils ont pas voulu aller à l'école pour faire président.
'''Gérard''' : Donc, moi, je peux vous répondre là-dessus. Je pense que les journalistes en font un petit peu de trop. Parce qu'on parle trop de cette histoire-là, comme l'affaire...
'''Phildar''' : Titanic ?
'''Gérard''' : Non, non, non, pas l'affaire du Titanic, l'affaire de l'histoire, là, avec la nana de...
'''Phildar''' : Le paquebot qui a coulé ?
'''Gérard''', ''[détournant le regard et la bouche du micro, fusillant Phildar du regard et surtout, éteignant son micro]'' : Non, mais attends, toi, tu ferais mieux de la fermer pour dire tes conneries. Non, c'est pas la peine de le rallumer.
'''Max''' : Ah, pour la Formule 1, là, non ? Schumacher, qui change d'écurie, non ?
'''Gérard''', ''[à Phildar)'' : Je t'ai dit d'éteindre ton micro, d'accord ?
'''Reego''' : Ton débat, Gérard.
'''Max''' : Non, mais c'est bon. C'est bon, ils peuvent l'allumer. Tu parlais de quoi, là ? Tu parlais du tiercé, là ?
'''Gérard''' : Non, non, de la nana... de l'histoire des policiers, là, puis du chauffeur de taxi, là, je pense...
Ah, du taxi, Valais-Saint-Paradis ?
'''Max''' : Ah, Joe le taxi ? Vanessa Paradis ? Bon, alors, enfin, bref, Gérard, qu'est-ce que tu penses de cette histoire ?
'''Gérard''' : Non, moi, je pense que cette histoire, pour moi, c'est de... C'est des conneries, et ils feraient mieux de laisser ça. Chacun fait ce qu'il veut de son cul. C'est leur propre histoire. Bon, maintenant, il n'y a qu'une chose que je peux dire, c'est que...
'''Phildar''' : C'est clair, c'est pas des conneries, le Titanic a bien coulé.
'''Manu''' : Bien sûr, il y a des preuves.
'''Gérard''' : Et ta 205, elle a bien coulé, et toi, t'as... Et toi, t'as... Ton espèce de nana, elle n'a pas coulé, encore ?
'''Phildar''' : Pardon ?
'''Gérard''' : Ouais, deux, à trois, on saute, à quatre, on recommence.
'''Max''', ''[admiratif, applaudissant]'' : Oh là là !
'''Gérard''' : Donc, moi, pour moi, personnellement, c'est une histoire que je suivrai pas parce que ça me prend la tête, et j'en ai ras-le-bol d'en entendre parler, tous les...
'''Gicleur''' : C'est toi qui en parles, là. Pourquoi tu fais un débat dessus ? Pourquoi tu lances un débat, alors ?
'''Gérard''' : Parce que je fais un débat, c'est le premier des débats de la saison, donc je fais un débat là-dessus.
'''Max''' : C'est la conjoncture des débats qui vaut ça.
'''Gérard''' : Terminé, point final, à la ligne. Donc, voilà. Conclusion !
'''Max''' : Ouais, conclusion, alors, très rapide.
'''Gérard''' : Vite fait, Crevette.
'''Crevette''' : Ouais, conclusion, bah, écoute, j'en ai appris beaucoup. Et puis...
'''Max''' : C'est vrai qu'on prend prend une bonne claque avec Gérard.
'''Crevette''' : Et puis, bah, j'espère que tu vas continuer à nous informer, quand même, sur l'affaire même si ça t'intéresse pas.
'''Max''' : Bah, y'a France Info, puis y'a Gérard le jeudi.
'''Gérard''' : Non, mais vous avez d'autres chaînes de télé pour vous informer que moi.
'''Max''' : Surtout que c'est de la radio donc...
'''Gicleur''' : Ouais, bah, écoute, moi, je pense, là, qu'en une soirée, j'ai plus appris qu'en trois mois. Et la conclusion, bah, c'est que, finalement, c'est bien de se faire sucer et que Clinton, bah, il a bien raison.
'''Gérard''' : D'accord, bah, toi, tu préfères aller te faire sucer ?
'''Gicleur''' : Ouais, c'est une proposition, mais non, laisse tomber non.
'''Max''' : Voilà, c'était la conclusion, en fait, réponds pas à la...
'''Point''' : Alors, ma conclusion, c'est qu'ils arrêtent un peu d'harceler les stars, comme ça, parce que c'est vraiment chiant. Dès que tu vois... Tu peux même pas aller quelque part, t'as les journalistes qui sont autour de toi, c'est un peu embêtant, quand même.
'''Max''' : Ça peut te servir de pare-à-vent, quand il pleut, hein.
'''Gérard''' : Point d'interrogation, t'es encore là ? Non, mais on vient de te poser une question.
'''Max''' : C'est pas grave, c'était juste un commentaire que je faisais, c'est pas une question. Faut pas confondre les questions, les réponses et les affirmations.
'''Tétard''' : Ouais, bah, moi, en conclusion, ce que j'aurais voulu savoir, c'est déjà si elle s'était lavé les dents, là, Levinsky, là, et je voudrais que tu nous racontes vite fait l'histoire entre Gérard Kilton et Christine. Lewhisky..
'''Gérard''' : Comment, comment ?
'''Tétard''' : Je voudrais que tu nous racontes la jolie histoire de Gérard Kilton et Christine Lewhisky.
'''Gérard''' : Bon, alors, Tétard ? Tu te mets un gros doigt... Et tu te mets un gros doigt, quelque part, et...
'''Max''' : Tiens, dans le cul, par exemple, par hasard.
'''Serpillère''' : Bah, moi, je pense que Monika Lewhisky, elle a même sucé Richard Dixon.
'''Gérard''' : D'accord, alors, toi, t'as rien compris. Coussin d'air, pour finir ?
'''Coussin d'air''' : Ah bah, écoute, moi, j'ai trouvé le débat vraiment très intéressant, sauf que je regrette vraiment qu'on ait pas parlé plus longtemps de Francky Vincent et du tiercet.
'''Max''' : Je veux juste te dire, petit point, petite parenthèse, par contre, là, Coussin d'air qui est en Guadeloupe, toi, en ce moment, t'es là, avec nous ? Donc, toi, en ce moment, toi, tu es en direct en France, on rappelle que, toi, ce que t'es en train de faire, en ce moment, avec Gérard, c'est donc diffusé dans 15 jours, c'est ça ?
'''Coussin d'air''' : Oui, absolument, c'est ça.
'''Max''' : C'est avec le décalage horaire, justement, et ça nous amène, justement, au prochain débat, Gérard, décalage horaire.
'''Gérard''' : Voilà. Donc, moi, je réponds quand même...
'''Max''' : Oui, la conclusion de Gérard, bien sûr, sur son débat.
'''Gérard''' : Donc, sur cette conclusion-là, c'est dommage qu'on n'aille pas pu aller plus loin, parce qu'il y avait d'autres questions qui étaient intéressantes. Bon, c'est sûr qu'il y a les histoires de cassettes vidéo, je pense que, j'espère qu'ils vont en faire bon usage pour les aides humanitaires.
'''Max''' : J'espère qu'ils vont les mettre en location. Ah, pardon.
'''Gérard''' : Non, non, pour les aides humanitaires, c'est-à-dire, surtout à New York, parce que même là où c'est vendu, donc, j'espère qu'ils vont en faire bonne conclusion sur cette vente.
'''Max''' : On rappelle que tu as été à New York, quand même. Tu sais de quoi tu parles.<ref name="explic2"></ref>
'''Gérard''' : Voilà. Parce que là-bas, il faut dire que c'est un pays très, très chaud.
CMaxest quand même une ville qui n'a plus aucun secret pour toi, vu que tu y es passé quand même près de 48 heures.
'''Gérard''' : Non, 72.
'''Max''' : Donc, tu maîtrises bien le sujet de New York.
'''Phildar''' : Il a fait deux fois le tour.
'''Max''' : Est-ce que tu trouves que ce genre de problème, comme ça, ce problème, est-ce que tu crois que ça mérite un débat ?
'''Gérard''' : Ben, disons, j'ai voulu réagir là-dessus, parce qu'on en parle tellement. C'est que j'aurais préféré éviter d'en parler. Bon, t'as voulu qu'on en parle. Bon, ben, j'en ai parlé. Mais malheureusement, on n'a pas pu aller jusqu'au bout. Donc, si vous voulez réagir sur le deuxième débat.
'''Max''' : Débat sur le décalage horaire.
'''Gérard''' : Sur le décalage horaire. Donc, je pense que c'est moi qui va...
'''Max''' : On va voir ça hors antenne. Ça, c'est un truc, comme d'habitude, je Gérard n'a pas compris. Tu vas me laisser parler un petit peu. Je vais faire moi-même. Donc, si vous voulez participer au débat de Gérard, le deuxième de cette soirée pour le grand retour de GG dans les débats. Débat sur le décalage horaire. Vous appelez dès maintenant le standard de Fun Radio 0800 70 5000. Pour les Belges, 0033 800 70 5000. IRC, toujours, c'est-à-dire le site Internet où vous pouvez dialoguer en direct entre vous ou bien directement avec Reego, qui est dans le studio en ce moment.
'''Reego''' : Et avec Rousseau aussi.
'''Max''' : Et avec Rousseau également, qui est dans le coin. C'est irc.funradio.fr. Gérard est toujours là. Phildar Manu également aux manettes. On se retrouve dans tout juste 8 minutes. Le temps de faire le point avec un morceau de Astral Projection. Ah non, pardon, c'est pas ça. Non, ça a changé. C'est quoi ?
'''Gérard''' : Non, c'est, à mon avis, si on ne s'est pas trompé, c'est tiens, tiens bientôt, j'ai un gros caca avec des riettes. Voilà. Et on se retrouve tout à l'heure d'ici 5-10 minutes.
== Le débat sur les décalages horaires ==
=== Contexte ===
Le premier débat a clairement montré le nouvel environnement dans lequel s'inscrit l'émission, désormais mettant en scène une équipe rigolarde et un animateur payé, loufoque, surréaliste. Pourtant, on voit aussi d'emblée l'équilibre difficile auquel Max s'attaque : tenter de rassurer sa direction dans un style moins chaotique qu'en début d'année, tout en préservant le style inimitable de l'émission. Le second débat tente de confirmer cette tendance, avec un interventionnisme moindre de Max. C'est la première semaine du retour de Max, qui le met sous pression. D'abord car il a tout de même laissé une trace par son coup de poker d'août, ensuite car il vient de retrouver son créneau préféré après ce qui fut un vrai échec professionnel, enfin parce que la direction, de toute manière, transforme la station en profondeur. Les émissions emblématiques comme Lovin Fun, ainsi que leurs animateurs phares (Difool, le Doc) sont désormais partis, Max reste le seul emblême de l'époque de Fun radio de la première moitié des années 90, et la pression est donc grande. La station veut en effet cibler d'autres auditeurs, pour d'autres revenus, et Ma restera un épiphénomène fidélisant le passé mais presque gênant pour la direction.
Dans ce second débat, Max teste toutefois la formule où Phildar est à la manœuvre. Lui aussi, depuis la fin de Fun TV, a besoin de trouver sa place dans le métier. Mais un peu contre toute attente, l'autorité naturelle qui se dégage pour Gérard, c'est Reego. Il est épargné de ses foudres, il a sa confiance, quoiqu'il fasse, et très vite, il s'avère que c'est lui qui sera le bon régulateur de l'émission, par-delà tous les autres.
Sur le fond, il faut simplement se souvenir qu'à cette époque, le week-end précis où l'heure passait en hiver ou été n'était pas totalement figée. Celala ensuite changé lorsqu'elle s'est harmonisée au plan européen, mais tel n'était pas encore le cas. Cette mesure, étant d'abord destinée à s'adapter à la longueur des journées pour réguler la consommation d'une énergie coûtant cher, s'adaptait aussi à la température et à d'autres critères. Si bien que le décalage pouvait intervenir pendant n'importe quel week-end du mois d'octobre, voire en septembre, plus rarement.
=== Les personnages ===
* Gérard Cousin : Gérard
* Phildar, Manu
* Franck Bargine : Max
* Igor : Reego
* Mégane : Moustique
* Tony Morestin : Boudin noir
* Goldo : Boudin noir
* Cocker, Loudné (comprendre, Loup-de-nez)
* Sandy Threadkell : Point d'interrogation
* Nicolas : Merguez (il avait participé à un débat estival en 1997), Petit sucre
* Luigi : Couscous (retour d'une figure des dénats en 1997)
=== Transcription ===
'''Gérard''' : Et voilà, 1h45, donc je fais rectification, c'est Tiens bientôt, je vais faire un gros caca avec Derriette et on va demander à Reego, il avait un petit message sur l'IRC, sur les questions qu'on a posées au départ.
'''Reego''' : Voilà, non c'était juste pour saluer les gens présents sur l'IRC, alors je salue Wynne, Clifford, Yankee, Fedji, TSM, Jock, Scoyote, Bip, VLR et les autres et l'IRC dans le studio a planté mais on va le relancer tout de suite, à tout à l'heure.
'''Gérard''' : Ok, à tout à l'heure, Reego, je te remercie.
'''Reego''' : De rien ma poule !
'''Gérard''' : Là, Manu, je te signale qu'il y en a un des deux qui va planter.
'''Manu''' : Ah bon, pourquoi ?
'''Gérard''' : Là, je pense que tu m'as fait une connerie.
'''Manu''' : Ah bon ? Si tu m'avais pas pris le standard pour rien foutre pendant le disque, j'aurais pu sélectionner des gens.
'''Phildar''' : C'est pas grave, on va voir, vas-y Gérard.
'''Gérard''' : Je vais voir, donc on accueille Moustique, merci pour les fréquences.
'''Manu''' : Je n'ai pas eu le temps, Gérard.
'''Moustique''' : Bonsoir Gérard.
'''Gérard''' : T'appelles d'où ?
'''Moustique''' : T'appelles de Poitiers.
'''Gérard''' : Poitiers, ta fréquence ?
'''Moustique''' : 89.6
'''Gérard''' : 89.6, ok. Boudin Noir.
'''Boudin noir''' : Bonsoir Gérard, bonsoir tout le monde.
'''Gérard''' : Bonsoir Tony. Merci Tony.
'''Boudin noir''' : J'ai changé.
'''Gérard''' : Ouais, ouais, ta fréquence ?
'''Boudin noir''' : Moi, ma fréquence, moi j'écoute pas sur la radio, j'écoute sur la CB et je t'emmerde.
'''Gérard''' : Alors, tu m'emmerdes, ok. Alors, dégage Boudin Blanc. Allez hop, voilà.
'''Phildar''' : Ça commence bien, Manu, tu pourras gérer un peu mieux.
'''Gérard''' : Alors, Max, Max, s'il te plaît.
'''Phildar''' : Non, on va gérer, on va gérer Manu tout seul, Gérard, t'inquiète. Manu, tu fais gaffe.
'''Gérard''' : Hop, Boudin Blanc, terminé. Hop, tu le vires. Bon, ça commence ! Déjà, il commence. Alors, si Boudin Noir c'est le même nom...
'''Max''' : Non, mais peut-être que Tony, il a changé, il est peut-être venu...
'''Gérard''' : Non, non, non, il m'a dit, je t'emmerde sur la CB.
'''Max''', ''[hilare]'' : Ah, j'ai pas entendu. Non, mais c'est pas grave, mais si Tony veut bien venir, mais il se calme. Ça peut être sympa. On pourrait très bien se faire un feu de cheminée avec des merguez, on pourrait lier amitié.
'''Gérard''' : Non, non, c'est pour Boudin Blanc, terminé.
'''Manu''' : Moi, j'écoute le chef, il a dit, ça peut être sympa, je le laisse.
'''Gérard''' : Non, je dis, moi ! C'est pas lui qui...
'''Manu''' : Ah si, c'est Max qui commande.
'''Boudin noir''' : Je m'excuse, je m'excuse.
'''Gérard''' : Non, non, non, Tony, terminé, terminé, terminé, terminé, terminé, terminé, terminé, terminé, terminé, terminé, terminé.
'''Phildar''' : Hé, ce qu'on fait... Attends, Gérard. S'il vous plaît, disez-vous, s'il vous plaît, Tony. Ce qu'on fait, Gérard, on lui laisse une chance.
'''Gérard''' : Non, non, non, non, non, non, non, non, il n'y a pas de chance avec moi. Non ! Non, non, mais moi, je ne pardonne pas, c'est tout. Terminé, point final, à la ligne. Gamel ? Salut, t'appelles d'où ?
'''Gamel''' : De Verdun.
'''Gérard''' : Ta fréquence ?
'''Gamel''' : C'est 110.5.
'''Gérard''' : Boudin Noir.
'''Boudin noir''' : Ouais, salut, Gégé, j'appelle de Toulouse et la fréquence, c'est 117.3.
'''Gérard''' : 117.3, OK. Point d'interrogation ? T'appelles d'où ?
'''Point''' : J'appelle de nulle part, toujours.
'''Phildar''' : Bah oui, c'est la même.
'''Gérard''' : Donc, 101.9. OK, je te remercie. Donc, première question, c'est sur le décalage horaire. On est bien d'accord ? Alors, que pensez-vous du décalage horaire ? On va demander à Boudin Noir.
'''Boudin noir''' : Le décalage horaire, en fait, Gégé, on n'y peut pas. C'est des lois immuables de la nécessité naturelle et on ne peut pas faire grand-chose.
'''Gérard''' : Mais tu penses que ça, à ton avis...
'''Boudin noir''' : Non, mais c'est plutôt une bonne chose, quand même, dans l'absolu.
'''Gérard''' : Ouais, mais à ton avis, tu crois que ça va durer encore longtemps, cette histoire ?
'''Boudin noir''' : À mon avis, je ne pense pas... il y a peu de chances que ça change, parce que vu comment sont les gens, je ne vois pas pourquoi le décalage horaire, il changerait comme ça. Tu sais, c'est dans les mentalités, tout ça.
'''Gamel''' : Bah, décalage horaire, c'est décalage de toutes les heures, c'est ça ?
'''Phildar''' : Attends, Gérard, est-ce que tu peux expliquer ce que c'est, le décalage horaire, déjà ?
'''Gérard''' : Le décalage horaire, déjà, pour commencer, bon, ça, j'aurais pu attendre que tout le monde réponde.
'''Phildar''' : Mais non, mais s'ils ne comprennent pas déjà ce que ça veut dire...
'''Gérard''' : Non, non, mais attends, Phildar, s'il te plaît. J'aurais pu attendre que tout le monde réponde, et j'aurais pu dire ce que c'était. Non, mais...
'''Phildar''' : Non, mais tu comprends ce que je veux dire. Si toi, on te pose une question et que tu ne sais pas ce dont on parle, tu ne peux pas répondre. Donc, il faut que tu expliques avant. Vas-y, explique.
'''Gérard''' : Donc, décalage horaire, c'est-à-dire vous avancez ou vous reculez votre monde d'une heure. D'accord ? On est bien d'accord, Gamel et Boudin Noir, si je t'ai mal expliqué ? Je pense que Boudin Noir, tu as bien compris la question, toi ?
'''Boudin noir''' : Oui, oui, tout à fait. En avant, en arrière, sur la droite et sur la gauche aussi.
'''Gérard''' : Non, mais d'accord. Toi, sur la droite et sur la gauche, toi, tu prends les clignotants ?
'''Boudin noir''' : Voilà, par exemple.
'''Gérard''' : Non, mais ça n'a rien à voir. Non, mais OK. Gamel ?
'''Gamel''' : Moi, je comprends pas, parce que j'ai une montre à quartz, et puis les aiguilles, elles n'avancent pas ou elles ne reculent pas.
'''Gérard''' : Non, mais attends. Moi aussi, j'ai une montre à quartz, là sur ma montre, il est 1h51. Si tu veux, à l'heure actuelle, si on change d'heure, ça fera 0h51. Parce qu'on recule. On recule nos montres d'une heure.
'''Boudin noir''' : Comme en Allemagne, par exemple.
'''Gérard''' : Non, non, attends 5 minutes, s'il te plaît, merci.
'''Manu''' : Oui, donc, comme tu ne voulais pas de Tony, on accueille Bonne Nuit à la place. Salut, Bonne Nuit.
'''Bonne nuit''' : Allô, salut, G, tu vas bien ? Moi, j'appelle de Mont-Luçon, fréquence 112.18.
'''Phildar''' : Ah, c'est une nouvelle fréquence, ça.
'''Manu''' : Elle vient de s'installer, d'ailleurs. Tu peux saluer tous les auditeurs qui te rejoignent sur cette fréquence.
'''Gérard''' : Non, non, 112.18, ça existe pas, chez moi, à Montluçon. Montluçon, tout le monde descend, terminé. Hop, point final à la ligne. Alors, pour l'instant, Manu, t'es en train de me dire des...
'''Phildar''' : Bon, la suite, Gérard.
'''Gamel''' : Ça y est, j'ai reculé ma montre jusqu'à la cuisine, j'ai fait un calage horaire, là.
'''Gérard''' : Non, je ne vois pas le rapport. Je ne vois pas le rapport avec le décalage horaire. Point d'interrogation ?
'''Point''' : Effectivement, ça peut perturber un peu la vie quotidienne. Déjà, quand tu pars au travail le matin, tu peux être perturbé...
'''Gérard''', ''[par-dessus des bruits bruyants de pet]'' : Non, mais attends, point d'interrogation, pour l'instant, on... Celui qui s'amuse à péter derrière, arrête !
'''Reego''' : Excusez-moi, excusez-moi.
'''Phildar''' : Ça pue en plus.
'''Reego''' : Désolé, désolé, pardon.
'''Point''' : C'est vrai que tu peux être perturbé en prenant ta voiture, tu peux arriver en retard à ton travail.
'''Gérard''' : Bon, OK, c'est bon. Moustique ?
'''Boudin noir''', ''[pendant que Manu, micro éteint, fait le bruit du moustique]'' : Gérard, j'aimerais bien te ''[bruit d'une touche de téléphone numérique]'' Sous la table.
'''Gérard''', ''[crescendo]'' : Non, non, non, mais là, ça commence à bien faire ! ''[o Phildar]'' : Eh, toi, tu vas la prendre, toi ! Eh, tu dégages ! Tu dégages, je te veux plus ! Allez, hop !
'''Manu''' : Bon, bah, viens au standard !
'''Gérard''' : Tu dégages ! Au standard ! Au standard ! Au standard !
'''Max''' : C'est bon !
'''Gérard''' : Non, non, il commence pas ! Non, mais il commence pas ! D'accord ! Non, non, Manu, non plus !
'''Manu''' : Ben, j'ai rien fait !
'''Gérard''' : Non, non, Max !
'''Max''' : Je suis en train de brancher les filles là, je peux pas...
'''Gérard''' : Non, non, mais attends, parce que là, ils vont pas... Ça va pas commencer comme ça, hein !
'''Max''' : Ben, quand ça va pas, tu fais tourner, regarde ! Là, t'as fait tourner l'équipe, regarde !
'''Gérard''' : Ouais, mais après, Reego, t'y vas ! Je pense qu'avec toi, ça va mieux aller !
'''Phildar et Manu''' : Mais il sait pas, Reego ! Il sait pas le faire !
'''Reego''' : Non, moi, je sais pas, j'ai pas le droit !
'''Gérard''' : Bon, Moustique !
'''Gamel''' : Gérard, tu fermes ta gueule, c'est moi qui commande, ici ! Tu fermes ta gueule, OK ?
'''Gérard''' : Bon, alors, hop ! Hop ! Euh, je te préviens ! Max !
'''Phildar''' : Non, mais je l'ai viré, maintenant, tu peux y aller !
'''Gérard''' : Non, non, non, non, non ! Non, non, Max ! ''[Max revient, agacé, criant Merde en entrant dans le studio]''. Max, Max, Max ! Non, non, y'a pas de merde ! Tu viens ! Tu me les chopes au standard ! Tu les prends ! Le premier qui me dit merde, ou ta gueule, il dégage ! ''[par-dessus, quelqu'un demande à gérard de se faire par Sandy et de pas casser les pieds]'' : Alors, celui-là ! Celui-là qui vient dire Sandy, il dégage ! Hop ! Terminé pour lui !
'''Max''' : Non, qu'est-ce que t'es en train de me dire ? T'es en train de me dire que quand on dit merde ou enculé, faut zapper, donc quand on dit Sandy, c'est un... Donc, ça veut dire que Sandy, c'est un gros mot ?
'''Gérard''' : Pourquoi tu dis que je vais me faire enculer par Sandy ?
'''Phildar''' : Il a pas dit ça, hein !
'''Gérard''' : Non, à peine ! À peine ! À peine, tu l'as pas entendu, toi !
'''Max''' : Bon c'est bon ! Alors, maintenant, on reprend le débat normalement, s'il vous plaît, comme le premier, c'était très bien ! Manu va gérer tout ça !
'''Manu''' : Je gère ! T'inquiète pas, Gérard !
'''Gérard''' : Eh, je te préviens ! Première fausse note, tu dégages, je mets quelqu'un d'autre !
'''Manu''' : Y'aura pas de fausse note !
'''Gérard''' : Donc, alors, Moustique, pour la première question !
'''Moustique''' : Oui ? Euh... Bah, je sais plus, là ! C'était le décalage horaire, ce qu'on en pense ? Bah, c'est chiant, quoi ! Quand tu vas aux Etats-Unis, t'as 6 heures, donc, il faut... Tu recules de 6 heures, en fait, donc, faut tout réorganiser ta vie, parce que c'est carrément une demi-journée, quoi ! C'est un peu, en fait, astreignant, comme chose !
'''Gérard''' : Ouais, non, mais je pense que le décalage horaire... Je pense que le décalage horaire, c'est que... À chaque fois, tous les... 5 mois, je pense, à mon avis...
'''Moustique''' : Le visa, il dure 6 mois, donc...
'''Gérard''' : Non, mais faut qu'on change au mois de... Au mois de mars ! Et après, faut rechanger au mois d'octobre !
'''Moustique''' : Ouais, mais ça dépend quand il est tamponné, donc...
'''Gérard''' : Ouais, mais parce que là, je peux te dire que le décalage horaire, normalement, on aurait dû le faire cette semaine, là... Ce week-end...
'''Moustique''' : Ah bon, c'était là ?
'''Gérard''' : Bah, pour l'instant, personne n'en a parlé, donc... J'en parle maintenant, et normalement, on aurait dû le faire maintenant...
'''Manu''' : C'est le week-end prochain ?
'''Gérard''' : Bah, on sait pas, parce que... D'après ce que j'ai vu, moi... Sur des programmes,<ref name="hist2"></ref> ils en parlent pas, donc... Je sais pas si, cette année, on va faire le changement d'horaire...
'''Manu''' : Je crois que c'est le week-end prochain, mais je suis pas sûr...
'''Boudin noir ''' : Ya une grève, ya une grève.
'''Gérard''' : Non, non, mais attendez, attendez, attendez... Tu me dis ?
'''Manu''' : Je crois que c'est le week-end prochain qu'on change d'heure, mais je suis pas sûr...
'''Gérard''' : Non, moi, j'ai reçu le... Je te confirme, pour l'instant, on en... On n'a pas confirmation du décalage...
'''Manu''' : Ok, autant pour moi...
'''Phildar''' : Mais avant, il paraît que c'était le premier jour de l'automne qu'on changeait, c'est vrai ou pas ?
'''Gérard''' : Oui, mais là, normalement, on aurait dû changer... Non, mais attends, toi, avec ta grève, tu m'énerves !
'''Boudin noir''' : Il y a une grève du décalage d'horaire, tu devrais te tenir informé !
'''Gérard''' : Mais attends, toi, avec ta grève, ta grève, si tu fais partie de la RATP, tu dégages...
'''Boudin noir''' : Mais non, c'est la SNCF, c'est différent !
'''Gérard''' : Ouais, ben, dans ce cas-là, tu te tais, c'est tout, je réponds à la question... Voilà, merci !
'''Phildar''' : Gérard, donc, justement, à la place de Bonne-Nuit, on accueille Puceau...
'''Gérard''' : Puceau, bonne nuit ! Non, bonsoir, pardon...
'''Puceau''' : Bonsoir, qui ?
'''Gérard''' : Puceau !
'''Puceau''' : Puceau toi-même, ouais !
'''Gérard''' : Attends, tu restes poli, s'il te plaît !
'''Gamel''' : Moi, Gérard, je pense que le décalage d'horaire, c'est de la faute à Jospin, de toute façon.
'''Gérard''' : D'accord, alors là, je vois pas le décalage horaire, qu'est-ce qu'il a à faire dans la politique. Non, mais moi, je réponds à la question à Phildar, parce que tu m'avais dit...
'''Phildar''' : Généralement, c'est le premier jour de l'été.
'''Manu''' : Non, de l'automne.
'''Gérard''' : Donc, normalement, si t'es d'accord avec Manu, normalement, on aurait dû changer d'heure ce week-end.
'''Phildar''' : Le 20 septembre.
'''Gérard''' : Donc, c'est-à-dire, le week-end dernier. Donc, pour l'instant, on sait pas. Je réponds à la question à Manu. Donc, pour le week-end prochain, pour l'instant, pour ce week-end, j'en ai pas entendu parler.
'''Moustique''' : Et pourquoi, Gérard, on n'a pas changé ?
'''Gérard''' : Pourquoi ? Parce que, pour l'instant, personne n'en parle. Et donc, on sait pas.
'''Manu''' : Excuse-moi, je crois que c'est à cause de l'Europe. Pour se mettre à la même heure avec tout le monde.
'''Gérard''' : Non, mais apparemment, tout le monde a dit qu'on fait des décalages horaire tout le temps.
'''Phildar''' : Non, parce qu'en fait, ce qui va se passer, je crois qu'on aura des montres en euros. Il y aura plus d'heures.
'''Gérard''' : Non, mais ça, l'euro, là-dedans, je vois pas ce que... Non, non, mais je m'en fous. Deuxième question. Donc, alors, deuxième question. Qui est le plus atteint par le décalage horaire ?
'''Moustique''' :C'est les bovins. C'est les bovins, c'est les vaches. Elles arrivent pas à faire leur lait normalement quand l'heure, elle change. C'est prouvé scientifiquement, hein.
'''Gérard''' : Ouais, mais d'accord, Moustique. Mais je te demande qui est le plus atteint, parce qu'il n'y a pas que les bovins qui sont...
'''Moustique''' : Ah, mais les plus atteints, c'est les bovins. Après, c'est les vieux, quoi.
'''Gérard''' : Ah ouais, mais ça, on va... Je pense que... Non, mais je pense qu'on va en revenir sur les questions, parce que, de toute manière, de toute manière, si tu parles des bovins, dans ces cas-là, tu penses que les bêtes souffrent ?
'''Moustique''' : Non, non, je dis pas ça. Mais les vaches, elles arrivent pas à faire leur lait correctement parce qu'elles ont carrément changé d'heure, quoi.
'''Gérard''' : Oui, mais dans ces cas-là, Moustique, si je te dis, les bêtes souffrent-elles du décalage d'heure ?
'''Moustique''' : Bah moi, je te réponds non.
'''Gérard''' : Bah pourquoi ?
'''Moustique''' : Parce que, je te dis que ça se passe dans leur tête, elles sont complètement déréglées, mais elles n'en souffrent pas.
'''Gérard''' : Bah oui, mais dans ces cas-là, on revient à... Qui est le plus atteint par le décalage horaire, tu me dis les...
'''Moustique''' : Les bovins. Après, les vieux.
'''Gérard''' : Bah oui, mais dans ce cas-là, les bêtes souffrent.
'''Moustique''' : Bon, Gérard, on va pas faire une heure, je te dis, non, elles souffrent pas.
'''Gérard''' : Bah si, si, moi, je te dis que si.
'''Moustique''' : Bon, bah alors, si tu dis que si, d'accord, elles souffrent. Mais moi, je te dis que non.
'''Point''' : Oui, je pense que tout le monde peut en souffrir, surtout les bébés, ils peuvent pas avoir leur biberon en temps et en heure. Je pense que même, c'est pareil pour les personnes âgées, ou même pour les personnes qui doivent...
'''Gérard''' : Non, mais attends, eh oh point d'interrogation ? Eh, tu me... Tu réponds pas aux questions avant moi, parce que sinon, toi, je vais t'éclater ta tête.
'''Moustique''' : Bon, on a le droit de parler ?
'''Point''' : Ah non, faut pas m'éclater la tête, hein.
'''Gérard''' : Non, bah non, parce que là, t'es en train de me prendre...
'''Gamel''' : Non, Gérard, éclate-lui la chatte, plutôt.
'''Gérard''' : Non, toi, toi, tu la fermes. Ça vaudra mieux pour ton matricule.
'''Point''' : Non, mais comme je t'ai dit, je pense que tout le monde peut en souffrir, de ça.
'''Gamel''' : Bah moi, à mon avis, le plus atteint qui sera par le décollage horaire, c'est quand même Bill Clinton, parce qu'avec tous les problèmes qu'il a eus.
'''Gérard''' : Bon, allez, Boudin noir...
'''Phildar''' : Non, mais c'est Gamel, Gamel. Non, mais si ça se trouve, il y a un rapport.
'''Gérard''', ''[avec écho de Manu]'' : Mais non, ça n'a rien à voir ! Manu, s'il te plaît.
'''Manu''' : J'ai rien fait, Gérard.
'''Phildar''' : Bon... Il n'y a pas de rapport ? Mais pourquoi ?
'''Gérard''' : Non non mais... hop, Gamel, tu me l'envoies... Bonne nuit. Boudin noir, pourquoi ?
'''Boudin noir''' : Déjà, pour le problème des vaches, moi, je sais qu'il y a des paysans du Luberon qui ont fait une expérience. Il suffit juste de mettre une horloge dans l'étable.
'''Moustique''' : Ah bon, ça marche ?
'''Boudin noir''' : Ça suffit, ouais. Et en ce qui concerne les vieux, vous parliez des vieux, effectivement, les vieux, c'est pareil. Le matin, ils ont l'habitude de pisser à heure fixe. Et avec le décalage horaire, en fait, quand dans les maisons de retraite, les infirmières viennent, ils se sont tous chiés dessus parce qu'on ne les fait pas dégorger à temps, quoi.
'''Gérard''' : Donc, Pussot, t'es encore là ?
'''Puceau''' : Oui, moi, je voulais dire que les plus atteints, c'est les filles, quoi, parce qu'il y a des filles qui n'ont pas les règles en même temps.
'''Gérard''' : Non, mais attends. Hé, Pussot ! Pussot ! Pussot ! Je ne vois pas le rapport avec le décalage horaire et les ragnanias des nanas.
'''Puceau''' : Les ragnanias, c'est normal, Gérard. Les ragnanias, elles ne les ont pas en même temps, donc il y a un décalage horaire.
'''Gérard''' : Mais attends, mais de toute manière, si elles ont leur ragnania, par exemple, aujourd'hui, d'ici un mois, si le décalage... Euh... D'ici une semaine, si le décalage change, elles les auront toujours en même temps.
'''Puceau''' : Ouais, mais si elles partent, il y a un décalage horaire, donc elles n'auront pas le même jour.
'''Gérard''' : Et alors, tu feras toujours des spaghettis avec ?
'''Puceau''' : Ben écoute, moi, je dis une chose, les spaghettis, c'est bien, mais les ragnanias, c'est mieux.
'''Gérard''' : Ouais, mais il faut mieux avoir des spaghettis aux ragnanias avec de l'ail.
'''Manu''', ''[écœuré]'' : Oh, Gérard, t'es poétique, vraiment, c'est super.
'''Phildar''' : Justement. On accueille deux nouveaux, on accueille Coquer, qui appelle de Niort. Et Merguez, de Toulouse.
'''Gérard''' : Euh, donnez-moi les fréquences, là.
'''Merguez''' : Moi, c'est Toulouse, c'est 105.9.
'''Boudin noir''' : Non, non, 117.5.
'''Gérard''' : Et Coquer, de Niort ?
'''Coquer''' : 93.4.
'''Gérard''' : Eh, Pussot, t'es d'où, toi ?
'''Puceau''' : Oui, je suis de Paris.
'''Boudin noir''' : Non, il est d'Italie, lui.
'''Gérard''' : Donc, troisième question. Depuis qu'il y a Manu et Phildar, c'est le vrai bordel.
'''Manu''' : Ben non, non, je sais pas qu'est-ce qu'il se passe, pourquoi ?
'''Gérard''' : Non, non, parce que là, ça devient le vrai bordel. On a des bruits et... ''[depuis quelques minutes, reego tape violemment sur les touches de son clavier, micro ouvert, Manu ronfle bruyamment, etc]'' Voilà, il y en a un qui ronfle.
'''Phildar''' : Il y a peut-être un qui s'endort, donc il faudrait peut-être que t'accouches.
'''Gérard''' : Non, je pense que ça va pas aller longtemps, vous deux.
'''Phildar''' : Allez, Gérard, la question, vite.
'''Gérard''' : Quoi, vite ? Si je veux !
'''Phildar''' : Bon, ben, prends ton temps.
'''Gérard''' : Les fermiers supportent-ils ce changement d'heure ? On va demander à Moustique.
'''Moustique''' : Ben, mieux que les vaches, en tout cas.
'''Gérard''' : Ben, donc, tu vois que je reviens à la première question. Bon, vous vous la fermez derrière quand je parle. Merci. Donc, tu vois, Moustique, je reviens avec la question numéro 2. Merci pour...
'''Manu''' : Pourquoi ?
'''Reego''', ''[alors que quelqu'un imite le moustique, micro éteint]'' : Il y a un moustique, là.
'''Boudin noir''' : Plutôt une mouche, ouais.
'''Gérard''' : Non, non, mais... Non, non, c'est pas toi. Non, non, mais je sens que tout à l'heure, ça va mal se terminer. Vous allez voir que... Je pense qu'on va pas faire les 10 questions, hein.
'''Boudin noir''' : C'est l'odeur.
'''Gérard''' : L'odeur, elle t'emmerde, toi, d'accord ? Donc, tu vas pas commencer tes conneries, ok ? En de bon entendeur, salut. Ok. Donc, Moustique. Donc, on revient à la question numéro 2. Donc, qui est le plus... Qui est le plus atteint par le décalage horaire ? Et les fermiers supportent-ils ce décalage horaire ? Donc, apparemment, tu reviens sur la même question.
'''Moustique''' : Non, moi, je te dis que c'est les vaches. Mais les fermiers supportent beaucoup mieux que les vaches.
'''Gérard''' : Non, non, non, mais attends. Parce que, eux, pour eux... Eux, si tu veux, les fermiers, eux, ils se lèvent un peu plus tard. Disons, avec le décalage horaire, ça va les changer. Parce que si, par exemple, ils font une traite à 6 heures, pour eux, ça fera 5 heures, si tu veux.
'''Moustique''' : Oui, mais les vaches... Et les vaches, elles ne le savent pas que l'horaire change.
'''Gérard''' : Eh oui, mais d'accord, mais attendez, s'il vous plaît, derrière.
'''Moustique''' : Ça les perturbe parce que le fermier, il vient leur titiller les pis, et elles n'ont pas de lait, donc ça les perturbe. Voilà.
'''Boudin noir''' : Mais non, parce qu'il y a le coq, vous oubliez le coq.
'''Gérard''' : Attends, toi, qui c'est qui parle du coq ? Ouais, mais Boudin Noir, tu vas aller bouffer ton coq au standard.
'''Boudin noir''' : Le coq, il chante toujours à la même heure. Donc le fermier, il se lève quand le coq, il chante, il est pénard.
'''Phildar''' : Ben voilà. ''[Reego continue à taper sur le clavier de l'ordianteur de bureau exagérément bruyamment dans le micro]''. Qu'est-ce que tu voulais dire, Gérard ?
'''Gérard''' : Non, mais là, ça commence à bien faire. Taleur, au premier débat, ça s'est bien passé. Maintenant, le deuxième, vous n'allez pas me le casser. Vous n'allez pas le casser, pour l'instant, vous êtes en train de le casser.
'''PHildar''' : Le coq, il n'a pas de montre. Donc, lui, il ne sait pas qu'il y a un décalage horaire. Donc, il chante tout le temps. Il chante à la même heure à chaque fois. T'es d'accord ? T'es d'accord, Gérard ?
'''Gérard''', ''[tournant le regard de partout et atterrissant sur Reego]'' : Merci, Reego.
'''Reego''' : Qu'est-ce qu'il y a ?
'''Gérard''' : Ah ouais, mais t'avais laissé ton micro allumé.
'''Manu''' : On entend tout, quand tu pianotes sur l'IRC.
'''Reego''' : Ah ouais ? Ah ouais, excusez-moi.
'''Gérard''' : Ouais. Je me disais aussi, il y avait un problème. Donc, point d'interrogation.
'''Phildar''' : Bon, t'as compris ou pas ce que je t'ai dit ? Gérard ?
'''Manu''' : Pour le coq.
'''Gérard''' : Ouais, mais je m'en fous, on continue le débat. Point d'interrogation.
'''Point''' : Oui, les fermiers peuvent en avoir des conséquences.
'''Phildar''', ''[après un bruit de pet avec la bouche]'' : Elle est indisposée, point d'interrogation.
'''Boudin noir''' : Point d'interrogation, pour une bohémienne, elle a une voix de bouveuse, hein.
'''Gérard''' : Bon. T'envoies un disque.
'''Merguez''' : Point d'interrogation, on lui parle de vaches et ça l'excite.
'''Gérard''' : Allez, hop.
'''Manu''' : Non, non, pas de disque, c'est pas possible.
'''Gérard''' : Non, non, Max ! Max ! Max !
'''Phildar''' : Non, il n'est pas là ! Il faut que tu continues.
'''Gérard''' : Non, non, moi je vous balance un disque. Troisième [question], vous allez réfléchir, moi je fais une pause.
'''Coquer''' : J'ai pas répondu, moi.
'''Gérard''' : Non non, Cocker, t’attends !
'''Phildar''' : Cocker il voulait répondre.
'''Gérard''' : C'est pas toi qui commandes, c'est moi.
'''Phildar et Manu''' : On n’a pas de disque, on n’a rien, donc pose ta question.
'''Gérard''' : Tu te démerdes.
'''Manu''' : Non, bah non... Bah chante alors !
'''Gérard''' : Non, non, tu te démerdes, moi je continue pas avec vous deux. Allez, hop, c’est basta !
'''Phildar''' : Bon, on va chercher Olivier de la prod. ''[il ouvre la porte et appelle Olivier, en criant]''.
'''Manu''' : Allez, allez ! Gérard, pour les auditeurs... Vous êtes là ? Ça vous plaisait le débat ? Tout va bien ?
'''Gérard''' : Non, non, vous êtes en train de faire les cons tous les deux...
'''Manu''' : Mais non, c’est toi qui veux pas continuer, Gérard !
'''Reego''' : Continue le débat, Gérard, il y a des gens qui s’intéressent au moins.
'''Gérard''' : Donc, Point d'intrrogation ?
'''Point''' : Oui, donc je te dis : les fermiers pourraient en avoir des conséquences. Et comme disait... les animaux, c’est vrai qu’ils peuvent avoir aussi des conséquences, telles des séquelles, tu vois, des choses comme ça.
'''Moustique''' : Dans quel sens ?
'''Gérard''' : Euh dans quel sens, Moustique, tu arrêtes s’il te plaît !
'''Moustique''' : Mais non, mais j’ai pas compris là !
'''Gérard''' : Non, mais tu arrêtes de dire "dans quel sens", parce qu’avec Phildar et Manu, c’est toujours "et pourquoi ?" et "dans quel sens ?". OK, d’accord. Bon, Puceau ?
'''Puceau''' : Allô ? Oui, moi je trouve que tu as raison là-dessus et je te donne carte blanche, je suis à 100 %.
'''Gérard''' : Tu n’as même pas compris la question !
'''Puceau''' : Bah si ! Si le coq avait un décalage horaire par rapport à la poule... Là, je suis d’accord avec toi.
'''Gérard''' : OK. Cocker ?
'''Cocker''' : Moi je pense que ce n’est pas les fermiers, mais plutôt les animaux qui subissent des conséquences, parce que le coq ne chante plus à l’heure. Donc il a des troubles psychologiques.
'''Merguez''' : Ouais, bah moi je pense pareil, quoi. Je pense plutôt que c’est les animaux qu’ont plus de conséquences parce qu’e bon on se comprend, eux, ils ont pas de montre, alors un coup il se lèvent trop tôt, un coup c’est trop tard, et c’est compliqué, quoi. Il n’y a que le fermier qui sait.
'''Puceau''' : Oui, mais moi je dis pas... alors comment ils font ? Après c’est Puceau... Moi je veux dire, Gérard, t'as raison, c'est les animaux parce que moi j’en connais un, quand il prend son joker, il est un peu dépoussolé, quoi.
'''Gérard''' : Ouais... Alors Puceau, tu sais ce que tu vas faire ? Tu vas te faire dépuceler au standard. Pour Puceau, terminé pour lui ! Allez, on continue. Donc, je réponds quand même à la question si ça dérange personne, et on va envoyer un disque.
'''Manu''' : Ah bah non, pas tout de suite ! Encore une question et après on l’envoie.
'''Gérard''' : Ouais, moi je peux vous dire une chose : quand je dis "les fermiers", oui, ils supportent... ils ont du mal à supporter le décalage d’heure parce que pour la récolte de tout ce qu’ils ont à faire, ils n’y arriveront pas. Ça...
'''Manu''' : Mais vas-y ! Mais vas-y, je coupe les auditeurs pour que tu puisses parler.
'''Gérard''' : Donc, moi je peux vous dire une chose que là, je me suis aperçu hier en allant se balader : c’est que dans certains coins, le maïs, pour l’instant, ils n’arrivent pas à le récolter
'''Phildar''' : Pourquoi ?
'''Boudin noir''' : Parce qu’ils se lèvent plus tôt le matin avec le décalage horaire, le maïs, il comprend plus rien.
'''Gérard''' : Non, non, non, non, parce qu’avec le temps qu’ils ont, ils peuvent pas le récupérer.
'''Phildar''' : Est-ce qu’on change d’heure quand on va en Allemagne ? Puisque tu es allé en Allemagne hier, Gérard, est-ce que tu as dû changer d’heure ou pas ?
'''Gérard''' : Non, c’est toujours la même heure, l’heure française pour l’instant.
'''Phildar''' : Parce que ce que je comprends pas, c’est pourquoi on change d’heure en Italie et on change pas d’heure en Allemagne.
'''Gérard''' : Parce que le décalage d’heure... le décalage horaire en Italie, je sais pas s'il y a un décalage horaire.
'''Phildar''' : Il y a une heure en moins.
'''Gérard''' : Non, je pense pas.
'''Phildar''' : Si, si, si, je suis allé en Italie, je te jure, il y a une heure en moins !
''Manu ''' : Je croyais que ça venait des fuseaux horaires parce qu’en Italie ils en ont, et en fait en Allemagne ils portent des pattes d'eph, donc...
'''Gérard''' : Ouais, c’est ça... Faites votre popote hors antenne tous les deux ! Troisième question... et après on s’envoie... quatrième, pardon : Croyez-vous qu’on dépense moins de courant ? On va demander à Moustique.
'''Moustique''' : Ouais, alors ça c’est une légende urbaine. En fait c’est complètement faux, parce que tout le courant que tu économises le soir, tu le brûles le matin. Donc ça sert à rien du tout.
'''Gérard''' : De toute manière que tu le dépenses le matin ou le soir, c’est pareil.
'''Moustique''' : Voilà, donc le problème est le même.
'''Gérard''' : Donc en fin de compte, si tu veux, le décalage horaire ça sert à rien, parce que par exemple là tu allumes ta lumière, il est 2h10. Demain matin, tu vas rallumer ta lumière, il va être... ça dépend à quelle heure tu te lèves et ça dépend ce que tu fais comme boulot. Bon attends, derrière, toi tu la fermes ! D’accord ? Pour l’instant je réponds à Moustique. OK ? Alors toi, tu la fermes, OK ! Donc selon ce qu'on fait comme boulot, c’est pareil le matin, tu allumes ta lumière pour te préparer... Donc en fin de compte, tu n’économises pas du tout, tu n’économises pas de courant et tu en dépenses autant. Donc en fin de compte, ça sert à rien.
'''Reego''' : Gérard ? Oui, Gégé, sur IRC il y a Coyote Bip qui me demande ce que tu penses du décalage horaire de l’espace.
'''Gérard''' : Justement, c’est une question qu’on allait faire à la fin.
'''Merguez''' : Ouais, parce que si des ovnis viennent chez nous, comment on fait pour être à la même horaire ? Parce que imagine... imagine qu'ils n’ont pas l'heure que nous, ils viennent la nuit, qui sera là pour les accueillir ?
'''Moustique''' : Et ils ont quelle heure ?
'''Merguez''' : Bah oui mais on sait pas, parce qu’on n’arrête pas de décaler... alors c’est le bordel, quoi. Faudrait qu'on se mette tous d'accord.
'''Gérard''' : Point d’interrogation...
'''Point''' : Tu sais, tu es obligé d’allumer la lumière, même les personnes qui veulent faire des mots croisés ou quoi que ce soit, ils sont obligés d’allumer la lumière en même temps. Même les gens qui sont aveugles, ils sont obligés d'allumer la lumière.
'''Merguez''' : Parce que tu vas nous faire croire que tu fais des mots croisés peut-être ?
'''Gérard''' : Allez, hop ! tu me vires ! Tu me vires ! tu me changes parce que là... depuis que Max est parti, là vous me faites que déconner.
'''Manu''' : Tu veux qu'on te change, Gérard, t'as fait pipi ? Autant pour moi.
'''Boudin noir''' : Moi déjà, je vais te dire : je suis un homme des bois. Donc déjà j’habite dans les bois, comme tu as compris, et je me chauffe à la bûche et je m’éclaire à la chandelle. Donc à la limite, tes histoires de courant, je n’en ai rien à carrer. Je crois que toi aussi, t'es un peu un homme des bois quand même.
'''Gérard''' : Ben ferme-là, ça vaudra mieux. Faudra-t-il se coucher plus tôt qu’en été ? Et on s’écoute...
'''Phildar''' : Donc ça c’est la question à laquelle ils doivent réfléchir. D’accord ? Tu relances les numéros, tout ça...
'''Gérard''' : 0800 70 5000 et toujours le 36 15 code Fun Radio, rubrique direct. Et on a... on a qui sur le Minitel ? Quentin : « À vous deux, Max et Gérard, me devez 60 000 balles. » Je sais pas ce qu'il voudra dire... Ben tant pis pour toi ! Donc sur l'IRC, qui c’est qu'on doit saluer ?
'''Reego''' : On salue tout le monde : on salue Clifford, Nico-2, Serval, Trois Solos, Lenni, TSM, etc.
'''Gérard''' : Et le numéro IRC parce que je ne le connais pas de tête ?
'''Reego''' : : irc.funradio.fr. Voilà !
'''Gérard''' : Vous pouvez toujours continuer à nous appeler, donc on est toujours là pour la suite des débats à 2h13. Et on va s’écouter "Le Décalage Pubère, sans nous... avec eux...
'''Phildar''' : C’est super, on comprend tout ce que tu dis. ""{Musique]''.
'''Gérard''' : Voilà, c'était Décalage Pubère sont nus avec du pinard et donc vous pouvez toujours nous appeler au 0800 70 5000, toujours 36 15 code Fun Radio et sur IRC, Reego ?
'''Manu et Reego''' : irc.funradio.fr. Allez, allez, on y va, on est là !
'''Gérard''' : Donc on récupère Moustique. 99.6. Couscous.
'''Couscous ''' : Asalam Alaykoum Gérard. J'appelle de Verdun, 93.9.
'''Gérard''' : Point d'interrogation sur 101.9.
'''Point''' : Salut, mon amour.
'''Merguez''' : C'est à moi que tu parles ?
'''Boudin noir''' : Salut cochonne.
'''Gérard''' :Attends, toi ! Qui c’est qui vient de dire "cochonne" ?
'''Phildar''' : Je crois que c’est Petit Slip. Je vais le virer.
'''Max''' : Personne aurait cinq francs ?
'''Phildar''' : Non, désolé.
'''Gérard''' : Cinq francs ? ''[il fouille dans ses poches et sort une pièce de monnaie]''.
'''Manu''' : Gérard a cinq francs... Oh là là ! Mais qu’est-ce qui se passe ? On aura tout vu.
'''Gérard''' : C’est bizarre la fréquence là, Boudin Noir ! T’es de quel coin ?
'''Boudin noir''' : Toulouse Nord. Il y a deux fréquences à Toulouse, il y a Toulouse Nord et Sud, c'est pour ça.
'''Gérard''' : Ouais, c’est ça. Bon, Cocker, au 93.9...
'''Cocker''' : Bonsoir ma caille.
'''Gérard''' : Je suis pas ta caille, et tu commences à te calmer, sinon tu vas dégager.
'''Boudin noir''' : OK chéri.
'''Phildar''' : Je le calme.
'''Gérar''' : S’il te plaît tout de suite. Et tu éteins ton micro quand... après.
'''Coker''' : Quand tu parles...
'''Gérard''' : Petit Sucre ?
'''Petit Sucre''' : D'Amiens.
'''Boudin''' : Ça va ma poule ?
'''Gérard''' : Toi, ça va être pareil, tu vas aller voir au standard ce qui se passe, hein !
'''Petit Sucre''' : OK, d’accord, j’arrête alors.
'''Gérard''' : Donc la question c’est : "Faudra-t-il se coucher plus tôt qu’en été ?" Donc on va demander à... tiens, Petit Sucre.
'''Petit Sucre''' : Ouais, ouais... Bah non, pourquoi se coucher plus tôt ? C’est en hiver qu'on se couche plus tôt, parce que l’été tu as une heure de plus, donc le soleil dure plus longtemps. bah ouais, tu comprends ?
'''Gérard''' : Non, maintenant... Tu t’écrases quand je parle s’il te plaît !
'''Boudin''' : Alors ta gueule !
'''Gérard''' : Ta gueule, il t’emmerde ! Alors tu dégages !
'''Phildar''', ''[sévère]'' : Il parlait à Petit Sucre... arrête un peu, Gérard, tu suis un peu le débat un peu ?
'''Gérard''', ''[crescendo vers le hurlement]'' : Attends, tu permets ? Il y en a un qui me dit... oh oh oh... Tu vas t’occuper de ton standard toi !
'''Manu''' : Gérard ! C’est Manu. Écoute-moi, on va reprendre le débat et c’est pas à toi qu’il disait ça.
'''Gérard''' : Cocker ? Non, attends, Petit Sucre n’a peut-être pas fini.
'''Petit Sucre''' : Ouais, bah oui, je te disais que donc... l’été on se couche une heure plus tard parce qu’on a du soleil une heure plus tard parce qu’on a une heure en moins, donc le soleil se couche plus tard. C'est l'’hiver, où on se couche plus tôt, il faut se coucher plus tôt. ''[sur la dernière phrase, dans un combiné, on entend un bruit d'eau qui coule d'un robinet dans un lavabo]''.
'''Gérard''' : Tu sais pas d’où ça vient ça, toi ?
'''Phildar''' : Attends, je vais essayer... Ah oui, ça venait de chez Couscous.
'''Petit ucre''' : Ça t’intéresses pas ce que je dis ? Tu me posais une question, je te réponds tranquillement...
'''Gérard''' : Si, mais je répondrai... Tu permets ? TU PERMETS ?! OK, merci. Reego ?
'''Reego''' : Oui, sur IRC il y a Serval qui demande : "Alors, est-ce que c’est à cause du décalage horaire que les chauffeurs de Mercedes s’endorment au volant ?"
'''Gérard''' : Alors là, j’y réponds pas. Là, tu peux y mettre... Non.
'''Reego''' : Mais il t’entend. Tu peux lui dire... Il s'appelle Serval. Tu lui dis : « Serval, non... ».
'''Gérard''' : Serval, je peux te dire ta question, de toute manière je te répondrai pas dessus, parce que je sais à quoi tu veux en venir. Alors Cocker ?
'''Cocker''' : Je vais en discothèque.
'''Gérard''' : Cocker ?
'''Cocker''' : Oui ? Ah bah non, c’est le décalage horaire, je me suis trompé de débat.
'''Gérard''' : Bon bah OK ! Alors si tu t’es trompé de débat... Cocker ? Tu vas répondre ou pas à la question ?
'''Cocker''' : Bah non... La différence d'âge...
'''Gérard''' : Bonne nuit Cocker ! Terminé pour toi ! Boudin Noir ?
'''Boudin Noir''' : Ouais, moi je pense tu vois que... ça, ça dépend sous quelle latitude tu te trouves.
'''Gérard''' : Non, mais faudra-t-il se coucher plus tôt qu'en été ?
'''Boudin noir''' : Ça dépend, parce que, regarde, je vais te citer un exemple. Je regardais Star Trek, il y avait le Capitaine Kirk, il y avait Spock. Il y avait une téléportation, il y avait un décalage horaire.
'''Gérard''' : Non, mais attends, je ne vois pas du tout le rapport.
'''Boudin noir''' : Mais si, réfléchis un petit peu, c'est de la philosophie, c'est une énigme. C'est comme le père Fouras.
'''Gérard''' : Non, non, attends, boudin noir. Boudin noir, on fait un débat, on ne s'amuse pas...
'''Boudin''' : Mais ça dépend de la latitude.
'''Gérard''' : Moi, quand je fais un débat, je n'aime pas que vous vous amusez à dire « ouais » dans les...
'''Boudin noir''' : C'était une métaphore.
'''Gérard''' : Ok, d'accord. Je pense que tu es loin de comprendre le deuxième degré.
'''Boudin noir''' : J'ai du mal, le vocabulaire, j'ai du mal.
'''Gérard''' : Je pense que tu as du mal. Point d'interrogation.
'''Point''' : Oui, je pense qu'on sera obligé de se coucher un peu plus tôt que d'habitude.
'''Gérard''' : Dans quel sens ?
'''Point d'interrogation''' : Dans quel sens ? Si tu travailles ou si tu vas à l'école, tu es obligé de te coucher plus tôt.
'''Merguez''' : Alors va te coucher, c'est l'heure.
'''Gérard''' : Qui c'est qui vient de dire ça ? Alors, entre petit sucre et boudin noir, vous allez vous calmer, s'il vous plaît. Non, non, mais vous allez vous calmer, parce que je sens que c'est moi qui vais vous calmer tout à l'heure.
''Point ''' : Tout dépend si tu as envie de dormir ou pas.
'''Gérard''' : Non, mais attends. PHildar, tu vas commencer par me les calmer, parce que sinon... t'arrêtes pas ? pas, mais je crois que tu ne vas pas arrêter de les calmer, parce que sinon, il reste quatre questions à faire. Il est quelle heure ? Il est 2h23. Dans moins de 22 minutes, j'arrête tout.
'''Phildar''' : Ah non mais on change d'heure aujourd'hui. Il te reste 1h23 à faire.
'''Gérard''' : Oui, oui. Oui, Reego ?
'''Reego''' : Sur IRC, il y a Galéon qui demande : est-ce que l'hiver décale l'horaire de l'été ?
'''Gérard''' : Ben oui. En hiver, tu recules d'une heure ta montre. Donc là, si tu veux, les 2h24, ça fera 1h24.
'''Boudin''' : ON avance, on avance.
'''Gérard''' : Non, tu recules. Tu recules. En hiver, tu recules ta montre d'une heure. En été, tu l'avances d'une heure.
'''Boudin''' : Quand je recule, comment veux-tu ?
'''Gérard''' : Que je t'encule, d'accord ? Merci pour la blague, je la connais par cœur.
'''Manu''' : Et Gérard, il paraît qu'avec le décalage horaire à New York, quand il est midi, il y a beaucoup de gens qui sont en train de bouffer. C'est vrai ou pas ?
'''Gérard''' : Attends, là, il est 2h25, on dort, nous.
'''Manu''' : Non, mais je te parle à New York. Est-ce que tu penses que les gens sont en train de manger ?
'''Gérard''' : Non, mais attends. Quand il est midi à New York, vous, vous êtes en train de faire de la radio. Donc là, à l'heure actuelle, si tu veux, il est 2h24, donc nous, pour l'instant, on est en train de dormir.
'''Manu''' : Quel rapport avec les gens qui mangent à New York ?
'''Boudin''' : Pour eux, il est 15h du matin.
'''Merguez''' : Mais Gérard, quand les gens t'écoutent à New York, il est quelle heure, là-bas ?
'''Petit sucre''' : Est-ce qu'ils peuvent t'écouter, au moins ?
'''Gérard''' : De tte manière, tu regardes, tu fais un décalage, il est 2h25, tu fais moins 6h. Ça fait 12h25.
'''Couscous''' : Attends, mais Gérard, mais tu fais un balayage arrière ou avant ?
'''Gérard''' : Attends, c'est qui, lui ?
'''Phildar''' : C'est Couscous. ''[rot dans un combiné]''.
'''Gérard''' : Bon, attendez, attendez. Oh là. Alors, déjà, Phildar. Tu me calmes Boudin noir et sucre. Tu vas me les calmer tous les deux ! Parce que le premier qui rote, Je l'éclate. ''[le bruit reprend, Phildar ne bouge pas, Gérard tape sur la table]''. C'est toi que je vais t'éclater.
'''Phildar''' : Comment veux-tu que je rote avec le micro fermé ?
'''Merguez''' : Gérard, comment ça se fait qu'il y a pratiquement pas de femmes dans ton débat, ce oir ?
'''Gérard''' : Si, il y a moustique et point d'interrogation.
'''Couscous''' : C'est pas une femme, point d'interrogation. C'est une boule d'éléphant.
'''Gérard''' : Alors, Couscous. COUSCOUS !
'''Couscous''' : Mon cousin Gérard, tu vas bien ?
'''Gérard''' : Bon, tu réponds à la question, s'il te plaît.
'''Couscous''' : Ok, alors moi, écoute. Je suis comme toi, je vais au resto du cœur et je crois qu'en hiver, on mange plus tôt à 3h de l'après-midi. Donc, on peut se coucher plus tôt, tu as raison.
'''Moustique''' : Ben moi, je me couche plus tard en été, ouais. Parce qu'il fait beau et puis que je suis en vacances, donc je me couche plus tard.
'''Gérard''' : Ben voilà. Ouais, pourquoi ? Parce qu'en fin de compte... ''[Ouais est dit de manière légère, comme en espagnol. Phildar réagit directement en se moquant : Ouepa et Manu enchaîne sur Un, dos tres de Ricky Martins. Gérard se tourne vers Phildar et veut le frapper, mais reego le retient.]''.
'''Reego et Manu''' : Arrête, Gérard !
'''Gérard''' : Toi, tu te calmes là-bas, ok ? Parce que sinon, je t'éclate.
'''Manu''' : Oula. Ça va être chaud pour ton matricule, Phil.
'''Gérard''' : Toi, tu ne vas pas continué comme ça. Donc, je réponds à... Qui c'est qui m'a posé la question ? Non, c'est Moustique. Donc, moi, je vais dire une chose, que le mieux, c'est... ''[un rot]''. Manu, fais gaffe.
'''PHildar''' : Je t'éclate.
'''Gérard''', ''[le sourire gêné]'' : Hien Reego ?
'''Reego''' : Non c'est juste pour rire, j'ai...
'''Gérard''' : Non, non, mais... Arrêtez quand je réponds aux questions, parce que sinon, moi, je ne réponds pas. Je fais le débat sans répondre à aucune question.
'''Manu''' : Vas-y, réponds, réponds, réponds.
'''Gérard''' : Donc, je réponds à Moustique. Donc, c'est vrai que tu peux te coucher plus tard l'été, parce que le soleil, de toute manière, la nuit vient plus tard. Tu es d'accord avec moi ?
'''Moustique''' : Oui.
'''Max''' : Par exemple, excuse-moi, je pensais à un truc, parce que je me dis, par exemple, quand on dit le soleil vient de se lever, c'est encore une belle journée. On va bientôt s'amuser, l'ami Ricoré. C'est considéré comme du décalage horaire ou pas, ça ?
'''Gérard''' : Ça, je ne peux pas. Je ne peux pas te répondre là-dessus.
'''Boudin''' : Ah ouais, d'ailleurs, attends, Gérard, l'ami Ricoré, il vient toujours à la même heure ou pas ? C'est une question intéressante.
'''Merguez''' : Ah ouais, en fait, comment il fait, lui, pour le décalage horaire ?
'''Boudin''' : L'ami Ricoré, il a une heure, pendant une heure, il se fait chier, en fait, en hiver.
'''Gérard''' : Bon, il se fait chier. Si tu as envie de chier, tu vas à la deuxième porte à droite. Bon, pour l'instant, je réponds à la question à Moustique, s'il vous plaît. Merci.
'''Couscous''' : Gérard, tu as raison, parce que la deuxième porte à droite, c'est les chiottes de la Loco.
'''Gérard''', ''[sourire gêné, tentant maladroitement l'accent arabe sur le prénom]'' : Couscous tu vas te calmer. Tu te calmes, parce que cette histoire de chiottes de la Loco, je ne veux pas en entendre parler cette année.
'''Moustique''' : Gérard, tu sais, dans la chanson, il est 5h, Paris s'éveille. En hiver, c'est les 6h.
'''Gérard''' : Ouais, si tu veux. Bon, je réponds à ta question, quand même, parce que je ne voudrais pas qu'on s'éternise trop sur la même question. Alors, donc, moi, je peux te dire que c'est vrai qu'en été, tu peux te coucher vachement plus tard, parce que, bon, déjà, à 10h, il fait encore jour. Ouais, mais même, tu n'as pas besoin de faire la fête, tu peux te balader dans...
'''Boudin noir''' : Ouais, non, tu vas en soirée techno, tu vas à Cannes et tout, c'est bon.
'''Gérard''' : Non, mais ça y est, je réponds, s'il vous plaît, merci. Vous arrêtez de me couper sans arrêt. Donc, je réponds à Moustique. Donc, c'est vrai que tu peux te coucher plus tard la nuit, en été. Parce qu'à 10h, il fait quand même encore jour. Par rapport à maintenant, c'est qu'à partir de 8h, la nuit est carrément tombée. Là, tu ne peux plus rien faire.
'''Manu''' : Ouais, mais si chez toi, tu fermes les volets en été, il fait quand même...
'''Gérard''' : Bah non, mais même, de toute manière, en été... Non, mais que ce soit été comme hiver, de toute manière, tu as toujours du jour. Tu n'as pas besoin d'allumer ta lumière, même en ayant fermé les volets.
'''Manu''' : Même pour dormir, en fait.
'''Gérard''' : Moi, je ferme les volets de la chambre, c'est tout. Dans la salle, c'est allumé. Dans la cuisine, c'est allumé. Mais tu peux demander à point d'interrogation.
'''Phildar''' : Excuse-moi, Gérard, deux secondes avant de continuer. On accueille Loudné à la place de Coquer.
'''Gérard''' : Non, mais... Je te préviens. Ne me fais pas changer les noms. Non, Loudné, il est d'où ?
'''Phildar''' : Loudné, t'es d'où ?
'''Loudné''' : De Marseille. ''[Manu renifle, le nez encombré]''
'''Gérard''' : Fréquence ?
'''Phildar''' : 103.1.
'''Gérard''' : Celui qui ronfle, merci. Donc, les enfants souffrent-ils de ce...
'''Point''' : Je n'ai pas répondu. Point d'interrogation.
'''Merguez''' : Oui, mais ce n'est pas grave, tu comprends...
'''Gérard''' : Oh ! Vous fermez vos... Vous vous la fermez, s'il vous plaît, derrière. Merci.
'''Point''' : Tu peux me répéter juste la question.
'''Gérard''' : Alors, faudra-t-il se coucher plus tôt qu'en été ?
'''Point''' : Oui, je pense qu'il faudra se coucher quand même plus tôt qu'en été.
'''Gérard''' : Et pourquoi ?
'''Point''' : Parce qu'en été, tu vois, tu n'es pas obligé d'allumer la lumière, déjà, en été, qu'en hiver... Et je pense que tu peux te coucher plus tôt.
'''Gérard''' : Oui, mais... Non, mais comme Max, il posait la question, ou même Manu ou Phildar, je ne sais plus qui c'est, ou Reego, qui a posé la question. Si, par exemple, tu fermes les volets de la salle à manger ?
'''Point''' : Ben oui, là, t'es obligé d'allumer.
'''Gérard''' : Ah bon ? Tu penses qu'il faut allumer la...
'''Boudin noir''' : Non, non, quand on voit ta gueule, il vaut mieux éteindre.
'''Point''' : Ben, si tu n'es pas content, tu ne me parles pas.
'''Gérard''' : Non, non, non, attends, attends, attends, point d'interrogation. Maintenant, je veux savoir qui c'est qui a dit, quand tu vois ta gueule, machin chouette.
'''Manu''' : Dénoncez-vous, les mecs.
'''Boudin noir''', ''[voix efféminée]'' : C'est Richard.
'''Manu''' : Allez, Richard, dehors.
'''Point''' : Regarde déjà la tienne, ce sera déjà pas mal, hein.
'''Boudin''' : Oh, je viens d'arriver, je viens d'arriver, arrêtez.
'''Phildar''' : Non, Richard, tu vires, c'est tout.
'''Boudin''' : Ah, je me suis laissé aller, excusez-moi. Excusez-moi, je ne le ferai plus, allez, j'arrête.
'''Merguez''' : Ben, c'est vrai que c'est tentant.
'''Manu''' : Allez, Gérard, on y va.
'''Gérard''' : Donc, moi, je pense que tu as répondu quand même aux questions qu'on avait dites ? Attends, il y a... point d'interrogation... il y a une question IRC.
'''Reego''' : Oui, ça la concerne, en plus, c'est TSM qui me demande, enfin, qui te demande s'il y a un décalage horaire entre la fesse gauche et la fesse droite du point d'interrogation.
'''Phildar''' : Non, il y a un trou.
'''Reego''' : Pour ne pas la citer, hein, c'est Sandy.
'''Boudin''' : À peu près 70cm.
'''Reego''', ''[regard désespéré de Gérard]'' : C'est pas Snady, le point d'interrogation ?
'''Manu''' : Mais non !
'''Reego''' : Ah pardon, excusez-moi.
'''Phildar''' : T'es vraiment une cave, Reego.
'''Gérard''' : Alors, les enfants souffrent-ils de ce changement d'heure ?
'''Boudin noir''' : C'est dégueulasse, il ne faut pas laisser les enfants souffrir, c'est boudin, là.
'''Gérard''' : Oh, vous donnez vos noms, s'il vous plaît.
'''Boudin''' : Ouais, je dis, il ne faut pas laisser les enfants souffrir. C'est dégueulasse ce que fait le gouvernement avec le décalage. Les enfants, ils souffrent, ce n'est pas bien.
'''Gérard''' : Non, mais attends, ce n'est pas le gouvernement qui a décidé de changer d'heure.
'''Boudin''' : C'est qui, le décalage horaire, alors, d'après toi.
'''Couscous''' : Bon, ben, c'est Couscous. Moi, je crois aussi que les enfants, ils souffrent trop. Et moi, je suis d'accord avec toi, Gérard, que tu as beaucoup souffert lorsqu'on t'a mis dans la machine à laver. Ils t'ont mis en essorage, toi.
'''Gérard''' : Couscous ? Ça se voit qu'il y a longtemps qu'on ne t'a pas eu, parce que pour l'instant, tu es en train de déconner. Ouais, mais heureusement que tu es là pour mettre un peu du piment, mais...
'''Couscous''' : C'est pas du piment, c'est de la harissa.
'''Gérard''' : Ouais, mais Couscous ?
'''Couscous''' : Oui, mon cousin Gérard.
'''Gérard''' : Eh, calme-toi, on reprend là gentiment, mais déconne pas trop. On va demander à... Donc, pour toi, Couscous, les enfants, ils souffrent ou pas, toi ?
'''Couscous''' : Couscous, ils souffrent un maximum. Ouais, c'est comme si tu mangeais de la harissa.
'''Moustique''' : Ouais, bah je sais pas, moi je me souviens pas quand j'étais enfant, si je souffrais, donc... Les autres, je sais pas, ça c'est leur problème. Moi, je me souviens pas. Parce que quand j'étais petite, on changeait déjà d'horaire, et je me souviens pas si je souffrais.
'''Gérard''' : Non, mais attends. T'habites où, toi ?
'''Moustique''' : Euh, j'habite Poitiers.
'''Gérard''' : T'habites Poitiers ? T'as quel âge, sans indiscrétion ?
'''Moustique''' : 21.
'''Gérard''' : Euh, 21, et... Euh, t'as jamais souffert du décalage d'horaire depuis le temps qu'on en parle ?
'''Moustique''' : Bah, je m'en souviens pas, hein, quand j'étais petite, quand j'étais bébé, je sais pas si j'en souffrais, hein.
'''Manu''' : De toute façon, c'est tous les 22 ans, donc elle peut pas s'en souffrir.
'''Gérard''' : Non, c'est pas tous les 22 ans, c'est tous les ans qu'on change d'heure, hein.
'''Manu''' : Ah bon ? Ouais, mais avec le décalage, ça revient à 22 ans pour la Grèce.
'''Gérard''' : Non, non, attends, elle habite pas en Grèce, alors arrête tes conneries, toi. Bon, Boudin Noir ?
'''Boudin''' : T'as déjà répondu tout à l'heure, faut pas laisser les enfants souffrir, c'est pas bien. Tu veux traumatiser les futures générations ?
'''Petit sucre''' : Ouais, bah moi, je dis, je comprends pas du tout pourquoi on parle des enfants, euh... Je vois pas trop ce que ça a à faire là-dedans, hein. Faut les laisser tranquilles, les enfants. Faut vraiment que tu parles des enfants, quoi, parce que pour eux, c'est très dur de supporter ça. Et voilà, quoi, tu vois, en ce moment, là, s'il y en a qui nous écoutent, et bah, on est en train de leur rappeler des mauvais souvenirs.
'''Boudin''' : Voilà, on est avec vous, les enfants, on est avec vous.
'''Petit sucre''' : On n'est pas mercredi, c'est pas le jour des enfants, alors...
'''Boudin''' : Je veux dire, comme disait la Bardot, il faut sauver les bébés-enfants, hein.
'''Petit sucre''' : Ah, non, mais tu vois, je trouve vraiment que c'est trop facile, quoi, de parler des enfants comme ça, à la radio, hein.
'''Gérard''' : Alors, moi, je vais te répondre, petit sucre. C'est pas parce qu'on parle des enfants, c'est qu'il y a des nouveaux-nés, ils souffrent, quand même, pour prendre leur biberon. Parce qu'avec le décalage horaire, on ne sait plus à quelle heure leur donner. On est bien d'accord ? ''[applaudissements et ovation par Manu et Phildar]''. Donc, on parle pas d'autres enfants, on parle de ceux qui viennent de naître pour leur donner leur biberon.
'''Petit sucre''' : Ouais, bah, tu sais, ceux qui viennent de naître, c'est dur, la vie avec eux, tout ce qu'ils voyaient à la télé, tout, l'affaire Clinton, le décalage horaire...
'''Gérard''' : Non, mais attends, attends, attends, je vois pas le rapport là-dessus, d'accord ?
'''Petit sucre''' : Bah, eux, ils voient ça dès qu'ils sont tout petits.
Non, non, mais attends, ils comprennent rien, quand ils sont...
'''Gérard''' : Tiens, tiens, tiens, tu les prends pour des cons.
'''Petit sucre''' : Ils sont pas cons, ils comprennent.
'''Gérard''' : Non, mais ils sont moins cons que toi. D'accord ? Loundé ?
'''Loudné''' : Bah, moi, je pense que, oui, les jeunes enfants souffrent, parce que, mettons, un enfant qui, mettons, va faire sa crotte à 6h, lorsqu'il change d'heure, il la fait dans son lit.
'''Gérard''' : D'accord, je vois pas le rapport. Reego, t'avais une question IRC ?
'''Reego''' : Oui, c'est Coyote Bip qui te demande si c'est pas trop dur à gérer le décalage horaire quand on sait pas compter.
'''Gérard''' : Mais ça, je vois pas le rapport. Y'a pas besoin de savoir compter pour le décalage horaire. Donc, euh... Ouais, bah, il nous reste encore 10 minutes, donc, euh...
'''Petit sucre''' : Et moi, j'ai une question, Gérard. Toi, t'as pas peur d'arriver une heure plus tôt à la Loco avec le décalage horaire ?
'''Gérard''' : Alors, moi, je vais te dire une chose, que à la Loco, j'y vais plus. D'accord ?
'''Max''' : Quand est-ce que tu reviens, d'ailleurs ?
'''Gérard''' : Non, non, non, non ! Non, non, non, mais attends ! Moi, je vais répondre... Attendez, s'il vous plaît ! Parce que vos histoires de conneries, les chiottes de la loco et tout ça, maintenant, vous allez arrêter de me casser les couilles avec ça ! Parce que je commence à en avoir ras-le-bol ! Et celui qui s'amuse à envoyer des conneries chez moi, t'arrêtes encore ! Et maintenant, je vais demander à Phildar et à Manu, qui c'est qui a donné le numéro de portable ?
'''Manu''' : Mais c'est pas nous, Gérard ! On va pas revenir là-dessus, on va reprendre le débat, c'est pas nous, quoi !
'''Gérard''' : Non, non, non, mais moi, je vais régler mon histoire, maintenant ! Non, non, mais juste avant la huitième, maintenant, je veux savoir qui c'est qui a été balancer... Qui c'est qui nous a mis un papier dans la boîte aux lettres en nous donnant un numéro ?
'''Manu''' : Bah, j'en sais rien, moi !
'''Reego''' : C'est pas le thème du débat !
'''Gérard''' : Non, non, mais je préfère en parler quand même entre deux !
'''Point''' : Non, non, mais t'en parleras après, c'est pas grave ! Moi, j'ai pas répondu à la question, hein ! Donc, les bébés, oui, ils en souffrent, hein, parce que dès que tu leur donnes le biberon, déjà, qu'ils veulent pas le prendre, déjà, ils ont pas envie de le prendre, ils le prennent quand ils veulent, mais je pense qu'ils en souffrent beaucoup, hein, du décalage horaire, quand même, hein !
'''Gérard''', ''[tourné vers Reego, déconcentré]'' : Ouais, d'accord ! C'est bien ! Ouais, non, mais... Non, parce qu'il y a Reego qui voulait me dire quelque chose, euh... Donc, la huitième, le soleil est-il responsable du décalage horaire ? Moustique ?
'''Moustique''' : Bah, bonne question, là, tu vois, j'ai réfléchi, euh... Je pense que ça vient plutôt de la Lune et avec les marées.
'''Couscous''' : Moi, je suis d'accord avec toi, Gérard, parce que lorsque tu es resté trop longtemps au soleil, je crois que ton cerveau a fondu, et puis il y a eu un décalage horaire...
'''Gérard''' : Non, mais il n'y a pas que le savon qui fond, il y a pas mal de trucs, hein !
'''Couscous''' : Mais toi, en tant qu'ex-enfant, tu as souffert ?
'''Gérard''' : Euh, oui !
'''Couscous''' : Tu as beaucoup souffert, je crois, hein !
'''Gérard''' : Ouais !
'''Couscous''' : Tu peux nous en parler un petit peu ?
'''Gérard''' : Non, non, mais ça, ça, c'est un truc que j'ai souffert, que je dirais pas sur l'antenne, parce que ça regarde personne !
'''Phildar''' : T'as souffert du décalage horaire, Gérard ?
'''Gérard''' : Non, mais attends ! Parce que si tu veux, si tu veux, si tu veux, on arrête là, sur la huitième...
'''Phildar''' : Non, mais je te pose la question !
'''Gérard''' : Non, mais attends ! Non, mais attends ! Attends, attends, attends ! Attends, Phildar ! Phildar, moi, si tu veux, on arrête à la huitième, moi, je vais parler de toute ma vie !
'''Phildar''' : Ah non, bah non !
'''Boudin''' : Non, non, franchement, on s'en fout !
'''Gérard''' : Parce que sinon, moi, le prochain débat, on fait pourquoi l'enfance abandonnée.<ref name="explic3"></ref> Ça, si tu veux, là...
'''Phildar''' : On parlait du décalage horaire sur les enfants, c'est pour ça !
'''Gérard''' : Non, non, mais attends ! Mais dans ces cas-là, moi, je veux bien ! Mais moi, la semaine prochaine, on fait un débat sur l'enfance abandonnée et là, tu vas voir qu'on va avoir personne au standard ! Parce que ça, c'est un truc que je ne ferais pas !
'''Phildar''' : Ah oui, bah oui ! Non, mais t'as raison ! ''[bruit de rires d'enfants]''.
'''Gérard''' : Parce que... Attends, qui c'est qui se marre comme un perdu, là ? Ouais, bah, moi, je vais vous dire une chose ! Alors, avant de dire des conneries, de se marrer, essayez de comprendre dans votre tête ! Non, non, mais essayez de comprendre !
'''Max''' : Mais toi, t'as envie de nous casser le moral, là ? Non, mais c'est toi qui a inventé, reviens sur le débat !
'''Gérard''' : Alors Phildar, tu te calmes, ok ? Maintenant, t'éteins ton micro, je veux plus t'entendre !
'''Petit sucre''' : Ouais, t'es pas sur Europe 1 là, c'est bon, quoi !<ref name="hist3"></ref>
'''Boudin''' : Ouais, Gégé ! Gégé, c'est Boudin Noir ! Ouais, moi, je voulais dire, je comprends tout à fait, je sais que t'as été décalé, et je sais, en fait, que t'es retardé, quoi, c'est ça ?
'''Gérard''' : Non, attends, je vois pas du tout ce que tu...
'''Boudin''' : Attends, toi, t'es en avance, toi, c'est clair, t'es pas en avance, c'est clair ! Donc, bah, si t'es pas en avance, t'es retardé, quoi, je vois que ça !
Gérard''' ''' : Ouais, bah, attends, Boudin Noir ! Pour l'instant, je crois que t'es à côté de la plaque !
'''Boudin''' : Ah, bah, non, je suis en plein dedans, là !
'''Gérard''' : Ouais, bah, je pense que tu ferais mieux d'écouter ce qu'on dit !
'''Couscous''' : Et pourquoi on n'appelle pas Point d'interrogation Boudin ?
'''Gérard''' : Euh, non, parce que le point d'interrogation, c'est son nom ! Euh, Petit Sucre ! Donc, pour toi ?
'''Petit sucre''' : Ouais, ouais, ouais, bah, pour moi, non, je pense pas que c'est la faute du soleil, en fait, ça, c'est l'embrouille, quoi, ça, en fait, on nous ment. Pour moi, c'est... Parce que regarde, avant, ça existait pas, quoi, avant, Gérard, le décalage horaire, il y a, par exemple, 500 ans de ça. On parlait pas de ça ! L'horaire qu'il y avait aux Etats-Unis, tout le monde avait le même horaire ! Et tout ça, en fait, on parle des horaires pour pas parler d'autre chose, tu comprends ? Tu vois ce que je veux dire, tu comprends, toi ?
'''Gérard''' : Ouais, mais attends, c'est pas nous qui avons décidé du décalage horaire !
'''Petit sucre''' : Bien sûr que si, parce qu'avant, il y en avait pas, avant, on en parlait même pas !
'''Gérard''' : Non, Petit Sucre, moi je vais te dire une chose, c'est pas nous qui avons, c'est pas nous, des gens comme tout le monde, c'est pas nous qui avons décidé ça, de changer les horaires. C'est le gouvernement ! Le gouvernement a décidé que maintenant, on changerait d'heure tous les ans, donc normalement, on devrait finir, ça devrait être la dernière année, et apparemment, on est toujours sur le même point. Tout le temps, on nous dit, oui, c'est la dernière année, c'est la dernière année, et en fin de compte, on s'aperçoit qu'on recommence, et ça va repartir l'année prochaine, au mois de mars, on va revenir en heure d'été, donc au lieu d'avancer nos montres, au lieu de les reculer, on va les avancer, au mois d'octobre ou au mois de septembre, septembre-octobre, on va encore reculer nos montres, on va plus savoir...
'''Manu''' : Et comment ça se fait, Gérard, justement, qu'ils ont décidé que c'est la dernière année, pourquoi ?
'''Gérard''' : De toute manière, c'est vis-à-vis du gouvernement, avec toutes les villes européennes, la Belgique a décidé qu'on arrêtait, l'Allemagne a dit on continue, donc ça a été voté à l'unanimité, donc pour qu'on continue. Mais moi, je trouve que pour moi, c'est de la merde de changer sans arrêt, parce qu'en fin de compte, qui c'est qui est perturbé ? C'est les petits bébés, c'est tout le monde, parce que les biberons sont décalés et tout ça, et eux, dans leur tête, ils ne peuvent pas le voir.
'''Manu''' : Et donc, en fait, l'année prochaine, il sera la même heure à New York qu'en France ?
'''Gérard''' : Mais non, je ne vois pas...
'''Manu''' : S'il n'y a plus de décalage horaire, il sera la même heure partout ?
'''Gérard''' : Mais si, mais non, mais de toute manière, le décalage horaire, on l'aura tout le temps. On l'aura tout le temps.
'''Couscous''' : Non, mais Gérard, écoute, c'est Couscous. Moi, je te dis la chose suivante. La semaine dernière, je t'entends parler à la radio le matin, et maintenant, je t'entends parler le soir.
'''Petit sucre''' : Et on a changé d'heure. Même à Fun.
'''Gérard''' : Là, moi, je vais vous répondre. De toute manière, ce n'est même pas à moi de vous répondre. Non, non, ce n'est pas un décalage horaire. C'est pas un décalage horaire, Couscous. Non, mais le matin, c'est pas moi qui avais décidé, c'est mon chef. Maintenant, si le chef, il a décidé de reprendre la nuit, c'est lui qui décide. C'est personne d'autre.
'''Phildar''' : Non, mais là, c'est-à-dire qu'on est en heure d'hiver, c'est tout.
'''Gérard''' : Non, mais attends, mais dans ce cas-là, je ne vois pas ce que tu vas dire, toi, parce que tout à l'heure, je vais t'en coller une, tu vas comprendre le décalage.
'''Manu''' : Oh, il n'a rien dit, il n'a rien dit, Gérard.
'''Phildar''' : Bon, on bosse en heure d'hiver. Allez, Gérard.
'''Reego''' : Bon, pour revenir au débat sur IRC, Gérard, on me demande si le décalage horaire est un pur tube.
'''Manu''' : Non, non, à mon avis, c'est juste un tube.
'''Petit sucre''' : Hé, Gérard, Gérard, j'ai une question, là, c'est petit sucre. Bon, ben, laisse-moi parler, je voulais savoir, avec l'Europe, tout ça,
est-ce qu'on va avoir tous les mêmes horaires, les pays, d'après toi ?
'''Gérard''' : Ben non, de toute manière, tout le monde...
'''Petit sucre''' : Eh ben si, il n'y a plus de décalage, on a tous les mêmes horaires. Quand c'est midi à Paris, c'est midi à Londres, c'est...
'''Gérard''' : Mais non, mais non, mais non, mais non. T'as qu'à trouver un bloc avec des décalages horaires, et tu verras que ce ne sera pas du tout la même heure. Non, non, essayez, essayez, stop, stop, stop, petit sucre.
'''Point''' : Je peux te poser une question ? Donc, moi, je voulais te poser une question : est-ce que tu crois qu'à l'époque de Jésus-Christ, le décalage horaire existait ?
'''Gérard''' : Bouarf là, tu me poses une colle, j'en sais rien, donc je te dis M-E-R-D-E.
'''Manu''' : Oh, carrément ?
'''Point''' : Oh, ben, merci, merci.
'''Gérard''' : Voilà. Donc, ben, je pense qu'on va faire un...
'''Reego''' : On va faire un tarot ?
'''Max''' : Non, mais il faut arrêter vers moins 5, donc on a encore 10 minutes, donc tu n'as plus de questions, là ?
'''Gérard''' : Ben, si, mais moi, je voulais faire un petit break, là.
'''Max''' : Une petite dernière question ? Ben, non, c'est fini, on va faire une question, puis après, on va arrêter, à la rigueur.
'''Gérard''' : Ben, voilà, comme je ne sais plus qui c'est qui avait posé de planète, on va y aller. Sur notre planète, existe-t-il un décalage horaire ? Donc, on va demander à Moustique.
'''Moustique''' : Ouais, alors, il paraît que sur Uranus, ce n'est pas 24 heures, c'est 75, donc c'est tout le bordel, parce que c'est 74 l'hiver, enfin, bon, ils n'arrivent pas à s'en sortir, les pauvres. Et puis, sur Mars, c'est à peu près comme sur Terre, parce que c'est la même grosseur. En fait, ça dépend de la grosseur de la planète. Ça dépend si elle tourne plus ou moins vite, et puis, ben, combien il y a de fuseaux sur la planète.
'''Couscous''' : Moi, j'ai entendu dire que les gens qui ont qu'une couille, ils ont souffert d'un décalage horaire. C'est vrai que toi, tu n'as qu'une couille, je crois, non ? Et l'autre, siliconée ?
'''Gérard''' : Non, mais je suis en train de chercher qui s'amuse à faire des conneries.
'''Point''' : J'ai pas compris la question.
'''Gérard''' : Sur une autre planète, existe-t-il un décalage horaire ?
'''Petit sucre''' : Elle va rien comprendre, déjà qu'elle capte rien sur notre planète, alors ailleurs... Ouais, ben, moi, je vais te dire, comme je disais tout à l'heure, euh, c'est sûr, euh... De toute façon, il faudrait se mettre d'accord avec les décalages horaires. Parce que si c'est un jour, c'est un jour, il y a des extraterrestres qui arrivent, que eux, ont un horaire qui n'est pas par rapport à nous, qui viennent en Europe... En Europe, que nous, on est tous d'accord, et que finalement, après, ils aillent aux Etats-Unis, c'est encore décalé, et finalement, après, ils atterrissent en Russie, euh, on va se planter, on sera... on pourra jamais tous se voir en même temps, tu comprends ce que je veux dire ? Donc, il faut trouver un système pour que ce soit un jour de partout pareil. Tu vois ?
'''Boudin noir''' : Ouais, tout à l'heure, il y avait, je crois que c'était Moustique qui parlait des planètes et de Uranus, ben, moi, je pense que dans l'espace, si on tombe sur le trou noir de ton anus, et ben, c'est clair, il y a un décalage.
'''Gérard''' : Et sur ta connerie ? Eh je pense que ta connerie, tu ferais mieux d'aller voir une nana, euh... une bonne pipeuse, et ça...
'''Petit sucre''' : Vas voir le point d'interrogation, elle est pas trop loin.
'''Gérard''' : Ouais, attends, euh, tu... Boudin noir, tu restes calme avec le point d'interrogation, d'accord ?
'''Boudin noir''' : Oui, ok, excuse-moi, le facocher.
'''Gérard''' : Alors, Boudin noir, tu dégages pour tout le temps. Hop, Boudin noir, tout le temps.
'''Petit sucre''' : Va te faire sucer par le point d'interrogation, allez, hop.
'''Gérard''' : Va le faire sauter, toi, abruti. Aller hop, terminé pour lui. Lui, c'est même pas la peine que je lui demande de...
'''Max''' : C'est mignon, facocher, hein ?
'''Reego''' : C'est... C'est beau, en plus, un facocher.
'''Loudné''' : Bah, moi, personnellement, j'arrive pas à y aller sur les autres planètes, donc je sais pas comment ça se passe.
'''Point ''' : J'ai pas répondu, hein.
'''Loudné''' : Toi, le travelo, ferme ta gueule.
'''Point''' : Non, mais je suis pas un travelo, hein.
'''Gérard''' : Alors, toi, petit sucre...
'''Phildar''' : Non, c'est pas un petit sucre.
'''Gérard''' : C'est qui ?
'''Phildar''' : Je sais pas, j'ai pas le droit de parler.
'''Gérard''' : Ouais, alors, tu me dégages. Loup de nez.
'''Manu''', ''[soufflant par le nez comme pour se moucher]'' : Attends, attends, je l'enlève. Vas-y, c'est bon.
'''Gérard''' : Non, non, tu me les dégages, ces deux-là. Vite fait. Parce que... la fin, c'est moi qui vais la faire. Donc, vas-y, point d'interrogation.
'''Point''' : Bah, je pense que, déjà, sur les autres planètes, je pense qu'il y peut y avoir un décalage horaire mais...
'''Petit sucre''' : Mais tu penses pas toi, tu parles, c'est tout ce que tu fais.
'''Gérard''', ''[hurle]'' : Ah, tu la fermes, ta gueule, toi !
'''Point''' : Mais pour ça, faudrait y aller, dans les autres planètes, pour savoir comment ça se passe.
'''Petit sucre''' : Ouais, t'as raison, tu devrais y aller. Putain !
'''Point''' : Bah, t'as qu'à y aller, toi, si t'es pas content.
'''Petit sucre''' : Et reviens pas, surtout, hein.
'''Point''' : Oh, bah, toi non plus, tu reviens pas.
'''Gérard''' : Hé, connard ! Hé, le connard ! Attends, tu me retires moustique. Tu me mets moustique en R. Tu me mets Couscous en R. Tu me mets point d'interrogation en R. Et tu me laisses, euh... Petit sucre et loup de nez. Et boudin. Hé, boudin noir ! Hé, connard ! Alors, connard, ça t'amuse, d'insulter point d'interrogation ?
'''Boudin noir''' : Mais c'est pas moi !
'''Gérard''' : Non, c'est pas toi, connard ! Non ! Non, c'est pas toi. Tu te foudras pas de ma gueule ? ''[Manu fait le moustique avec sa voix]''.
'''Boudin''' : Ah, y a une mouche.
'''Gérard''' : Ouais, y a une mouche, c'est ta connerie.
'''Boudin''' : Bah, le boudin noir, ça attire les mouches.
'''Gérard''' : Ouais, bah, le boudin noir, c'est de la merde. Bon, allez, va te coucher, ça vaudra mieux. Donc, bah, on va faire la conclusion du débat. Alors, celui qui s'amuse à rôter... AHein Max ! ''[rire]'' Oh, attends, devant mes yeux ! Grillé ! Devant mes yeux !
'''Max''' : Regarde, regarde, écoute, regarde ! ''[bruit de rôt dans un micro, mais ne venant pas de Max]''.
'''Max''' : Oh, c'était Manu !
'''Gérard''' : Attends, c'est l'autre abruti, là-bas, en face.
'''Manu''' : Merde, ça part tout seul, des fois.
'''Gérard''' : Bon, allez, conclusion du débat. Moustique.
'''Moustique''' : Ouais. ''[bruit de moustique par une voix, Manu dément, mais imite le pet avec sa bouche]''.
'''Gérard''' : Bon, allez ! Non, allez, on y va. Conclusion, conclusion.
'''Max''' : C'était bien comme débat, donc ça serait dommage que ça soit gâché.
'''Moustique''' : Voilà, c'était bien comme débat, et puis ce serait dommage que ça soit gâché par une mauvaise conclusion que j'aimerais te donner, mais que je ne te donnerais pas.
'''Max''' : Et Moustique, quand tu veux, tu nous envoies une photo de toi.
'''Moustique''' : Pas de problème, Max.
'''Couscous''' : Alors, moi, je pense que le débat, on devrait faire ça. ''[il tire la chasse d'eau]''.
'''Gérard''' : Ouais, ben, non, mais couscous, ta conclusion sur le débat.
'''Couscous''' : Bah, écoute, moi, je trouve que le... Je trouve que le débat a été super chiant, comme d'habitude, hein. Ouais, c'est tout, quoi. Et Gérard, n'oublie pas que t'es mon cousin, hein. Salut, mon cousin Gérard.
'''Gérard''' : Ok, je te remercie. Point d'interrogation ?
'''Point''' : Ben, réglez vos montres à l'heure, c'est tout.
'''Boudin''' : Ouais, ben, écoute, je suis toujours là. Je suis désolé que tu sois énervé sur moi. Sandy, je l'aime bien, en fait.
'''Gérard''' : Non, mais moi, je te demande la conclusion du débat.
?'''Boudin''' : Ben, ma conclusion, c'est Sandy, est-ce que tu veux m'épouser.
'''Point''' : Pas du tout, non.
'''Petit sucre''' : Ouais, ouais, ben, écoute, moi, je te souhaite bonne chance avec le décalage horaire, que tu restes pas à la porte de la Loco tous les vendredis. Et voilà, quoi. Puis, j'étais très content de t'avoir écouté, ça faisait un petit moment. Et débat, c'est bien sympa, quoi, t'es pas trop énervé. Pour une première salle, t'as bien géré tout ça.
'''Max''' : Ben, heureusement qu'il est pas trop énervé, si c'est que ça, qu'est-ce que ça va être en 15 jours.
'''Petit ucre''' : Et, euh, donc, ça va, puis je te souhaite de bien t'amuser avec mon interrogation.
'''Gérard''' : Ben, point d'interrogation, pour l'instant, on s'entend super bien, donc, y'a pas de problème là-dessus.
'''Petit sucre''' : Ben, surtout, tu la gardes, tu la refiles pas.
''' ''' : Ben, non, mais je vais pas te la refiler.
'''Manu''' : C'est comme une maladie, personne n'en veut, hein.
'''Gérard''' : Ben, t'inquiète pas, à la Loco, je suis pas prêt d'y retourner pour l'instant.
'''Max''' : Oh, tu viendras quand même, là, non ?
'''Gérard''' : Non, non, parce que, vu ce que j'ai reçu encore...
'''Max''' : Ouais, mais pour moi, t'es dégueulasse. Pour mon anniversaire, au moins.
'''Gérard''' : Non, non, mais attends, on va demander à Loudné sa conclusion.
'''Loudné''' : Ben, moi, je dis que, par rapport à ce qui se passe en Amérique avec Bill Kinton, euh, moi, je pense que il faudrait faire gaffe dans les locaux de la radio, parce que, point d'interrogation pourra peut-être sucer le chef.
'''Gérard''' : Non, mais attends, hé ! Hé, Loudné, je te demande le thème du débat. Je te demande la conclusion sur le décalage horaire.
'''Max''' : C'était la clnclusion, il l'a faite. Oui, trop tard pour lui, allez, hop, suivant.
'''Gérard''' : Donc, ben, il n'y a plus que moi à faire la conclusion, donc, moi, je vais te répondre avant à ta question, pourquoi on ne revient pas à la...
'''Max''' : Ah non, je m'en fous de ça, je voulais savoir si tu voulais venir, je m'en fous, c'est pas intéressant, c'est le courrier, on verra ça, on s'en fout. Ta conclusion ?
'''Gérard''' : Ma conclusion, c'est que, c'est sûr que, pour l'instant, on a fait le décalage horaire, mais je l'ai fait un peu tôt, parce que, normalement...
'''Max''' : Non, ta conclusion sur le décalage horaire, t'en penses quoi ?
'''Gérard''' : Moi, personnellement, je trouve que c'est de la... Merde. Parce que... Que tu changes, que tu recules d'une heure, ou que t'avances d'une heure, de toute manière, tu boufferas autant de courant. Là, je vois, on est parti... On est parti mardi, avec Titi, en Allemagne.
'''Max''' : Titi, c'est un camionneur qui l'a pris hier et qui l'a emmené en Allemagne, Gérard et Sandy, et donc ?
'''Gérard''' : Donc, on s'est pris de la... On pensait avoir du soleil, et en fin de compte, on s'est pris de la flotte. On est revenu...
'''Max''' : Je ne sais pas si on va arriver au rapport avec le décalage horaire, si ?
'''Gérard''' : Non, mais... De toute manière, à la base, c'est que ça n'a pas été évident.
'''Max''' : D'accord. Rien à voir avec le décalage horaire, ce qui n'est pas bien.
'''Gérard''' : Non, mais le décalage horaire, pour moi, je trouve que...
'''Max''' : D'accord. Les débats de la semaine prochaine ?
'''Gérard''' : Les débats de la semaine prochaine... La pollution et cinéma. ''[ohlàlo de désespoir dans le studio]''. Non, mais attends, c'est pas toi qui commandes, d'accord ?
'''Reego''' : Sur IRC, on me dit que c'est naze, le cinéma.
'''Manu''' : Tu vois, tout le monde le dit.
'''Gérard''' : C'est moi qui commande et c'est tout.
'''Max''' : Voilà, exactement. Donc, ça sera un débat sur le cinéma et un débat sur la pollution.
'''Gérard''' : Et pour les conseils, point d'interrogation, t'es toujours là ?
'''Max''' : Non, non, c'est bon. C'est mardi, voilà.
'''Gérard''' : Ah oui, mais on peut donner quand même...
'''Max''' : On en parlera lundi, on en parlera demain ou lundi.
'''Gérard''' : Ah non, on va en parler maintenant.
'''Max''' : Non, mais les conseils, c'est pas toi, c'est les gens. C'est en fonction de leur demande à eux. On verra ce qu'ils voudront avoir comme conseils. Tu choisiras. On verra ça.
'''Gérard''' : Vu si ça fait comme mardi dernier...
'''Max''' : Ok, d'accord, ok, on en discute. Puisque tu parlais de la Loco, je vous rappelle que demain soir, à la Loco, il y aura Funky Data pour ceux qui aiment la house. C'est un live, c'est-à-dire qu'ils sont sur scène avec le matériel. C'est des grenoblois. Et qu'il y aura Jean-Marie K, DJ Sonic, qu'on va retrouver d'ailleurs Sonic dans un instant pour la conclusion de cette émission de ce soir. Et sinon, demain soir, il y a également le Marina, le club discothèque du côté de Port-Barcares. Alors, si vous voulez venir au Port-Barcares, au Marina, vous appelez maintenant le standard de Fun Radio, 0800 70 5000. Vous pouvez venir à la Loco également gratuitement vendredi soir, pareil, 0800 70 5000. Et si vous voulez empocher pour les 10 plus rapides des albums de Funky Data, pareil, 0800 70 5000. On vous retrouve tout à l'heure à partir de 22h.
== Le débat sur la pollution ==
=== Contexte ===
La saison est lancée, mais l'émission n'en finit pas de se chercher. En ce début de saison, l'équipe tente de faire parler Gérard sur des sujets sérieux, bien que détournés souvent vu sa difficulté à les comprendre, sans accrocs. Ces tentatives s'épuiseront rapidement dans l'ennui, ramenant l'équipe à se montrer plus proactive dans la mise en scène du débat et de son animateur. Pourtant, on est au cœur du surréalisme, où tout s'adjoint sans lien ni sens, reposant sur l'incompréension générale des sujets, d'une conversation, et la manipulation adroite du second degré par tout le monde. Sur la durée, tout le monde a conscience qu'il faudra alterner les provocations et les séquences purement surréalistes, mais on commence à voir la ligne que suivra ette émission.
Elle vivra aussi un moment marquant. Au fil des appels téléphoniques, Manu a fini par tomber amoureux d'une personne prénommée Laura. Elle deviendra sa femme, on le verra plus tard. Pour partager la passion de la radio avec son nouveau copain, elle participera à cette émission et ce soir est sa première. Première d'une longue série, car elle animera toute l'année 1998-1999 au moins.
Ce thème, lui, est d'actualité. La conscience écologique est naissante mais pas encore prégnante. Le passage sur le tabac en est une bonne démonstration. Il faut y noter que rien n'y est exagéré ni particulièrement surréaliste : ce qui est dit correspond à l'état d'esprit et aux débats des gens de l'époque sur la cigarette dans les lieux publics. Son interdiction en milieu fermé n'était pas vraiment appliquée et les débats allaient bon train entre les fumeurs et les autres.
=== Les personnages ===
* Gérard Cousin : Gérard
* Phildar, Manu
* Sandy Threadkell : Sandy
* Igor : Reego
* Franck Bargine : Max
* Laura : Cactus
* Mégane : Braguette
* Arnet : Briquet, Greenpeace
* Christian : Bounty
* Coquelicot, Sucre d'orge (deux filles)
* Moustache
* Kelnumero : déjà passé lors du débat sur auto-moto, entre autres
=== Transcription ===
'''Gérard''' : Bonsoir à tous, 1h23... 0h23 pardon, on attaque avec 7 minutes d'avance, donc bonsoir Reego, donc Reego si t'as des réponses sur le thème du débat de ce soir, tu fais comme la semaine dernière, t'hésites pas.
'''Reego''' : ok pas de problème.
'''Gérard''' : Phildar...
'''Phildar''' : salut Gérard ça va ?
'''Gérard''' : Toi, pas comme la semaine dernière, ok ? Au débat Manu, au standard, donc pareil, s'il y a un problème, je te signale...
'''Manu''' : Tu dis le nom de l'auditeur et je le dégage aussi sec.
'''Gérard''' : Dt donc Olivier de la prod, qui est un peu plus loin derrière, qui viendra nous rejoindre tout à l'heure... qui viendra nous rejoindre pour le deuxième débat pour faire la réa, donc on va attaquer tout de suite avec Sucre d'orge...
'''Phildar''' : J'ai déjà Bernard sur le Minitel du 75 qui dit qu'il t'aime : « Gérard je t'aime. ». J'aime tes débats, il veut dire.
'''Gérard''' : non mais pour l'instant, on commence pas comme ça, on va déjà accueillir les gens, donc Sucre d'orge, bonsoir, 20 ans de Paris. Donc on peut écouter Fun Radio sur 101.9. Braguette, 22 ans de Clermont-Ferrand, on écoute Fun Radio sur 96.6. Coquelicot, 19 ans de Troyes, donc, on peut écouter Fun Radio sur 102.2 FM.
'''Phildar''' : Ouais, c'est chez moi !
'''Gérard''' : Ça c'est du côté de chez Phildar. Christian de la Celle-Saint-Cloud, 56 ans. Pourquoi Bounty ?
'''Phildar''' : Parce qu'il a voulu s'appeler Bounty, c'est drôle.
'''Gérard''' : Non mais on aurait pu laisser Christian, c'est pas grave. donc 101.9. Moustache, 21 ans de Toulon, on peut écouter Fun Radio sur 93.1. Et briquet.
'''Briquet''' : Bonsoir, j'allume le feu ce soir.
'''Gérard''' : Alors, Tony et Arnette, vous allez commencer à vous calmer tous les deux.
'''Phildar et Manu''' : non mais il n'y a pas de Tony et Arnette ce soir.
'''Gérard''' : non mais non, ils ne vont pas commencer à me dire, on va vous mettre le feu, ok ? Beson. donc on peut... 95, donc on peut écouter Fun Radio sur 101.9. Non, 104.8, n'est-ce pas Manu ? ok ? alors, première question, donc, je pense que vous l'avez écoutée, on en a discuté juste avant la pause,. Donc, pensez-vous que la Seine est trop polluée ?
'''Sucre d'orge''' : bah oui, elle brille. Il y a plein d'huile, toutes les couleurs, la Seine est de toutes les couleurs parce qu'elle est vraiment trop polluée, ça brille.
'''Braguette''' : oui, mais dans un autre sens, c'est joli.
'''Sucre d'orge''' : C'est joli, mais...
'''Gérard''' : non, non, non, non, non, attendez, attendez, attendez, stop, stop, stop... Pensez-vous que la Seine est trop polluée, moi, je peux... Allez-y, répondez tous, donc, sucre d'orge ?
'''SUcre''' : Moi, je dis que oui, bien sûr, elle est trop polluée, on peut pas se baigner.
'''Gérard''' : Oh, bah, tu crois que tu vas te baigner dans la Seine toi ?,
'''Sucre''' : Non, je te dis, elle est dégueulasse, elle est dégueulasse l'eau.
'''Coquelicot''' : Extrêmement polluée.
'''Braguette''' : Ouais, je trouve qu'elle est polluée, mais en même temps, c'est sympa, quoi, t'as des rats, t'as plein d'animaux, t'as des jolies couleurs, c'est vachement animé comme région.
'''Moustache''' : Ouais, bah, moi, je dis, ouais, elle est polluée, la Seine, voilà.
'''Briquet''' : Ouais, la Seine, c'est dégueulasse, il y a des gens qui balancent plein de trucs, alors qu'il y a à peu près, je sais pas. Il y a 80 ans, on pouvait se baigner dedans, quand même. Il y avait des gens qui allaient se baigner dans la Seine parce que c'était propre avant.
'''Gérard''' : Alors, moi, je vais te dire une chose. Tu pourrais me dire en quelle année que la Seine a été trop polluée et qu'on pouvait se baigner dedans ?
'''Briquet''' : Je crois que c'était en 1910, un truc comme ça.
'''Gérard''' : Ouais, bah, je pense qu'à mon avis, je crois que tu te trompes vachement, parce que la Seine, elle est polluée, et de toute manière, tu ne peux pas te baigner dedans. Pourquoi ? Parce que moi, je vais te dire pourquoi. Je pense que tout le monde va être d'accord avec moi, j'espère. C'est que toutes les personnes qui viennent avec leurs péniches ont l'habitude de balancer des saloperies, des ordures et tout. Et moi, je peux te dire une chose, que là... j'ai des écluses où que j'habite, et faites-moi confiance que là, à chaque fois qu'ils ouvrent les écluses pour laisser passer les péniches, eh ben, faites-moi confiance que ça reste bloqué. Il n'y a aucun truc qui s'en va.
'''Moustache''', ''[pendant que Manu applaudit]'' : Bien dit.
'''Briquet''' : mais il y a une centaine d'années, les gens faisaient pas ça.
'''Phildar''' : Ouais, mais il y a cent ans, ça n'existait pas, les péniches, Gérard.
'''Gérard''' : Non, mais attends, de toute manière, les péniches, je ne sais pas.
'''Manu''' : Il y a cent ans, je ne sais même pas si la Seine, elle existait.
'''Gérard''' : Non, non, mais moi, je peux vous dire une chose, qu'à l'heure actuelle, de toute manière, on ne peut pas se baigner. Moi, j'ai vu une fois une personne, je ne sais pas comment elle a fait son compte, elle est tombée. Je ne sais pas si c'est le mec qui a dérivé ou autre, mais le mec, il s'est gouré, et tout le monde est tombé, il y en a une qui est tombée dans la Seine, et justement, l'écluse s'eest ouvrée.
'''Max''' : Oui, mais c'est normal, c'est le mec, si c'était une ordure.
'''Gérard''' : Non, mais c'était une nana.
'''Max''' : C'était peut-être une ordure.
'''Gérard''' : Non, non, mais on ne sait jamais.
'''Manu''' : Donc, excuse-moi, moi, par contre, j'ai vu un mec tomber dans la Seine, eh ben, il est mort noyé, quoi.
'''Gérard''' : Non, mais attends, toi... Toi avec tes conneries...
'''Manu''' : Mais non, ce n'est pas une connerie, il est mort noyé. Est-ce que ça vient de la pollution ou pas ?
'''Gérard''' : Non, mais ça, c'est...
'''Briquet''' : Ça n'a pas de rapport avec le débat, de toute façon.
'''Gérard''' : De toute manière, ce n'est même pas une des questions.
'''Phildar''' : J'ai un petit message militel de Orem, qui a 23 ans, qui est dans le département 77, qui dit « La Seine, c'est dégueulasse, les poissons baissent dedans. »
'''Gérard''' : Non, non, non, non, mais ça, je vais te dire une chose, les gens qui s'amusent à pêcher dans la Seine... les poissons, ils peuvent les... Ils peuvent les laver au vinaigre. ''[rires et applaudissements de Manu]'' Ah, mais si ! Je peux te dire que les poissons sont... La personne qui va... qui pêche dans la Seine peut laver ses poissons avec le vinaigre parce que... Non, mais même ! Le poisson, il sera immangeable et tout.
'''Coquelicot''' : Parce qu'elle pue, la Seine !
'''Gérard''' : Ouais, mais elle pue, c'est de notre faute à nous ?
'''Moustache''' : Il y a les égoûs de Paris en même temps.
'''Gérard''' : Ouais, non, mais il faut dire une chose, c'est qu'il faut voir que dans la Seine, que dans la Seine, à l'heure actuelle, les gens balancent n'importe quoi. Même ceux qui sont en péniche, je pense qu'on doit en avoir qui nous écoutent des...
'''Phildar''' : Des pénichiers, ouais.
'''Gérard''' : Des bâteliers. On appelle ça des bâteliers. Donc, je pense qu'ils doivent nous écouter. S'ils nous écoutent, arrêtez de balancer n'importe quoi. Quand on voit des bouteilles de flotte, des bouteilles de coca, tout ça... ''[les auditeurs confirment par des cris « c'est horrible », « c'est dégueulasse »]''. Mais attendez, moi je... Reego, une question internet ?
'''Reego''' : Sur l'IRC, il y a Shun qui me disait... Qu'est-ce que tu penses du fait que Jacques Chirac avait dit qu'il se baignerait dans la Seine ? Donc, moi, je peux vous dire une chose, c'est que... Là, c'est que ça va trop loin. Moi, je peux vous dire une chose, qu'il y a même les gens, ils s'amusent à nous balancer n'importe quoi, et après, ça reste coincé. Dès qu'ils ouvrent les écluses, ça reste coincé. Et je vois, c'est en 95 ou 96, la fois où on a eu une chaleur à crever, c'est que les points... les poissons, ils étaient morts, ils remontaient. Et là, ils ont fait appel donc aux... Non, non, aux responsables...
'''Phildar''' : de la DDE ? des travaux ?
'''Gérard''' : de la Seine pour nettoyer tout ça, parce que c'était impossibe. C'était impossibe de pouvoir continuer comme ça. Donc, deuxième question, faut-il... fumer, est-il un moyen de pollution ? Donc, on va demander à Briquet.
'''Briquet''' : Ouais, alors, moi, je m'allume des cigarettes. Et non. En fait, non, ça ne pollue pas. C'est bon pour la santé, c'est ce que m'a dit mon médecin.
'''Gérard''' : Ton médecin, tu me donneras son adresse, j'irai le voir. Moustache ?
'''Moustache''' : Moi, je vais te dire que ça pollue, parce que t'as vu le nombre de gens qui fument. Moi, je dis que ça fait beaucoup de fumée, tout ça.
'''Gérard''' : Non, mais attends, moustache. Moi, je vais te dire, fumer est-il un moyen de pollution ?
'''Moustache''' : Ouais, bah ouais, ça pollue non seulement le corps, mais en plus, ça pollue les gratte-ciel.
'''Gérard''' : Non, mais, de toute manière... Attendez, s'il vous plaît, derrière, là... Donc, moi, je vais répondre à moustache. Donc, pour toi, quand tu fumes, pour toi, ça... Tu veux dire que tu pollues tout le monde ? Moi, je vais te dire une chose. Moi, qui ai l'habitude de fumer, moi, je peux te dire une chose que... Bon, d'accord, Sandy, elle aime pas quand je fume, parce que si j'ouvre pas la fenêtre, elle peut pas supporter l'odeur de la cigarette.
'''Moustache''' : Normal, bah ouais, si elle aime pas, c'est logique.
'''Gérard''' : Bah oui, mais dans ces cas-là, quand elle est dans une voiture, admettons que tu conduises, que le chauffeur qui est à côté de toi, par exemple, le passager, ne fume pas, est-ce que tu vas continuer à fumer pour l'empester ?
'''Moustache''' : Bah non, carrément pas, quoi.
'''Gérard''' : Alors, attends, attends, moustache. Qui c'est qui dit oui ?
'''Braguette''' : C'est Braguette. S'il est pas content, il prend sa voiture. Moi, je fume dans ma voiture.
'''Gérard''' : Ouais, mais attends, Braguette, si, par exemple, le passager ne fume pas, qu'est-ce que tu fais ?
'''Braguette''' : Je fume, moi, je suis dans ma voiture.
'''Bounty''' : On va dans un autre endroit.
'''Gérard''' : Donc, toi, tu l'as dans un autre endroit ou dans une autre salle.
'''Gérard''' : Ouais, mais, par exemple, mais admettons, admettons, Bounty, Christian. Admettons que t'as pas d'endroit pour non-fumeurs. Tu vas où ?
'''Bounty''' : Dans les WC.
'''Gérard''' : Ouais, mais si... admettons, dans les WC, c'est interdit.
'''Moustache''' : Bah, tu vas dehors.
'''Gérard''' : Ah, ouais, mais dans ces cas-là, dehors, ok. Mais est-ce que tu pourras re-rentrer dans là où t'étais ?
'''Phildar, Bounty et Braguette''' : Non, c'est interdit.
'''Phildar''' : Non, parce que, regarde, si tu fumes, tu vois, parce que t'es dans un lieu interdit, donc tu vas fumer dehors, mais le problème, c'est qu'après, tu sens la fumée et que t'as encore de la fumée, donc si tu rentres...
'''Gérard''' : Non, non, mais attends, pour l'instant, Phildar, c'est pas toi que je m'intéressais, c'était Christian. ''[il éteint le micro de Phildar]''.
'''PHildar''' : Ah, pardon.
'''Gérard''' : Donc, Christian, admettons que tu sortes pour fumer une cigarette, est-ce que tu pourras re-rentrer dans la boîte ?
'''Braguette''' : Mais on était dans la voiture, là et tu nous parles de boîte.
'''Gérard''' : Bah, oui, mais dans les boîtes de nuit, de toute manière, souvent...
'''Braguette''' : Moi, j'y vais pas.
'''Gérard''' : Toi, tu fumes pas ?
'''Braguette''' : Bah, si, moi, je fume.
'''Gérard''' : Bon, bah, donc, dans les boîtes de nuit, de toute manière, on a le droit de fumer. On est bien d'accord ? Donc, par contre, si t'as une personne qui est à côté de toi, qui supporte pas la cigarette et qui te dit, « est-ce que vous pouvez arrêter de fumer », qu'est-ce que vous faites ?
'''Braguette''' : Bah, il sort.
'''Gérard''' : Ah, ouais, mais si elle est dans une boîte de nuit, tu vas lui demander de sortir ?
'''Braguette''' : Ah, bah, il fait ce qu'il veut. S'il supporte pas, il va plus loin.
'''Gérard''' : Bah, il change de coin.
'''Braguette''' : Exactement.
'''Gérard''' : Ah, voilà, c'est ce que je voulais entendre dire.
'''Moustache''' : Gégé, Gégé. Moustache. Moi, je dis, quand même, c'est celui qui fume qui doit se barrer, non pas celui qui fume pas et qui est dérangé.
'''Braguette''' : Ah, non, non.
'''Gérard''' : Ouais, non, mais attends, moustache, tu vas pas demander, par exemple, si toi, t'as pas envie de fumer, tu vas pas dire à la personne, si tu fumes pas, tu dégages.
'''Moustache''' : Mais non, justement, c'est le contraire. La personne qui fume pas, normalement, elle doit rester à sa place.
'''Gérard''' : Ouais, mais c'est la plus gênée qui s'en va, alors. Ouais, mais dans une boîte de nuit, tu vas pas dire, bon, bah, tu fumes pas, tu dégages. Moi, je fume et c'est tout, point final à la ligne. Mais moi, je vois pas le rapport. Je vois pas le rapport sur la question. Parce que, d'accord, je sais...
'''Phildar''' : J'ai peut-être une solution, c'est qu'en fait, les personnes qui fument pas et donc qui sont avec des gens qui fument, en fait, ils sont privés parce qu'après, ils puent la fumée.
'''Gérard''' : Ouais, mais ça, ça s'imprime sur les vêtements, ça, je suis d'accord avec... Qui c'est qui vient de...
'''Phildar''' : Phildar, de Paris.
'''Gérard''' : Non, mais attends. Attends, Phildar, on sait que c'est toi, de Paris. Donc, c'est Bounty ou... C'est Christian ou Moustache, là.
'''Moustache''' : Ouais, c'est Moustache, c'est Moustache.
'''Gérard''' : Non, mais je voudrais bien que les trois filles aussi réagissent un peu, là. Non, parce qu'on les entend pas assez, là.
'''COquelicot''' : Oui, non, mais nous, on est là, on écoute, on est passionnées. On se dit que fumer, de toute façon, ça salit. Onsent dans les doigts, on sent dans les vêtements, on sent partout, donc on est grillés, hein.
'''Braguette''' : C'est une bonne odeur qui pue bien, moi, je trouve.
'''Gérard''' : Ouais, mais moi, dans ces cas-là... Oh, là, qui c'est qui a un téléphone pourri, là ?
'''Sucre d'orge''' : Là, c'est Sucre d'Orge, là. Ouais, enfin, moi, je trouve que... je veux dire, tu sors dans la rue, les voitures, ça te dérange, tu vas pas dire aux gars... Enfin, si, tu vas pas dire au gars, vas-y, arrête de conduire, quoi.
'''Gérard''' : Non, non, attends, Sucre d'Orge. Sucre d'Orge. Je vois pas le rapport avec la fumée de cigarette.
'''Sucre d'orge''' : Ah, bah, si, c'est de la pollution, quoi, mais...
'''Gérard''' : Non, mais, justement, justement, on va en... On va en parler, on va en parler des voitures. Hein ? On va en parler. Donc, pour l'instant, je parle de fumée. Par exemple, moi, je peux vous dire une chose, qu'il est là, il peut très bien réagir, il est planqué derrière moi, là-bas, il peut très bien prendre la place à Phildar, c'est que lui, quand il vient dans les studios et qu'on fume, ça le dérange. Et dans les soirées, il y a certaines personnes qui fument, mais est-ce que ça te dérange à toi, Max ?
'''Max''', ''[faussement timidement]'' : Alors, d'abord, bonsoir.
'''Phildar''' : T'appelles d'où ?
'''Max''' : Donc, savoir si ça me dérange la cigarette. Dans des lieux comme les discothèques. Non, sauf si il y a une personne qui fume et qui va me mettre la fumée dans la gueule, quoi. J'ai remarqué ça dimanche en étant dans un lieu public qui était... le Parc des Princes et je voyais quand même des mecs qui fumaient le cigare. Eux, ils fument le cigare, donc c'est quand même un truc qui empeste. Mais eux, quand ils recrachent la fumée, à aucun moment, ils ne se la prennent pas dans la gueule. Mais par contre, ils l'envoient à la gueule de gens qui ne fument pas. Donc, le minimum, c'est au moins, quand tu fumes, c'est de voir si tu ne déranges pas des gens autour de toi.
'''Gérard''' : Mais moi, par contre, il y a une personne... Je pense que...
'''Max''', ''[en diva]'' : on pourrait me balancer deux, trois applaus, quand même...
'''Gérard''', ''[applaudissant avec Phildar et Manu, mollement]'' : Bravo, chef. Mais moi, je peux répondre à la personne, je ne sais pas, c'est Sucre d'Orge ou Braguette ou Coquelicot qui a dit ça. Quand on envoie la fumée sur la personne d'un mec, ça veut dire qu'on l'aime. Mais moi, je peux vous dire une chose, c'est qu'à l'heure actuelle, j'ai deux paquets de cigarettes, voire trois. Et sur les trois, c'est marqué... ''[il sort un paquet de sa poche]''
'''Phildar''' : Tu fais un débat sur la santé ?
'''Gérard''' : Nuit grave. Nuit gravement à la santé.
'''Max''' : Mais nuit ou jour ? C'est nuit et jour ou c'est nuit gravement, dans le sens de la nuit ?
'''Gérard''' : Non, c'est nuit gravement à la santé.
'''Max''' : C'est juste la nuit. Donc, le jour, c'est pas dangereux ?
'''Gérard''' : Fumer nuit, à votre entourage...
'''Max''' : Pourquoi ils parlent de la nuit ?
'''Gérard''' : C'est ce qui est marqué sur les paquets.
'''Max''' : Pourquoi ils disent que c'est la nuit ?
'''Gérard''' : Je sais pas. Je pense que ma nuit...
'''Max''' : Je sais pas si on est vraiment dans le débat de la pollution. Je sais pas si on fait un débat sur le tabac et sur le cancer ou si on fait un débat... Je crois qu'on est un peu sortis du débat, mais c'est vrai qu'il faut y réfléchir. Pourquoi on dit nuit gravement ? Pourquoi c'est la nuit grave ?
'''Gérard''' : Nuit gravement parce que ça esquinte... ça esquinte la santé. Ça, c'est un débat qu'on fera peut-être la semaine prochaine. ''[Manu applaudit]''.
'''Phildar''' : Toi, t'as répondu, Gérard. T'as répondu à la question. Donc, on peut passer à la troisième.
'''Gérard''' : Donc, un incident provoque-t-il une pollution ?
'''Sucre d'orge''' : Un quoi ?
'''Gérard''' : Un incident.
'''Phildar''' : C'est-à-dire ? Tu peux expliquer ce que t'entends par incident ? Un accident de voiture, des trucs comme ça ?
'''Gérard''' : Non, un incident.
'''Braguette''' : Quel genre d'incident ?
'''Gérard''' : Bon, même... un incendie... Ah, non ! Un incendie, oui. Pardon, pardon, pardon. Non, parce que... Non, c'est moi qui me suis trompé. C'est un incident provoque-t-il...
'''Manu''' : Un incendie, Gérard.
'''Gérard''' : Un incident, un incendie, pardon... Je vais y arriver. Un incendie provoque-t-il une pollution ? Donc, on va demander à... Sucre d'orge.
'''Sucre d'orge' '' : Un incendie, accidelleement incendieux ?
'''Géra''' : Non, mais un incend... Oh là, sucre d'orge, t'as un téléphone pourri !
Ah non, parce que là, j'ai un grésillement... C'est pas possibe.
'''Manu''' : Ça vient pas d'eux, en fait.
'''Sucre d'orge''' : En fait, je crois que c'est pas nous, c'est... C'est le standard de... C'est Phildar qui déconne, hein.
'''Phildar''' : Non, c'est le standard de fun, on peut rien faire, Gégé. Parce qu'ils sont en train de refaire, derrière. Moi aussi, j'ai le même, hein.
'''Manu''' : C'est pareil, partout.
'''Phildar''' : Ou baisses un peu ton casque, alors.
'''Sucre d'orge''' : Oui, ben, ça pollue, hein. T'as vu la fumée, quand il y a un incendie, dans le midi, là, avec les canadaires et tout, c'est de la folie. Ouais, ouais, ça pollue grave.
'''Gérard''' : Ouais, mais... Non, mais attends. Je vois pas le rapport avec un incendie et...
'''Sucre d'orge''' : Et un incident ?
'''Gérard''' : Non, mais... Un incendie, plus les canadaires. Parce que qu'est-ce que le canadaire a à voir dans les incendies ? Le canadaire, il provoque pas une pollution.
'''Sucre d'orge''' : Non, mais quand il y a un incendie, il y a un canadair.
'''Briquet''' : Si, Gérard, le canadaire, il provoque la pollution, puisqu'il va chercher l'eau dans la mer et certains endroits, tu vois, la mer, elle est polluée.
'''Sucre d'orge''' : Et quand le canadair, il s'ouvre, ça fait plein de fumée blanche sur le feu.
'''Gérard''' : Non, mais ça, c'est... Ça, c'est l'eau.
'''Sucre d'orge''' : Mais l'eau, elle peut être polluée.
'''Manu''' : Gérard, le canadaire, là, il y a bien de l'essence dedans. Donc ça pollue, de toute façon.
'''Gérard''' : Non, mais attends, Manu, je sais pas si t'as regardé le reportage sur les canadaires. Ils ont une trappe en dessous qu'ils prennent l'eau...
'''Manu''' : Ouais, mais moi, justement, j'avais vu ce reportage, ils avaient pas de pastilles vertes sur le pare-brise, les canadaires.
'''Gérard''' : Non, mais on s'en fout de la pastille verte.<ref name="hist4"></ref>
'''Phildar''' : Non, mais Gérard, oui, ils prennent de l'eau pour éteindre le feu, mais pour décoller, pour voler, ils prennent bien de l'essence, ils volent pas à l'eau.
'''Gérard''' : Non, non, non, non, là, je suis pas d'accord avec vous. Donc on va demander la Braguette. Par contre, t'essaies de voir avec sucre d'orge si elle peut pas changer de poste, parce que là...
'''Manu''' : Essaie de changer de poste, va à la Caisse d'Épargne.
'''Phildar''' : Non, non, non, t'es ailier droit, c'est ça ? Non, pilier.
'''Sucre d'orge''' : Je passe en avant ?
'''Gérard''' : Braguette ! ''[il réitère plusieurs fois mais Braguette ne répond pas, les échanges humoristiques sur le rugby se prolongeant]''.
'''Phildar''' : Ouvre-la un peu.
'''Braguette''' : Moi, je dis que, bah si, ça pollue, mais bon, c'est bien, quoi, parce qu'après, les forêts repoussent et c'est de la bonne pollution, quoi.
'''Phildar''' : Non, mais tu parles.
'''Gérard''' : Tu crois... Attends, attends, Braguette. Braguette. Tu crois que... Même en éteignant un incendie... Tu crois qu'après, ça va repousser ?
'''Braguette''' : Bah, exactement, ça repousse.
'''Gérard''' : Ah, oui ? Alors, ça met combien de temps pour repousser ?
'''Braguette''' : Ça met 10-20 ans, mais c'est de la bonne pollution qui va te donner une bonne forêt.
'''Gérard''' : Ah, oui ? Quand tu vois 120 000 hectares qui partent en fumée... Que les gens sont derrière, qui ont des habitations, qui ont l'habitude de voir de la verdure, et que maintenant, ils voient que simplement de... Des arbres qui sont partis en feu, tout ça, et tu crois que...
'''Braguette''' : Mais ça, c'est le coup du sort, Gérard, ça, c'est le coup du sort. C'est des pauvres gens, c'est grave pour eux. Mais bon, avoue quand même qu'une forêt incendiée, c'est vachement beau à regarder.
'''Gérard''' : Non, non, non, non, non, non, non, non, Braguette, non, braguette...
'''Phildar''' : Ferme-la un peu.
'''Gérard''' : Moi, je vais te dire une chose. Même derrière, là... Moustache et briquet, vous vous calmez, parce que... Je réponds à Braguette, d'accord ? Donc, moi, je peux te dire une chose, Braguette. Moi, cet été... J'ai regardé les infos, et quand tu vois ce qu'on a vu cette année, qui sont partis en fumée, fais-moi confiance que c'est toute la ville qui va payer pour... pour remettre tout ça en état. Et quand tu vois... Quand tu vois des arbres... Quand tu vois des arbres qui partent en fumée... C'est pas possibe. ''[applaudissements du studio]''.
'''Braguette''' : Tu trouves pas ça vachement beau, un arbre en feu ?
'''Gérard''' : Non. Moi, je vais te dire une chose, que je préfère regarder des arbres qui fleurissent et tout. ''[Manu applaudit]''.
'''Braguette''' : J'adore voir les arbres en feu. Ben, c'est chacun ses...
'''Gérard''' : Ouais, ben, dans ces cas-là, toi, du côté... Ah, c'est dommage. Tiens, en fait, braguette. Ça... Ça a rapport le thème du débat. À Clermont-Ferrand, est-ce qu'il y a des volcans ?
'''Braguette''' : Oui, oui, il y a des volcans à Clermont-Ferrand.
'''Gérard''' : D'accord. OK, je te remercie.
'''Braguette''' : Je t'en prie, Gérard.
'''Gérard''' : Non, non, mais c'était simplement pour savoir. Donc, on va demander à Coquelicot de répondre.
'''Coquelicot''' : Ben oui, moi, je crois que ça pollue, mais je crois qu'on peut pas faire grand-chose, parce que c'est des choses qui arrivent naturellement et on peut pas arrêter ça, quoi.
'''Sucre d'orge''' : Contre. Moi, je suis contre, c'est Sucre d'orge.
'''Gérard''' : Oh là là, mais qui c'est qui a un téléphone pourri, là ?
'''Manu''' : Ça vient pas du standard, Gérard.
'''Gérard''' : Oh là là, c'est mauvais d'entendre un...
'''Phildar''' : C'est vrai que c'est chiant, mais on peut rien faire.
'''Bounty''' : Oui, ben, moi, je suis d'accord avec les autres. Il y a pas mal de fumée. Il y a des fumées de cheminée, exactement, aussi.
'''Phildar''' : Ça pollue, ça, au fait, Gérard, les feux de cheminée ou pas ?
'''Gérard''' : Non. Non, mais attends, ça dépend s'ils sont bien allumés dans l'appartement.
'''Briquet''' : Hé, Gérard ? Ça pollue les feux de bois ou pas ? Est-ce que ça pollue les feux dans les forêts ?
'''Gérard''' : Mais attends, on vient de... Hé ! Oh, Briquet, Briquet, Briquet, Briquet ! Tu vas aller voir Manu au standard, s'il te plaît. Non, non, mais attends ! Attends, tu vas aller... Tu vas être gentil, tu vas aller voir Manu au standard, parce que je viens de... J'ai répondu à la question à Braguette.
'''Phildar''' : Tu ne suis pas à Briquet, hein.
'''Briquet''' : Mais si, mais j'ai pas compris, en fait.
'''Gérard''' : Non, non, mais tu... Ouais, mais tu n'as pas compris, ben, tu vas aller voir Manu, il va te faire comprendre au standard.Reego ?
'''Reego''' : Oui, sur IRC, il y a Lagafou qui te demande si péter ça pollue.
'''Gérard''' : Ça dépend si les fenêtres sont toutes fermées, ça... Même dans un lit, ça ne peut polluer. Ça, je peux dire oui. Briquet, s'il te plaît ?
'''Manu''' : Il n'a rien dit, Gérard, ce n'est pas lui.
'''Gérard''' : Non, non. Mais Briquet, tu le reprends au standard, il va comprendre.
'''Phildar''' : Tu expliques la troisième question et tu le remets après.
'''Gérard''' : Non, non, mais... Là, on finit la troisième et je pose la quatrième. Bounty ? Ah ben, toi, t'as répondu. Tu m'as parlé de... Je ne sais plus quoi, là. Ouais, fumée de cheminée. Ok, t'as répondu. Donc, moustache ?
'''Moustache''' : Ouais, ben, alors, moi, je voudrais répondre à Coquelicot. Parce que Coquelicot, elle a dit... En fait, on ne pouvait rien faire contre les incendies. Eh ben, elle dit n'importe quoi. Parce que les incendies, il n'y en a pas que des naturels. Il y en a aussi qui sont provoqués par des gens.
'''Gérard''' : Attendez, attendez, attendez. Moustache et Coquelicot. Moustache et Coquelicot, s'il vous plaît. Vous écoutez ? Là, d'accord, je suis d'accord avec vous. Il y a des incendies qui sont... Je sais, il y a des incendies qui sont provoqués pendant l'été. Mais ça, on ne peut pas savoir qui c'est qui les provoque. Mais oui, mais de toute manière, quand vous prenez une nationale ou autre, vous voyez que c'est marqué interdit de fumer. Donc, je ne comprends pas pourquoi il y a des gens qui s'amusent à fumer ou qui laissent leur mégot.
'''Braguette''' : C'est des pétomanes, ça.
'''Gérard''' : Ben oui, mais dans ces cas-là, pourquoi ? Pourquoi que les gens savent que c'est interdit de fumer... Pourquoi qu'ils laissent leur mégot allumé ?
'''Braguette''' : Parce que c'est des pétomanes, ils le font exprès. Ça les fait jouir de mettre le feu.
'''Phildar''' : Donc, on peut dire que les pétomanes, c'est pour des pollueurs.
'''Gérard''' : Ben voilà. Donc, Briquet, il a quand même...
'''Manu''' : Oui, Briquet a tout pigé, a tout compris.
'''Briquet''' : Je me suis calmé, j'ai compris. C'est bon.
'''Gérard''' : Alors, pour toi ?
'''Briquet''' : En fait, vu que j'étais au standard avec Manu, je n'ai pas très bien compris ta question.
'''Manu''', ''[coupant Gérard dans son mouvement d'impatience]'' : Mais c'est normal, je lui ai expliqué, Gérard.
'''Briquet''' : Il m'expliquait de me calmer, tout ça, donc je n'ai pas pu entendre et mettre en feu.
'''Gérard''' : Donc, un incendie provoque-t-il une pollution ?
'''Briquet''' : Ben moi, je pense...
'''Gérard''' : Non, mais vite, vite.
'''Briquet''' : C'est bon, laisse-moi le temps de répondre. Je pense que oui.
'''Phildar''' : C'est une bonne réponse.
'''Gérard''' : Ouais, ben...
'''Phildar''' : Quoi ? Et toi, Gérard, qu'est-ce que tu penses de ça ?
'''Gérard''' : Moi, personnellement, je vais te dire une chose. Ce que je pense, c'est déjà qu'on devrait respecter tout ce qui nous est interdit quand on part en vacances. Et même à l'heure actuelle, c'est ce qu'on devrait respecter, les endroits qu'on n'a pas le droit de fumer. Moi, celui qui renifle comme un veau va se calmer.
'''Phildar''' : Il doit prendre ses comprimés parce qu'il est malade.
'''Gérard''' : S'il est malade, il va redégager au standard. Ça va aller vite pour moi.
'''Phildar''' : Et donc ?
'''Gérard''' : Dans ces cas-là, il faut mieux respecter la vie des gens. Il faut respecter la nature. Parce qu'en fin de compte, la nature, qui c'est qui la paye ? C'est nous. Qui c'est qui paye ?
'''Phildar''' : C'est cher, en plus.
'''Gérard''' : Oui, mais qui c'est qui paye derrière ?
'''Phildar''' : C'est le contribuab.
'''Gérard''' : Oui, mais on paye... On paye sur les impôts. On paye là-dessus pour redonner goût à la vie. On paye des impôts. On paye des impôts, donc c'est nous qui payons, en fin de compte. C'est pas parce qu'on achète une voiture. Si, par exemple, une voiture prend feu dans une forêt, la forêt va... Va prendre feu. Et en fin de compte, qui c'est qui est responsable ? C'est nous. Parce qu'après, il faut reconstruire tout ça. ''[applaudissements du studio]''.
'''PHildar''' : Il faut reconstruire la voiture.
'''Gérard''' : Donc, alors, la quatrième...
'''Phildar''' : Et on va mettre un petit disque.
'''Gérard''' : Et donc, alors, je pose la question. La télé est-elle un moyen de pollution ? et on va s'écouter Baba au Rome avec des petits... Des petits...
'''Phildar''' : Petits loups de nez. Tu peux rappeler les numéros, Gérard, aussi.
'''Gérard''' : 0803 08 5000 et 080070 5000 et toujours le 3615 code Fun radio et l'IRC... Reego s'il te plaît ?
'''Reego''' : Oui je suis là, irc.funradio.fr.
'''Phildar''' : Et il y a 25 connectés sur le Minitel quand même.
'''Gérard''' : Oui mais s'il y a des réponses aux questions, je voudrais bien que tu me les donnes, Reego, comme la semaine dernière. Merci.
''[Musique]''.
'''Gérard''' : Et voilà, vous nenez d'écouter Baba au rhum avec des petites...
'''Phildar''' : Des petits loups de nez, voilà.
'''Gérard''' : Donc vous pouvez toujours nous appeler au 0803 08 5000 et 0800 70 5000 et 3615 code Funradio, rubrique direct. Et bien sûr, l'Internet, où que Reego vous attend, vous pouvez réagir sur le débat, il n'y a pas de problème. Je vous répondrai en direct. Voilà. Donc, alors, quatrième question. La télé est-elle un moyen de pollution ? Donc, on va raccueillir sucre d'orge. Braguette. Coquelicot. Christian de la Celle-Saint-Cloud. Moustache. Briquet. Et...
'''Phildar''' : Et donc, on commence avec qui, Gérard ?
'''Gérard''' : Et on va commencer avec... On va commencer avec Sucre d'orge.
'''Sucre d'orge''' : Oui. Eh bien, oui, t'as raison, Gégé. La télé, c'est un moyen de pollution énorme de l'esprit. Surtout, certaines chaînes. Les premières, là, tu vois. Et si tu les regardes...
'''Gérard''' : Non, mais sans... Non, non, mais attends, attends.
'''Sucre d'orge''' : Je ne dis pas de nom de chaîne. Je dis simplement celles qui commencent les numéros, là. Eh bien, si tu les regardes trop souvent, tu finis par devenir comme elles, quoi.
'''Phildar''' : C'est pas mal, ce qu'elle dit. T'as compris, Gégé ?
'''Gérard''' : Non. Braguette ?
'''Braguette''' : Oui. Non, mais ce n'est pas un moyen de pollution, c'est un moyen de communication. On te communique des informations sur la pollution.
'''Sucre d'orge''' : Elle parle avec sa télé, elle ?
'''Gérard''' : Non, mais je pense qu'elle doit parler avec... Avec un gorille, elle, derrière. Donc, ça y est ? Ah, ben, c'est bien, Braguette. Coquelicot ?
'''Coquelicot''' : Oui, moi, je crois que c'est un moyen de pollution. Mais enfin, ça dépend pour qui. Parce que, moi, je dis... Je ne sais pas, il y a des trucs qui sont intéressants quand même. Il ne faut pas tout rejeter dans la télé.
'''Phildar''' : Est-ce que tu crois, Gérard, que la radio, c'est quelque chose qui pollue plus que la télé, Gérard ?
'''Briquet''' : Oui, quand on écoute Gérard, oui.
'''Phildar''', ''[alors que Gérard a la tête tournée vers la porte du studio, le regard ailleurs]'' : Gérard, on est là. Est-ce que tu crois que la radio, ça pollue plus que la télé ? C'est ce qu'on demande sur Minitel.
'''Gérard''' : Non, je ne pense pas. Non, je pense que le Minitel, de toute manière, c'est... C'est un truc pour les gamins. S'ils ont envie de dépenser leur pognon là-dedans, ils font ce qu'ils veulent.
'''Phildar''' : Ce n'est pas ça, la question. La question, c'est est-ce que la radio, ça pollue plus que la télé ?
'''Gérard''' : Moi, c'est ma réponse. ''[applaudissements sarcastiques devant cette citation politique]''. Christian ?
'''Bounty''' : Oui, moi, j'adore beaucoup le débat à la télé. Il y a pas mal de débats que j'écoute en deuxième et en première.
'''Gérard''' : D'accord. Non, mais je ne vois pas le rapport avec la question, Christian.
'''Phildar''' : C'est sa réponse. C'est un peu comme toi.
'''Moustache''' : Ouais, ben, moi, je veux dire que la télé, c'est... Bon, en ce moment, il n'y a un peu que de la merde, quoi. S'il y avait des émissions un petit peu plus intellectuelles, tu vois, ça serait mieux. Voilà, c'est tout ce que j'ai à dire.
'''Gérard''' : Non, mais attends, je ne vois pas... Ah, là... Là, Moustache ? Je pense que tu n'as pas très bien compris la question, mais ce n'est pas grave.
'''Moustache''' : Si, si, j'ai bien compris.
'''Gérard''' : Non, non, mais...
'''Gérard''' : Non, non, je pense, à mon avis, que tu n'as pas compris la question.
'''Moustache''' : Répète-la, moi, alors.
'''Gérard''' : Non je la rémèterai pas. Briquet ?
'''Briquet''' : Oui, alors, moi, avant de répondre à la question, je voudrais quand même te demander ton avis. Oui ou non, est-ce que ça pollue ? Toi, je voudrais que tu me répondes avant.
'''Gérard''' : Non, mais moi, maintenant, tu vas répondre à la question, parce que ce n'est pas toi qui me poses les questions, c'est moi qui vous les pose.
'''Briquet''' : J'aurais répondu par rapport à ta réponse, en fait.
'''Gérard''' : Non, non, mais moi, maintenant, tu vas me répondre à la question.
'''Phildar''' : Ben, aide-le. Aide-le un peu. Donne-lui ta réponse, déjà, comme ça, ça...
'''Gérard''' : Non, non, mais attends, il va déjà répondre correctement. Après, je lui dirai.
'''Phildar''' : Il ne peut pas.
'''Briquet''' : Ouais, je ne peux pas si tu ne me donnes pas ta réponse avant.
'''Gérard''' : Non, ben, alors, dans ces cas-là, n'attends pas ma réponse. Sur Internet ?
'''Reego''' : Ouais, donc, sur l'IRC, il y a Fedji qui te demande si c'est la télé qui pollue ou si c'est les animateurs télé.
'''Gérard''' : Là-dessus, il faut dire une chose, c'est qu'en ce moment, vu ce qu'on voit à la télé, je pense qu'on a du mal à savoir ce qu'on va regarder comme chaîne.
'''Briquet''' : Ben ouais, mais alors, dans ce cas-là, toi aussi, tu pollues, puisque tu passes sur Fun TV.
'''Gérard''' : Alors là, je vais te dire une chose, Briquet... Tu vois, tu vois, Briquet... C'est con, ce que tu viens de dire. Parce que là, maintenant, tu dégages. Je ne veux plus te revoir. Salut à toi, Briquet. Salut à toi, Briquet !
'''Sucre d'orge''' : Gérard ? En plus, il a pas tort parce que ça pollue moins quand ça passe par satellite que quand ça passe par courant à la télé.
'''Moustache''' : Qu'est-ce qu'elle dit...
'''Gérard''' : Qui c'est qui vient de dire ça ? Ouais, ben, Sucre d'orge. Fais gaffe parce que tu risques de faire comme Briquet si tu continues.
'''Phildar''' : Non, mais c'est vrai. Non, Gérard, attends.
'''Gérard''' : Ouais, non, mais il faut dire une chose. Il faut se dire une chose qu'à l'heure actuelle, pour voir des émissions de cons, des émissions qu'on ne sait même pas ce que ça veut dire...
'''Phildar''' : Donne des exemples. Donne des exemples pour toi d'émissions polluantes.
'''Gérard''' : Moi, je peux te dire une chose. Des émissions polluantes, tu sais ce que c'est ? C'est l'après-midi, hein, même le matin, sur les coups de 9h, c'est pas pour critiquer Françoise...
'''Phildar''' : C'est pas des émissions, c'est des séries, ça, nuance.
'''Gérard''' : Ouais, mais même, quand tu vois Amour, Gloire et Beauté, ça n'a ni queue ni tête parce que ça n'a rien à voir.
'''Braguette''' : T'as qu'à zapper.
'''Gérard''' : Ouais, mais Les feux de l'Amour, c'est pareil, ils ont signé pour 10 ans. de toute manière, tu peux rien voir... tu comprends même pas ce que ça veut dire.
'''Phildar''' : Et ça, c'est polluant.
'''Gérard''' : Victoria et Cool. Cool, je pense que c'est ça.
'''Phildar''' : Ouais, mais c'est de la merde, mais tu regardes. Alors faudrait savoir.
'''Gérard''' : Non, non, moi, je regarde pas ça.
'''Phildar''' : Attends, t'es en train de nous dire les prénoms et tout, là. Victoria sort avec machin, bidule. Non, mais on s'en fout, on s'en fout. Donc, c'est polluant pour toi.
'''Gérard''' : Pourquoi on s'en fout ? Elle peut réagir, quand même.
'''Phildar''' : Non, mais on s'en fout de la série, c'est ce que je veux te dire.
'''Gérard''' : Ouais, bah, peut-être. Moi, je vais te dire une chose. Je préfère regarder des reportages, comme j'ai vu hier... Malheureusement, je me suis endormi dessus. Je préfère regarder des reportages sur les routiers que de voir des émissions, des feuilletons qui durent, quoi, ils commencent à 14h05 et à 14h45, c'est terminé.
'''Phildar''' : Ouais, mais je vais te dire un truc, les routiers polluent, quand même.
'''Gérard''' : Ouais, mais attends, les routiers polluent, peut-être, mais on est bien contents de les avoir pour se nourrir et pour nous ravitailler. Pour ravitailler les magasins et les stations-service. Parce qu'on est bien contents... On est bien contents de les avoir, grâce à eux. Qui c'est qui bouffe ? C'est quand même grâce à eux, si on bouffe.
'''Phildar''' : Ouais, mais ils polluent, quand même.
'''Gérard''' : Ouais, mais ils polluent... Mais grâce à qui t'as de l'essence dans ta voiture ? Grâce à eux.
'''Manu''' : Aux garagistes.
'''Gérard''' : Ouais, mais les garagistes, ils font appel à qui ? Au transport routier ! ''[triomphant]'' Eh, oui, Manu.
'''Manu''' : Bah non, c'est le train.
'''Gérard''' : Bah non, le train... Mais attends, le train, avec le train, tu vas...
'''Phildar''' : Tu vas pas loin.
'''Gérard''' : ...Je sais pas où. Surtout en ce moment, avec ce qu'il se passe.
'''Phildar''' : Allez, on revient sur le débat.
'''Manu''' : Sinon, excusez-moi, on accueille Greenpeace, 26 ans de Colmar, où on peut écouter Fun sur 92.2 FM. Bonjour, Greenpeace.
'''Phildar''' : À la place de Bricquet.
'''Gérard''' : Donc, sixième question. Peut-on faire l'amour en polluant ?
'''Greenpeace''' : Gérard, si Greenpeace, je peux répondre ? Alors, en fait, moi, je trouve qu'on peut effectivement faire l'amour en polluant. Si, par exemple, on fait de l'amour sur une péniche, et qu'après, en faisant l'amour, on voit une canette, je dirais pas la marque, et on la balance dans la Seine.
'''Gérard''' : Non, mais attends. Là, je vais te dire une chose, Greenpeace... T'e Non, mais... Là, tu reviens tout à fait à la première question. Ouais, ouais. Ah, Tony ? Ouais, ouais.
'''Phildar''' : Non, mais on peut faire l'amour quand même sur une péniche. Puisque... On peut faire l'amour partout. Donc, à ton avis, est-ce qu'il a raison ? S'il n'a pas raison, t'expliques.
'''Gérard''' : Non, mais moi, je vais te dire une chose. C'est pas parce que tu vas faire l'amour et que tu rebalances des canettes dans la Seine. OK ?
'''Greenpeace''' : Bah, tu peux si t'es assoiffé en train de faire l'amour.
'''Phildar''' : Est-ce que t'as soif, toi, quand tu fais l'amour ?
'''Gérard''' : Non, moi, je fume une cigarette.
'''Phildar''' : Bah, tu pollues, alors.
'''Gérard''' : Ah, non, mais moi, je fume une cigarette chez moi. Nuance.
'''Phildar''' : Ouais, mais tu pollues quand même.
'''Gérard''' : Ah, non, mais moi, quand je fume une cigarette, j'ai la fenêtre ouverte.
'''Sucre d'orge''' : Ah, bah, ouais, donc tu pollues, hein.
'''Gérard''' : Un homme, non, mais je pollue quoi ? Je pollue personne.
'''Sucre d'orge''' : Tu pollues l'atmosphère.
'''Gérard''' : Bah, je pollue l'atmosphère... Mais dans ces cas-là, les pots d'échappement des voitures, ils polluent quoi ?
'''Phildar''' : Non, mais attends, pendant l'amour aussi, Gérard, il t'arrive d'avoir des pollutions nocturnes. On est d'accord.
'''Gérard''' : Ah, mais ça, il y a une personne qui pourra répondre si elle veut bien venir à côté de Manu pour répondre à la question, mais elle veut pas.
'''Phildar''' : Ah, mais c'est pas grave, on continue le débat, on va pas s'arrêter pour ça.
'''Moustache''' :Non, mais si tu veux, j'ai perdu une fil, donc... Je vais sauter cette question. Voilà, je vais écouter, comme ça, au moins, tu vois...
'''Gérard''' : Bon, bah, alors, Moustache, bonne nuit. Allez, hop. Au revoir. C'est pas la peine de le reprendre sur un autre nom, hein. Christian, de la Celle Saint-Cloud.
'''Bounty''' : Moi, j'aime bien faire l'amour, n'importe où. Même dans le foin.
'''Gérard''' : Ouais, mais... Peut-on faire l'amour en polluant ?
'''Bounty''' : Non, je crois pas.
'''Phildar''' : Pourquoi ?
'''Gérard''' : Non, mais pourquoi... Tu vois... Non, non, mais... On avait bien précisé. Il n'y a pas de pourquoi ni des comment. Donc, maintenant, tu le laisses répondre si...
'''Phildar''' : Alors, why ?
'''Bounty''' : C'est très difficile.
'''Gérard''' : Ouais, mais... Alors... Comment... Pourquoi...
'''Phildar''' : Ah, non, pas de pourquoi, Gérard.
'''Gérard''' : Ouais, mais...
'''Phildar''' : Ah, ouais, bah, ouais, t'es bien emmerdé, là.
'''Gérard''' : Dans quel sens...
'''Phildar''' : Non, non, pas dans quel sens, non plus.
'''Gérard''' : Non, non, parce que là, c'était des conneries, ici. Alors, moi, je fais ce que je veux.
'''Phildar''' : Ah, d'accord, toi, t'as le droit, OK.
'''Gérard''' : Donc, Christian, donc... Dans quel sens ? Peut-on faire l'amour en polluant ? Donc pour toi...
'''Bounty''' : Dans le foin.
'''Gérard''' : Ouais, dans le foin... Ouais, mais je vois pas... Je vois pas du tout le rapport. Parce que, dans ce cas-là, tu cherches une aiguille dans une botte de foin. ''[PHildar applaudit, les auditeurs ovationnent]''. Dans ce cas-là, Christian... Moi, je vais te dire une chose. Donc, je vais répondre à la question. Donc, si, admettons, t'arrives pas à trouver la foufoune de la personne, donc, t'es obligé de la chercher dans une botte de foin.
'''Bounty''' : Exactement.
'''Gérard''' : Alors, on va demander à Coquelicot.
'''Coquelicot''' : Non, moi, je crois pas que ça pollue. Franchement, non.
'''Gérard''' : Ouais, mais est-ce que t'as déjà essayé, toi ?
'''Coquelicot''' : Non, franchement, non.
'''Gérard''' : Non, mais attends, 19 ans, je pense que... C'est vrai, à Troyes, ils font pas beaucoup l'amour, hein. ''[rire bruyant, rocailleux, moqueur, envers Phildar, originaire de cette ville]''.
'''Phildar''' : Qu'est-ce que t'en sais, t'y habitais ?
'''Gérard''' : Hein, Phildar ? Braguette ?
'''Braguette''' : Oui ? Bah, moi, je suis d'accord avec Coquelicot. Je dis que ça pollue pas.
'''Gérard''' : Ouais, bah, toi non plus, t'as pas essayé, là-bas.
'''Braguette''' : Ah, si, si, moi, j'ai essayé... J'ai essayé dans les volcans, j'ai essayé dans les petites rivières autour des volcans et j'ai pas pollué.
'''Gérard''' : Ouais, non, mais, de toute manière, les volcans, j'ai annulé... Normalement, c'était le thème du deuxième débat, mais je l'ai annulé parce que... C'était... C'était pas évident. Non, et puis même...
'''Braguette''' : Harroun Tazieff était pas libre.
'''Phildar''' : T'as trop de problèmes, en ce moment, avec les volcans, la grève et tout, c'est chiant.
'''Gérard''' : Non, non, non, mais même, les volcans, c'était pas... Ils en parlent pas assez à la télé, tout ça. Moi, je sais, je sais très bien que j'ai été sur Clermont, il y a 3-4 ans, j'ai été me balader. Je sais que c'est là-bas qu'on voit... Il y a un coin qui est... Qui est volcanique. En Auvergne, je sais que c'est le truc des volcans. Donc...
'''Braguette''' : T'as été à Vulcania, non ?
'''Gérard''' : Ben, j'y ai été, oui, mais c'est pas évident parce que quand tu y vas à pied, faut quand même monter la côte. Parce que tu peux pas y monter en voiture.
'''Greenpeace''' : Gérard, je voulais te poser une question, c'est Greenpeace. Est-ce que t'as vu ce qui s'est passé à San Francisco, Volcano ? Il y a un volcan qui est sorti de San Francisco.
'''Gérard''' : Non, non, mais attends, pour l'instant, on est dans la pollution, d'accord ? Sucre d'orge.
'''Sucre d'orge''' : Oui. Ben, alors, moi, je trouve que l'amour, c'est trop beau, quoi. Ça pollue en aucun cas.
'''Gérard''' : Bon, ben, c'est tout ce que t'as à dire ? Non, mais je pense que, là, ce soir, on dirait que vous êtes pas réveillés, là.
'''Greenpeace''' : Mais si, Gérard.
'''Phildar''' : Non, ils sont calmes, nuance.
'''Greenpeace''' : Si tu veux, on peut s'exciter hein.
'''Sucre d'orge''' : Il y a un autre sucre d'orge là.
'''Gérard''' : Quoi, un autre sucre d'orge ?
'''Sucre d'orge''' : Ouais, il y a plusieurs sucres d'orge dans cette maison. On est trois sucres d'orge.
'''Greenpeace''' : Je vais te le foutre, mon sucre d'orge, moi, tu vas voir.
'''Phildar''' : Ben, réponds, alors, vas-y.
'''Sucre d'orge''' : Eh ben, moi, je me dis que ça pollue pas et que Gégé, je sais pas pourquoi il pose la question. T'as pollué en faisant l'amour, Gégé ?
'''Gérard''' : Ah, ben, ça, je vais te dire une chose, Sucre d'orge, tu vas te calmer, déjà.
'''Sucre d'orge''' : Mais non, mais je sais pas, j'ai pas compris ta question.
'''Phildar''' : Ouais, voilà pourquoi, toi, Gérard, t'as écrit cette question ? Pourquoi ? Toi, tu penses que l'amour, ça pollue ou pas ?
'''Gérard''' : Non, peut-on faire l'amour en polluant ? Bon, de toute manière, tu peux faire très bien l'amour comme Moustache disait, ou Greenpeace, ou Coquelicot, ou Bounty, je sais plus. Enfin, bref, on s'en passe. Mais je pense que faire l'amour, tu peux faire l'amour où que tu veux.
'''Phildar''' : Mais ça pollue pas.
'''Gérard''' : Ben oui, mais voilà, d'accord. Mais je crois pas pourquoi, tout de suite, y'en a qui s'attachent sur des trucs qu'on vient à voir sur ce thème du débat.
'''Phildar''' : Mais pourquoi t'as pensé à cette question, toi ?
'''Gérard''' : Ben, pourquoi ? Parce que c'était une question qui me venait à la tête. Je voulais savoir. C'est tout.
'''Phildar''' : D'accord. Comme ça, t'as la réponse. T'es content ?
'''Gérard''' : J'ai la réponse... De toute manière, y'a personne qui est capable de répondre. Alors, un orage provoque-t-il une pollution atmosphérique ?
'''Bounty''' : Un tonnerre. Un très fort tonnerre.
'''Gérard''' : Non, mais, un orage provoque-t-il une pollution atmosphérique ?
'''Christian''' : De gros dégâts. De gros... De gros... De gros... Accidents. Des gros... Qui provoquent pas mal de dégâts.
'''Gérard''' : D'accord. D'accord. Ouais, je vois ce que tu veux me dire. Sucre d'orge ?
'''Sucre d'orge''' : Moi, je dis que ça nettoie, un orage. Après, tout est beaucoup plus propre.
'''Gérard''' : Non, mais un orage... Un orage provoque-t-il une pollution atmosphérique ? Moi, je peux vous dire une chose que...
'''Sucre d'orge''' : Non, ça assainit.
'''Gérard''' : Non, non, mais... Non, mais attends, Sucre d'orge, je vais répondre à ta question, s'il te plaît. C'est que... Vu le cyclone Georges et tout ça... Ouais, mais ça, je vais vous dire une chose.
suPhildar''' : Et la couche d'ozone, ça a rapport ou pas ?
'''Gérard''' : Bah oui. Moi, je vais te dire une chose. Dans ces cas-là, on parle d'un orage. Tu viens de dire ?
'''Phildar''' : La couche d'eau jaune.
'''Gérard''' : La couche d'ozone. Donc, tu prends... le truc... météorologique. La couche d'ozone, avec les gaz d'échappement...
'''Phildar''' : Vous allez apprendre quelque chose ce soir, écoutez.
'''Gérard''' : Avec les gaz d'échappement, tu peux avoir plus de pollution. Donc, cet été, on a atteint le barème... voire 4, 5 à un moment donné sur Paris.
'''Bounty''' : Même 6.
'''Gérard''' : Non, non, non, non, Christian. Non, non, on n'a pas dépassé le barème 5.
'''Phildar''' : Le 5,9, je crois.
'''Gérard''' : Non, on est resté à 5. Mais il faut dire une chose, c'est que là-dessus, quand on dit « ouais, les pastilles vertes », donc, les pastilles vertes, je vois pas ce qu'elles ont à faire là-dedans, parce que, de toute manière, les gens prendront toujours leur voiture pour se déplacer, pour aller au boulot.
'''Manu''' : Ouais, mais ils ont pas besoin de bouffer de pastilles Valda pour ça.
'''Gérard''' : Mais non, mais la pastille verte, c'est... Arrête tes conneries, toi. Occupe-toi de ton standard et réponds pas aux questions.
'''Manu''' : Je peux accueillir un nouvel auditeur, par contre ? Donc, on accueille Kelnumero, 20 ans, de Toulouse, sur 105.9.
'''Kelnumero''' : Bonsoir, Paris, et bonsoir, le bar où je travavaille, c'est-à-dire le Maxi Eiffel Fire.
'''Gérard''' : Salut à toi, Kelnumero !
'''Phildar''' : Non, c'est une petite pub.
'''Gérard''' : Non, mais les pubs, on les fait pas.
'''Phildar''' : C'est la nuit sans pub, OK ?
'''Max''' : Et Manu, tu prends sur les 24 lignes, ok ? Parce que je suis venu lui donner un coup de main, il y a 24 lignes.
'''Gérard''' : Ouais, alors, t'accouches. ''[Manu pousse des cris et des respirations rapides, comme ceux d'une emme qui accouche]''. Je senq due tout à l'heure, il y en a un qui va se prendre une pêche. Donc alors, un orage provoque-t-il une pollution atmosphérique ?
'''Kelnumero''' : Moi, je ne sais pas, je ne pense pas, mon cher Gérard, je ne crois pas.
'''Gérard''' : Ouais, mais... Réponds quand même à la question. Non, mais attends, Kelnumero, pourquoi tu appelles ?
'''Kelnumero''' : Ben non, mais pour participer au débat, Gérard.
'''Gérard''' : Non, mais je te pose la question. Si tu ne veux pas répondre, si tu n'as pas la réponse, c'est pas la peine d'appeler.
'''Phildar''' : Ah si, quand même, attends. C'est pas parce qu'il n'a pas une réponse à une question qu'il n'est pas obligé de participer à tout le débat.
'''Gérard''' : Mais là, pour l'instant, il n'est même pas capable de dire...
'''Phildar''' : Non, c'est pas grave, il répondra la prochaine.
'''Kelnumero''' : Avec les éclairs et tout, oui, oui, tout à fait, je pense, oui.
'''Phildar''' : Pour sortir un peu du débat, excuse-moi, il y a Steph sur le Minite qui demande si les pète-fouf polluent l'environnement.
'''Gérard''' : Bon, ben ça, c'était quand on faisait l'amour. Je ne vois pas du tout... Le rapport.
'''Phildar''' : C'est une sorte d'orage. C'est une sorte d'orage. Non, ça ne pollue pas, alors.
'''Gérard''' : Christian. Christian, pour toi ?
'''Bounty''' : Ben, moi, je suis tout à fait d'accord avec toi.
'''Greenpeace''' : Christian, je t'ai reconnu. Pourquoi, Tony, tu prends cette voix de mongole ?
'''Gérard''' : Bon, eh, vous commencez à vous calmer, là. Hein Kelnumero !
'''Kelnumero''' : C'est l'autre, là, Moustache, là.
'''Greenpeace''' : Ouais, Moustache, Gérard, tu devrais le virer parce qu'il fout la merde depuis...
'''Gérard''' : Non, mais c'est bizarre, Manu, je t'avais dit...
'''Manu''' : Mais Moustache est parti, donc...
'''Gérard''' : Non, mais pourquoi qu'on le récupère ?
'''Manu''' : Mais il n'est pas là !
Oui, ben, moi, je dis que ça... Je pense pas que ça pollue, non.
'''Gérard''' : Ouais, mais... Ben... T'as pourtant bien vu des orages ?
'''Sucre d'orge''' : Des fois, il y a des orages de pluie acide. Des fois, ça pollue tout sur le son passage.
'''Braguette''' : Moi, je dis que c'est le contraire, en fait. C'est la pollution atmosphérique qui provoque les orages. Mais c'est bon, en fait. Un bon orage, une bonne pollution d'orage, c'est bien. Ça assainit, elle a raison. Et puis, l'électricité statique, ça fait peur aux enfants, c'est...
'''Gérard''' : Non, non. Moi, je peux vous dire une chose, que l'orage, pour moi, personnellement, vu ce qu'on en... Reego, vas-y, avant que je termine.
'''Reego''' : Ouais, c'est juste Choune sur l'IRC qui te demande ce que veut dire atmosphérique, parce qu'il sait pas du tout.
'''Gérard''' : Ben, atmosphérique, c'est... Atmosphère.
'''Greenpeace''' : Et c'est quoi l'atmosphère ?
'''Gérard''' : L'atmosphère, c'est les nuages et c'est tout ça. Quand vous voyez des gros nuages noirs, là, vous pouvez être sûr d'avoir un gros orage. Quand vous voyez des éclairs, c'est pareil.
'''Greenpeace''' : Gérard, c'est Greenpeace, moi, j'ai pas répondu. Moi, je pense que les orages, ça pollue carrément pas, puisque, en fait, quand il y a de la pollution, c'est qu'il y a de la chaleur. Donc, les orages, il fait froid, généralement, et voilà, ça pollue pas.
'''Gérard''' : Non, non, non, non, non, non, non.
'''Phildar''' : Pourquoi, Gérard ?
'''Gérard''' : Non, non, je vais dire une chose. En été, quand on n'a pas de flotte, on se plaint parce qu'on a trop chaud. Et quand il pleut, c'est pareil, on se plaint parce qu'on a trop froid.
'''Greenpeace''' : Oui, mais Gérard, moi, ce que t'as pas compris, c'est que, tu vois, quand...
'''Gérard''' : Non, mais attends, dis carrément que je suis un con, que je comprends pas.
'''Greenpeace''' : Moi, je le... Enfin, non, mais bon.
'''Gérard''' : Non, tu le penses... Tu veux pas le dire, mais tu le penses.
'''Greenpeace''' : Exactement.
'''Gérard''' : Bon, alors, Greenpeace, bonne nuit. C'est bon. Non, non, Greenpeace et Moustache, bonne nuit à vous deux. Allez, hop, terminé. On va terminer... Il nous reste deux questions. On va terminer avec Sucre d'orge, Bragate, Coquelicot, Bounty et Kelnumero. Voilà. Alors, le parfum est-il un moyen de pollution ? On va demander à Kelnumero.
'''Kelnumero''' : Oui, alors, moi, j'estime que oui, parce que je vois des grosses bonnes femmes, des fois, qui se foutent de la cocotte et tout. Et, tu sais, quand t'es dans un endroit, dans un magasin et tout, et que t'es à côté d'elles, elles s'en foutent plein, plein, plein. C'est une horreur. C'est une pollution du nez, quoi, oui.
'''Gérard''' : Ouais, mais ça... Ça, je vais te dire, Kelnumero, moi, je peux te confirmer, c'est que... Je pense que Coquelicot, Bounty, Braguette et Sucre d'orge, je pense que vous allez tous être d'accord avec moi. Donc, je pense que je vais vous dire une chose là-dessus sur le parfum. C'est que dès que, par exemple, une personne va avec sa copine pour y acheter du parfum... Donc, déjà... Rien que si elle en met le peu sur la paume de sa main, déjà, tu vas le sentir pendant un bout de temps.
'''Braguette''' : Mais ça dépend quel parfum, en fait.
'''Gérard''' : Oui, mais même que ça soit du parfum pour femme ou pour homme...
'''Braguette''' : Non, non, mais c'est même pas ça. C'est qu'en fait, il y a des bons parfums et il y a des mauvais parfums. Les mauvais parfums, il y a des mauvaises choses dedans, et c'est les parfums qui puent, genre marque de sport. Tu vois ce que je veux dire ?
'''Gérard''' : Non, non. Attends, attends, attends. Attends, attends, attends. Qui c'est qui vient de me parler de marque de sport, là ?
'''Phildar''' : Est-ce que l'Adidas, ça pue ou pas ?
'''Gérard''' :Attends, attends, attends. Justement, tu me coupes...
'''Max''' : J'ai aussi un jeune, là, que j'ai à l'antenne, mais ils ont été au moins... On parle de la pollution des téléphones portables. Il voulait savoir si les portables, portab, téléphones polluent. Tout ce qui est électronique. C'est une question qui revient souvent.
'''Gérard''' : Ça, sur l'électronique, ça m'étonnerait que ça pollue. Ça dépend des gens qui veulent... Ils veulent l'acheter.
'''Manu''' : D'autre part, excusez-moi tout le monde, d'autre part, on accueille Prof Salade, qui est chercheur au CNRS à la place de Greenpeace.
'''Gérard''' : Non, mais attends. Tu le dis au grand chef, parce que c'est lui qui l'a sélectionné.
'''Max''' : C'est moi qui l'ai sélectionné. Je ne sais pas s'il est valab.
'''Gérard''' : Oui, mais j'espère qu'ils n'ont pas changé de nom pour...
'''Max''' : Non, non, non. C'est moi qui viens de le rappeler, là, à l'instant, sur son portable. Par contre, il est sur son portable. Normal, il est dans son laboratoire.
'''Prof salade''' : Oui, allô ? Bonsoir, Gérard. Oui, je suis désolé de t'appeler d'un portable, mais voilà, je suis au moment... Oui, donc je vais te démontrer, comme deux et deux font trois...
'''Gérard''' : Non, deux et deux font quatre chez moi, pas trois.
'''Prof salade''' : C'est un incendie de forêt. Je suis désolé de revenir sur le début du débat...
'''Gérard''' : Non, non, non, non, on en est à la huitième, on parle du parfum,
on ne reprend pas les questions du départ. Parce que sinon, tu vas retourner voir le chef.
'''Prof salade''' : D'accord. Donc, est-ce que tu as fait de la chimie dans ta vie ? Voilà. Donc, est-ce que tu sais que la combustion du carbone avec de l'oxygène donne de l'eau et du CO2 ?
'''Gérard''' : Oui, mais attends, je vais te dire une chose, je me suis tapé de... Non, non, mais je me suis tapé des acides de carbone quand on était en Allemagne avec Sandy, chez Goodyear.
'''Phildar''' : C'est bon ? C'est pas mauvais, ça, non ?
'''Gérard''' : Oui, Reego ?
'''Reego''' : Non, rien.
'''Gérard''' : Non, je croyais que t'avais une question. Non, mais si t'avais... ...sur l'IRCE, moi, ça me dérange pas.
'''Reego''' : Non, on me dit juste que tu fumes des acides de carbone, mais je vois pas le rapport.
'''Gérard''' : Non, mais ça, moi non plus.
'''Prof salade''' : Les acides de carbone, ça n'existe pas, Gérard.
'''Gérard''' : Oui, ben, les acides de carbone, tu sais, ça sert à quoi ? À faire des pneus et des joints de voiture.
'''Phildar''' : Je le savais pas, en plus, je l'ai dit comme ça au hasard.
'''Sucre d'orge''' : Et Gérard, moi, je disais que les parfums, ben, ça pollue,
parce que c'est fait pour cacher les mauvaises odeurs, et les mauvaises odeurs, c'est de la pollution. Alors, les sportifs qui puent, ils mettent du parfum, et c'est pour cacher la pollution, et tout ça, c'est pour cacher la pollution. T'es d'accord ?
'''Gérard''' : Non, je suis pas d'accord avec toi.
'''Sucre d'orge''' : Mais il y a des parfums, quand ils sont doux, c'est agréable, ça pollue pas. Mais il y a les parfums de chiotte, aussi, ça pollue, parce que ça proue la couche d'ozone.
'''Bounty''' : Moi, je trouve que les parfums, ça sent très bon, même sur une femme. C'est très agréable. C'est très agréable à sentir, une femme qui a beaucoup de charme et du parfum.
'''Gérard''' : Ouais, mais, alors, Christian, moi, je vais te poser la question, et ça, toi, tu vas répondre, tu vas te mettre à côté de Phildar. Quoi, non ? Non, non, pourquoi ?
'''Phildar''' : Non, moi, je réponds pas, je croyais que je devais répondre, non, non.
'''Gérard''' : Parce que moi, je vais te dire une chose, une nana qui s'en met trop, par un moment donné, ça fait mal à la tête avec le...
'''Kelnumero''' : Pourquoi ?
'''Gérard''' : Non, attends, il n'y a pas de pourquoi, toi, tu vas la fermer ! C'est pas à toi que je m'adresse ! Quand je t'appellerai pot de chambre, tu sortiras de sous le lit, toi ! Ok ? ''[applaudissements du studio]''.
'''Kelnumero''' : D'accord, Gérard, je me soumets à ton courroux.
'''Gérard''' : Alors, dans ces cas-là, t'as qu'à fumer la moquette et on verra !
''Phildar ''' : Non, ça pollue, hein !
'''Gérard''' : Hein, ok ? Alors vas fumer la moquette !
'''Max''' : En même temps, je me permets, Max, c'est Max, si le mec, il dit, quand tu dis que quand une femme met trop de parfum, ça donne mal à la tête, quand il te demande pourquoi, c'est normal qu'il te pose pourquoi, parce qu'il est en train de savoir pourquoi.
'''Gérard''' : Ouais, mais j'en connais une, elle s'en met du matin au soir, c'est pas parce que moi, je m'en mets beaucoup, mais je voudrais bien qu'elle réagisse, là. Allez, hop !
'''Max''' : Ça, c'est peut-être pour camoufler la transpi, non ? ''[Sandy va s'asseoir près du icro mais peu convaincue]''
'''Braguette''' : Par contre, il y a des mecs qui se mettent pas de parfum...
'''Gérard''' : Non, non, attendez, s'il vous plaît, derrière, merci, il y a un morceau, là.
'''Sandy''' : Disons que le... Oui, bonsoir, disons que le parfum, c'est bien, t'es obligé d'en mettre, si tu vas à un rendez-vous, t'es obligé de mettre du parfum.
'''Gérard''' : Ah ouais, mais attends, attends, attends, tu vas à un rendez-vous, tu te mets... Attends, je te réponds à ta question, et là, je pense qu'on va se marrer sérieux. Tu crois que tu vas dans un bureau d'un directeur, par exemple, moi, je vais voir Axel. J'arrive, je suis avec ma bouteille, vas-y, hop ! ''[rires sarcastiques et forcés de tout le studio]''.
'''Sandy''' : Non, mais moi, je prends pas ma bouteille sur moi, hein.
'''Gérard''' : Non, mais attends, mais dans ces cas-là, c'est pareil.
'''Sandy''' : Et ce soir, j'ai même pas amené ma bouteille de parfum, donc tu vois...
'''Phildar''' : Elle est tombée dedans, OK ?
'''Gérard''' : Ouais, elle est tombée, parce que t'es à côté, toi. Tu te calmes, hein, tu gardes tes mains...
'''Phildar''' : Ah, t'inquiète. ''[le studio explose de rire]''. Je touche pas à ta cam'.
'''Gérard''' : Ça, c'est ma propriété. Défense d'y toucher.
'''Phildar''' : T'as un droit de bail, non ?
'''Gérard''' : Ouais, j'ai un droit. Donc, dernière question, je pense, ça, c'est... Le chef, il va répondre. Ça, c'est lui qui l'a sélectionnée. Moi, je pense que ça va me retomber sur la gueule, mais c'est pas grave. Les boissons sont-elles...
'''Kelnumero''' : Oui, oui.
'''Gérard''' : Ah, oui, oui ? qui ? Alors, Kelnumero, vas-y ?
'''Kelnumero''' : Bah oui.
'''Gérard''' : Bah oui, mais t'as même pas entendu la fin de la question.
'''Kelnumero''' : Est-ce que c'est une pollution pour toi ? Oui, certainement.
'''Gérard''' : Ah, voilà. T'es content de ta réponse ?
'''Kelnumero''' : Pour moi aussi, parce que moi, je bois beaucoup. Tu sais, ma mère est écossaise, donc... J'ai l'alcool dans le sang depuis que je suis petit donc...
'''Braguette''' : Ton père est boulonais, non ?
'''Prof salade''' : Euh, allô ? Est-ce que les chiottes de la Loco sont polluées ?
'''Gérard''', ''[explose]'': Bon alors Kelnumero, au revoir !
'''Kelnumero''' : Non, non, c'est pas moi.
'''Gérard''' : Bonne nuit ! Bonne nuit, bonne nuit, bonne nuit, bonne nuit !
'''Manu''' : C'est pas Kelnumero, c'est prof Salade. Ça y est. Voilà.
'''Gérard''' : Attends ! Hé, Manu ! Je te préviens !
'''Max''' : Non, parce qu'il avait son portable.
'''Gérard''' : Je te préviens ! J'avais prévenu. Ce soir, le premier débat, je veux pas le casser.
'''Phildar''' : C'est nickel, là.
'''Gérard''' : Là, t'es en train de me le niquer.
'''Manu''' : C'est prof Salade, il est parti.
'''Gérard''' : Alors maintenant, tu te démerdes. Je veux pas savoir. Euh... Bounki ? Bounky, pour toi ?
'''Bounty''' : Oui, bah moi, quand je vais dans... Quelque part, je bois de l'alcool, mais très modérément.
'''Coquelicot''' : Moi, je ne bois pas du tout. Donc, je peux pas répondre à cette question.
'''Braguette''' : Ouais, alors moi, je bois pas du tout et je supporte pas les gros cons qui picolent, quoi. Pour moi, c'est... Parce que eux, ce sont des pollueurs, oui.
'''Gérard''' : Alors, attends, euh... Je vais te dire une chose, Braguette. Quand tu vas dans une boîte de nuit, t'envoies des gros cons ?
'''Braguette''' : J'en vois pleins, oui.
'''Braguette''' : Et à Clermont-Ferrand, il y a des boîtes de nuit, quand même ?
'''Braguette''' : Et puis, il y a aussi des gros cons qui picolent.
'''Gérard''' : Alors, dans ces cas-là, pourquoi que tu vas dans les boîtes de nuit s'il y a des gros cons ?
'''Braguette''' : Bah, attends. J'ai le droit de sortir, quand même.
'''Sucre d'orge''' : T'as des bons DJs ?
'''Gérard''' : Ouais, sucre d'orge, pour finir ?
'''Sucre d'orge''' : Bah, moi, je bois beaucoup, mais que de l'eau. Alors, je peux répondre que boire, ça pollue pas quand tu bois de l'eau.
'''Gérard''' : Ouais, c'est ça.
'''Phildar''' : Ouais, c'est limite comme réponse.
'''Gérard''' : Ça m'étonnerait. À mon avis, ça m'étonnerait.
'''Sucre d'orge''' : Tu me crois pas ? Je bois un petit peu de champagne de temps en temps.
'''Gérard''' : Ouais, un petit peu, quand même.
'''Kelnumero''' : Est-ce que tu penses que, pour toi, ça en est une, Gérard ? Bah, une pollution.
'''Gérard''' : Non, mais moi, je vais te dire une chose, que si je bois, c'est mon problème, c'est pas le vôtre, et ça vous regarde pas, les auditeurs.
'''Phildar''' : C'était pas ça, la question, Gérard. C'était de savoir si c'est pour toi, de boire, c'est une pollution ou pas.
'''Gérard''' : Ben, ça regarde... Simplement, ma femme, c'est tout. Voilà, c'est tout. Ça regarde personne d'autre. Donc, conclusion...
'''Manu''' : Attends, Gérard, justement, pour la conclusion, on va accueillir Cactus, 22 ans, de Paris.
'''Cactus''' : Bonsoir, Gérard. Ça va ?
'''Gérard''' : J'ai pas regardé, ce matin.
'''Cactus''' : T'aurais dû regarder, comme ça, t'aurais pu me répondre.
'''Gérard''' : Ouais, ben, vas-y.
'''Cactus''' : Non, mais tu vas bien, Gérard ?
'''Gérard''' : Ben... Je sais pas, je te dis.
'''Phildar''' : Il a pas regardé, ce matin. Alors, ta conclusion, Cactus ?
'''Cactus''' : Alors, ma conclusion à tout ça... C'est que c'était un très long débat qui était très bien fait. Bien animé par Gérard. Et qui s'est vachement bien passé, pour une fois. Et puis, voilà. Voilà ma conclusion.
'''Gérard''' : D'accord. Ben, comme t'as fait la dernière question, tu vas rester sur le deuxième.
'''Phildar''' : Ah, la classe !
'''Gérard''' : On va demander à Sucre d'orge...
'''Sucre d'orge''' : Oui ? Eh bien, je crois que t'as... Enfin, ouais, bien organisé le truc. T'as viré ceux qu'il fallait virer, t'as gardé ceix qu'il fallait garder.
'''Gérard''' : Non, mais ça, je l'ai fait parce que j'avais...
'''Phildar''' : Ça vient du cœur, ce qu'il a fait.
'''Gérard''' : Non, non. Non, non. Ça, euh... Je le dois à quelqu'un, vu ce qu'il s'est passé mardi, donc... C'est tout. J'y avais promis que ce soir, le premier et le deuxième allaient bien se passer, donc...
'''Phildar''', ''[riant]'' : On avait pas dit le deuxième. On avait dit seulement le premier.
'''Gérard''', ''[souriant]'' : Attends, tu vois... Tu vois, c'est con, parce que toi, t'ouvres toute ta grande bouche. Mais manque de pot, tu vas te taper la réa ! Eh, les deux. Tu vas faire les deux. ''[Manu proeteste avec gestes à l'appui]''.
'''Manu''' : Oh, non, putain. Oh, mince. Je vais démissionner, moi.
'''Gérard''', ''[triomphant]'' : T'es baisé. T'es baisé, mon pote. Et toi aussi. Alors, Sucre d'orge. Conclusion.
'''Sucre d'orge''' : Eh bien, je pense que même si on a dit beaucoup de bêtises et beaucoup de choses intéressantes, le fait...
'''Gérard''' : Non, non, non, non.
'''Phildar''' : On n'a pas dit une chose intéressante. Je tiens à le signaler.
'''Manu''' : Par contre, on a dit de ces conneries...
'''Sucre d'orge''' : Non, mais le simple fait d'avoir répété le mot pollution toute la soirée, c'est bien parce que ça rentre dans la tête des gens et puis ils vont en prendre conscience petit à petit.
'''Braguette''' : Ouais, alors moi, sur le thème, en fait, sur la pollution, je trouve que c'est bien, la pollution, parce que ça fait réagir les gens, parce que maintenant, on privilégie l'électricité, on privilégie aussi le chauffage, tu vois, solaire. Et sinon, pour le débat en lui-même, quand t'es gentil avec les gens, les gens sont gentils avec toi.
'''Coquelicot''' : Moi, c'est la première fois que je viens à un débat avec toi. Je trouve ça très sympa et je trouve que ça a apporté beaucoup de choses quand même, même s'il n'y a pas que des choses intéressantes, c'est vrai, mais je trouvais que c'était très sympa et j'espère que ça va faire réagir des gens.
Christian de la Celle-Saint-Cloud.
'''Bounty''' : Oui, moi, j'adore beaucoup ton débat et c'est pas mal de... Ça apporte beaucoup de choses et j'adore pas mal ton émission.
'''Phildar''' : Qu'est-ce que ça t'a apporté, Christian, le débat de ce soir, toi ?
'''Bounty''' : Beaucoup de choses.
'''Phildar''' : C'est-à-dire ?
'''Bounty''' : Sur la pollution, sur le cinéma, sur le...
'''Gérard''' : Non, non, mais attends, Christian, Christian, Christian ! Christian !
'''Phildar''' : On l'a pas encore fait.
'''Bounty''' : Non, sur la pollution, sur certaines choses, sur les orages, sur tout. Sur les parfums.
'''Gérard''' : Oui, mais t'avais pas autre chose à demander ? Parce que je t'ai entendu tout à l'heure à 22h. Non, c'est pas grave. Kelnumero ?
'''Kelnumero''' : Bon, alors pour ma toute première participation aux débats de Gérard, moi, j'ai trouvé ça bien, mais bon, je sais que la pollution, toi, c'est ce que tu vis au jour le jour et c'est...
'''Phildar''' : À Paris, ouais.
'''Kelnumero''' : C'est pénible pour toi.
'''Gérard''' : Non, mais de toute manière, la pollution, on la vit dans toutes les villes, hein. Je vais te dire une chose, ça, tu peux pas t'y échapper, que ce soit sur Paris, sur... Même en province, je pense que tu peux pas y échapper, hein.
'''Phildar''' : Il y a des endroits dans le monde où il n'y a pas de pollution, Gérard ?
'''Gérard''' : Euh, je pense pas, non. Donc, conclusion sur le premier débat. Donc, j'ai répondu quand même un peu aux gens. J'ai même coupé la parole pour répondre sur les questions.
'''PHildar''' : C'était bien, ouais. T'as bien fait.
'''Gérard''' : Donc, je pense que le deuxième, je voudrais qu'il se passe comme ça.
'''Phildar''' : D'accord, mais la pollution, la pollution.
'''Gérard''' : Ouais, mais il faudrait qu'on aye moins de pollution, moins de voitures. Parce que là-dessus, ça sera dur. Donc, le deuxième débat qui va porter sur le cinéma. Et on va s'écouter Bernard Mauvaise-Hallen avec Drajets Fuca. Et vous pouvez toujours nous appeler au 0800 70 5000 et 0803 70 5000 et toujours 3615 code Funradio, rubrique Direct. Et l'IRC qui... fonctionne bien je pense ?
'''Reego''' : Ca pulse à mort !
'''Gérard''' : On se retrouve tout à l'heure d'ici dix minutes.
''[Musique]''.
== Le débat sur le cinéma ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
...de loup dans le nez.
Non, ça c'était il y a trois disques, Gérard.
Oui, mais le deuxième c'était ?
Non, le premier, tu peux rappeler le premier et je te donne le...
Le deuxième, le premier, je l'ai, là, c'est Baba au rhum avec...
Non, le premier disque, là, on en a passé deux.
C'était Bernard Mauvais-Hallen.
Et le deuxième, c'était Blur. Voilà.
Et donc, je remercie, continuez à nous appeler au 0800 75 000 et 0800 3C 085 000
et toujours 3615 4 Fun Radio, rubrique directe et sur l'IRC, on continue de nous appeler.
Oui, toujours énormément de monde. Je salue Féji, Seb Zed, Gaëtan, Corben, Miss Lover et tous les autres qui sont là.
Et on a combien de personnes sans indiscrétion, Rigaud ?
Une petite seconde, je tape un petit truc et c'est vrai que ce n'est pas très bien de le dire, mais il y a 56 personnes.
Ne le dis pas, ça reste entre nous, non ?
Non, mais c'est bien, 56 personnes, il est 1h39, c'est bien quand même.
Et moi, je vous salue.
Je vais saluer Gilles et... Pardon ?
Dites-le en direct, mais pas trop fort, il ne faut pas que les gens l'entendent.
56, il y en a 56.
Et sur le Minitel, Gilles, l'inconnu, il y a aussi Babette et Sandy.
Et moi, j'aimerais saluer ma mère et ma copine.
Moi, je salue Titi et la Madridaine.
Pas de marque, pas de marque.
Non, mais la Madridaine, il se reconnaîtra.
Si, si, c'est une marque de vélo.
Mais il se reconnaîtra, la Madridaine.
On va accueillir Moulinette, 21 ans de Dijon.
On écoute Fun Radio.
Fun Radio sur 90.7.
Bonsoir, Gérard.
Bonsoir.
Tulipe, 19 ans, Toulouse, 105.9.
Bonsoir, Gérard.
Bonsoir.
Ananas, Saint-Leu-la-Forêt sur 101.9.
Salut, mon Gégé.
Salut.
Scooby-Doo, 23 ans, Du Havre.
On écoute Fun Radio sur 106.9.
J'espère que c'est la bonne fréquence.
C'est la bonne fréquence, Gérard.
Oui, oui.
Bonsoir, Paris.
Bonsoir, la Dreamtease.
Bonsoir à toi.
Cactus.
Rebonsoir.
Bonsoir, Gérard.
Donc, Paris, 101.9.
Voilà.
Et Christian de la Salle 5-12, 101.9 toujours.
Oui.
Donc, deuxième débat qui porte sur le cinéma.
J'espère qu'il va se passer aussi bien que le premier.
Bien péchu aussi, parce qu'il va se réveiller un petit peu, Gérard.
Un petit peu, oui.
Non, mais j'espère qu'il va se passer impeccable.
Comme le premier, c'est tout ce que je demande.
Alors, avez-vous déjà été au cinéma cette année ?
Oui.
Alors, on va demander à...
Non, ben, tiens, comme Christian, il a répondu le premier.
Oui, j'ai été souvent au cinéma.
Oui.
Et j'ai vu pas mal de films.
Comme quoi ?
Comme Le Titanic, Dîner de con, Six jours cette nuit, Prends garde à toi et Pédale douce.
Sur S-Gump aussi.
D'accord.
Pédale douce, je peux te dire une chose, c'est un film qui est passé dimanche sur...
Sur Première chaîne.
Avec Richard Berry.
Christian, t'es allé manger chez Gérard et t'as invité ?
Non.
Oui ?
Non.
Pour le film...
Non, c'est pas grave.
Manu ?
Ouais !
Non, mais j'ai rangé la blague, elle est pourrie.
Non, non, mais tu te calmes, Manu, parce que...
Ça peut aller très loin.
On dit tout de suite Manu.
Ça peut aller très loin, moi.
Avec une mauvaise idée.
OK.
Cactus, ta pique ?
Ben, moi, j'ai pas trop d'argent, alors tu vois, je me souviens pas avoir été au cinéma.
D'accord.
Scooby-Doo ?
Moi, ben, j'ai pas tellement eu l'occasion parce que je suis serveur dans un bar.
Ouais.
Euh, le problème, j'ai pas vu beaucoup, beaucoup de films cette année.
J'en ai vu quelques-uns, mais...
Voilà, voilà, voilà, voilà, voilà.
Il y a plus d'artènes, là.
Ouais.
C'est Olivier à la pro ?
Non, c'est Cactus, à mon avis, qui a...
Non, c'est Scooby-Doo qui doit avoir un truc bidon.
Non, pas moi, non, non, du tout.
Non, mais tu vois, là, ce que Manu t'a donné, c'est pas...
C'est des sondages.
Non, non, mais ça, j'en ai rien à foutre.
D'accord.
C'est pas grave.
Tu vois, parce que moi, tes sondages, j'en ai rien à foutre.
Alors, on fait pas de sondages lors des débats.
C'est intéressant, les sondages.
Non, mais c'était pas un sondage, c'était des statistiques, en fait.
C'était des questions, genre, pour ou contre le cinéma.
Non, non, mais ça, genre...
C'était pour savoir ce que les Français...
Non, non, mais tu vois, maintenant, dans mes débats, je mets plus des pour ou contre.
OK ?
Alors, ça, tu me le donnes ?
Il y avait aussi Qu'aimez-vous dans le cinéma.
Tu peux le dire, si tu veux, tiens.
Non, mais ça...
Non, mais tu peux le dire, c'est vachement intéressant.
Non, non, mais je verrai ça après.
OK.
Ananas.
Ouais, ben, moi, je suis un vrai fan de ciné.
Je vais souvent au cinéma.
Et dernièrement, j'ai vu une chatte sur un doigt brûlant.
Non, non, mais attends.
Toi, si tu commences, t'as vulgarisé...
Si tu commences à être vulgaire...
Ah, mais je suis pas vulgaire, Gérard.
Non, non, mais attends, une chatte...
Une chatte, tu sais ce que ça veut dire, pour moi ?
C'est un petit animal...
Non, non, non, non.
Attendez, il faut savoir si on considère que le cinéma pornographique ne fait pas partie du cinéma, Gérard.
Mais justement...
Non, mais justement...
Donc, si Ananas veut répondre...
Ben, ouais...
Viens avant moi à la cinquième question.
Donc, dans ce cas-là, prends les questions à ma place.
Ben, je peux pas savoir.
OK ?
Donc, Ananas, tu gardes ta réponse, parce que ça, c'est pour la cinquième question.
OK, alors, je serre les fesses jusqu'à la cinquième.
Voilà.
Bon, ben, alors, tu vas serrer les fesses avec Manu au standard.
Mais non.
Il a l'habitude, Manu, de serrer les fesses.
Je le dirai à chaque fois, lui.
Enfin, Gérard, on continue.
Donc, Tulipe.
Ben, moi, je suis un peu prise par le boulot, donc j'ai dû aller au cinéma quelques fois,
mais en ce moment, je peux pas trop.
D'accord.
Moulinette ?
Oui, alors, moi, j'y suis allée, mais bon, je peux pas te dire si c'est souvent ou un peu,
beaucoup.
C'est, je sais pas, une fois tous les deux mois, quoi.
Ouais, non, mais je pense qu'à l'heure actuelle, vous pouvez quand même aller voir certains
films qui sont sortis.
Peut-être Minitel, non ?
Ouais, je pense qu'ils vont aussi au cinéma.
Non, mais on a des réactions ou pas ? Parce que sur l'IRC, on a du monde.
Si sur Minitel, ils veulent pas répondre...
Ben, on a Dada sur Minitel.
Qui dit ?
Qui dit que tu es quelqu'un qui parle très vite et qui parle...
Attends, comment il dit ça ?
L'homme qui parle plus vite qu'il ne réfléchit.
Ouais, ouais, dans ce cas-là...
C'est flatteur.
Non, mais c'est flatteur.
Non, non, mais dans ce cas-là, elle aurait pu dire l'homme qui parle plus vite que son
ombre.
Voilà, c'est un peu le même principe.
Ou l'homme qui tire plus vite que son ombre, en parlant de l'équilibre sur IRC.
Oui, il y a Corben qui me demandait si le cinéma pollue.
Oh, non, mais alors là...
C'est plus le thème du débat.
Mais est-ce que la pollution, c'est du cinéma ?
Non, non, mais ça...
Non, non.
Donc, alors là, je pense que c'est une question qui va faire plaisir à tout le monde.
Oui.
Je pense que tout le monde a entendu parler du film.
On en a fait de la pub sur Fun Radio.
Que pensez-vous du film Godzilla ?
Ah, vous ne pouvez pas passer à côté.
Désolé.
Désolé.
Je trouve ça très bien, Christian.
Oui, Christian.
Vous avez vu le film.
Oui.
Je trouve ça très formidable.
Christian, sans indiscrétion, on va demander à Cactus, Scooby-Doo, Ananas, Tulip et Mouninette de se calmer.
Où t'as été le voir ?
Au Gaumont-Parnasse, le matin de très tôt.
Pas de marque !
Hein ?
Au Gaumont-Parnasse.
Au Gaumont.
Gérard, il était à la New Yorker.
Tu vois, moi, j'ai été le voir avec Sandy qui se planque derrière la bombe.
Il n'a rien compris.
Il n'a rien compris, mais il l'a vu.
Le poussin a été le voir.
On n'a pas...
Tu as compris que c'était un monstre qui cassait une ville ?
Oui, bien sûr.
Je vais te dire une chose.
Tu demanderas à Poussin de tout à l'heure, après l'émission, tu verras...
C'est le nom qu'ils avaient donné au monstre dans le film.
Non, non, mais tu demanderas à Poussin de tout à l'heure.
Donc, Christian, pour toi, tu as été le voir au Gaumont ?
Oui, au Gaumont-Parnasse, très tôt le matin.
OK.
Cactus ?
Écoute, moi, j'en ai entendu parler.
J'en ai entendu parler que du bien.
Donc, comme je te l'ai dit tout à l'heure, je n'ai pas d'argent.
Je n'en ai pas beaucoup.
Donc, je ne dépense pas mon argent là-dedans.
Mais il paraît que c'est super bien.
Mais dès que j'ai l'occasion d'y aller, j'irai le voir.
Eh bien, il faudra peut-être se dépêcher parce que là, il est...
Je ne sais pas, jusqu'à 1h46, c'est chaud, là.
Non, mais ne t'inquiète pas, Gérard.
Quand on veut voir un film, on arrive toujours à le voir.
Eh bien, OK.
Scooby-Doo ?
Gérard, je sens que tu vas me virer si je dis que je déteste Jean Reno,
que je déteste les films américains de merde et tout ça, donc...
Bon, alors...
Non, non, non, mais là, Scooby-Doo !
Scooby-Doo ! Scooby-Doo ! Scooby-Doo !
Il a le droit, hein ?
J'ai le droit, je ne l'ai pas vu et je n'ai pas envie de le voir.
Oh, stop ! Stop ! On se calme.
Scooby-Doo, si c'est pour insulter les acteurs de cinéma dans ces cas-là,
tu vas aller voir Manu parce que je pense que tu n'es pas encore rentré dans...
Je ne l'ai pas insulté. J'ai dit que je ne l'aimais pas.
Ben oui, t'es sectaire quand même, Gérard.
T'es un peu sectairé.
Non, mais attends.
Non, mais attends, je vais te dire une chose.
Quand t'insultes des acteurs de...
Non, il n'a pas insulté, il a dit qu'il n'aimait pas.
C'est-à-dire que, ça se trouve, il n'aime pas Jean Reno dans Godzilla
parce que le rôle est bidon.
Ah, non, mais attends. Son rôle est vachement bien dans...
Ben, explique pourquoi.
Son rôle est... Attends, Scooby-Doo, tu permets ?
Non, non, Scooby-Doo.
Non, Scooby-Doo ! Scooby-Doo !
Scooby-Doo, tu me laisses parler ?
Maintenant, je réponds à la question à Phil Dard.
Moi, je vais te dire une chose.
Jean Reno, dans le rôle qu'il a dans Godzilla,
fais-moi confiance qu'il est vachement bien.
Ah oui ? Et pourquoi ?
Il joue le rôle d'un...
Je ne l'ai pas vu.
Il joue le rôle d'un...
D'un agent secret, non ?
D'un agent secret.
Oh, je vais te chier, merde.
Oh, qui c'est qui a envie de chier, là ?
C'est la deuxième porte à droite.
Non, mais elle n'avait pas vu le film, vous lui dites la fin.
Ne racontez pas, je veux le voir.
Non, non, mais je peux te dire une chose.
Jean Reno joue là-dedans dans un super...
Il a un très bon rôle.
Super bagnole.
Oui.
Il a un très bon rôle.
Est-ce qu'il joue le rôle d'un...
D'un agent secret ?
Il ne l'a pas, il ne l'a pas.
Il joue le rôle d'un agent secret.
Ce n'est pas le monstre ?
Mais Gérard, Gérard.
Ce n'est pas le monstre, Jean Reno ?
Non, non, non.
Gérard ?
Oui ?
Oui, ce n'est pas parce que je n'ai pas...
C'est qui, c'est qui, c'est qui ?
C'est Scooby-Doo.
Oui.
Ce n'est pas parce que je n'ai pas les mêmes goûts que toi
que tu dois forcément t'énerver et vouloir me virer.
Non, mais attends.
J'ai vu tout un tas de films avec Jean Reno,
je n'aime pas du tout ce type.
Oui, mais si tu n'aimes pas Jean Reno,
dans ces cas-là, c'est...
Dans ces cas-là, est-ce que tu as regardé...
Léon, tout ça, mais je n'ai pas aimé.
Mais il est passé, il y a...
Quand est-ce que c'est ?
Il a joué dans...
Highlander.
Non, il n'a pas joué dans Highlander,
il a joué dans...
Les Bronzés, les Bronzés.
Non, pas dans les Bronzés.
Le film, l'opération Cornet de Bif.
Non, il a joué dans les Bronzés.
Ils l'ont passé à la télé.
Oui, mais il était très bien comme film.
Je suis désolé.
J'ai regardé Big avec Tom Hanks.
Oui, tu as raison.
Tulip.
Non, Ananas.
Ananas, pardon, Tulip.
Ananas.
Ananas.
Écoute, moi, ce n'est pas les acteurs
qui me posent un problème,
c'est la bestiole qu'en fait Godzilla,
c'est quand même un petit peu un monstre de tapette,
parce que si tu le mets à côté de King Kong,
il ne fait pas le poids, Godzilla.
Non, mais attends.
Attends, moi, je suis prêt à organiser un combat
entre Godzilla et King Kong quand tu veux.
Je suis prêt à mettre de l'argent quand tu veux.
Moi, je te dis, King Kong,
il met une branlée à Godzilla, c'est tout.
Non, mais attends,
King Kong et Godzilla sont de la même taille.
Godzilla, c'est un gorille ?
Non, Godzilla, ce n'est pas un gorille,
c'est un gros lézard.
C'est un gros lézard.
Et King Kong, c'est un singe.
Mais King Kong, il est plus fort, c'est tout.
Ce qu'on ne sait pas,
c'est que dans la vie, ils sont amants.
Non, non, non, non.
Un souci.
Tu as commencé quelque chose,
là, il ne fallait pas en parler.
Non, non, Tulip, Tulip, Tulip.
Moi, j'ai trouvé ça super.
Tu as été le voir ?
Oui, oui, j'ai été le voir, oui, oui.
Non, non.
Qui me dit non et qui me dit oui, là ?
Tulip.
Moi, j'ai été le voir.
Non, non.
D'accord.
Moulinette.
Parce que là, je ne vois plus de...
Alors, moi, je ne l'ai pas encore vu
pour la simple et bonne raison
que je ne regarde pas les films américains en français,
mais je les regarde en anglais,
donc j'attends qu'ils passent en anglais.
Eh ben...
Tu l'as vu en anglais, Gérard ?
Non, américain.
Ah, pardon.
Excuse-moi.
Fildar, tu as fait une erreur.
C'est impardonnable.
Excusez-moi.
C'était américain.
Moi, je peux vous dire une chose,
que ce film-là est très beau à voir.
Même Poussin l'a vu.
Et je pense qu'elle peut dire que...
C'est sûr qu'on a du mal à le comprendre, le film,
mais il est très bien.
IRC...
Stop, stop, stop, stop !
Stop, s'il vous plaît, derrière, merci !
Oui, sur l'IRC, il y a Fedji qui demande
si, au cinéma, les monstres peuvent remplacer les acteurs.
Ah ben, la preuve, c'est que Godzilla, le monstre,
s'est vu opposé avec Jean Reno.
C'est un peu la vedette, aussi.
Oui, mais ça, c'est Jean Reno qui a fait son film, donc...
Non, mais Godzilla, c'est la vedette.
Ben, disons, c'est que ce film-là...
Et pourtant, on ne l'a pas vu à l'avant-première en smoking.
Il n'est pas venu.
Pourtant, c'est la vedette.
Jean Reno...
Non, Godzilla.
Est-ce que Godzilla a été à Cannes ?
Tu mesureras en face de François, tu as Godzilla 2.
Qui c'est qui vient de dire ça ?
Ça, c'est pas cool.
Scooby-Doo, bonne nuit.
Où est Ananas ?
C'était Scooby-Doo, je l'ai géré.
Par contre, moi, je croyais que le monstre Godzilla
et le gars qui faisait sauver Willy, la baleine, c'était le même.
Ah ouais ?
Gérard, sur IRC, on me demande si tu connais le nom de l'acteur qui joue Godzilla.
Non.
Brandy.
Alors, celui qui vient de dire Sandy, bonne nuit.
Non, c'est Brandy, il a dit.
Non, mais même, ce n'est pas une raison.
C'est le nom de l'acteur, Brandy.
Brandy Walker, son vrai nom.
Oui, c'est ça.
C'est faux.
Je pense que tout le monde a répondu à Godzilla.
Maintenant, Gérard, on peut peut-être passer à la prochaine.
Donc, combien payez-vous la place de cinéma ?
On va demander à Moulinette.
Moi, je la paye 47.
Moi, Christian...
Attends, Christian, Christian.
Christian.
Oui.
Calme-toi.
Laisse parler tout le monde un peu.
Oui.
Donc...
T'arrêtes pas de parler, Christian.
Moulinette ?
47.
47 francs.
Sauf quand c'est en tarif réduit, c'est 37.
D'accord.
Tulipe ?
52.
Hein ?
Oui, 52 francs.
Attends, 52 francs à Toulouse ?
Ah bah oui, hein.
Ça fait 5 francs de plus ?
Ouais, bah...
Ouais, Ananas ?
Ouais, bah écoute, tu sais, moi, je fais le bon vieux truc.
J'y vais avec un copain, puis il vient m'ouvrir la porte de sortie de secours près des chiottes,
et puis je rentre gratos, quoi.
Bon, bah alors, Ananas ?
Ça, c'est n'importe quoi.
Ananas ?
J'ai le droit, non ?
Ananas ?
Oui.
Tu vois ?
C'est terminé pour toi.
Au revoir !
Au revoir !
Mais qu'est-ce qu'il a dit ?
Non, non.
J'ai pas le droit de resquiller ?
Pourquoi tu payes le métro, toi ?
Tu resquilles pas ?
Toi aussi, tu truandes des fois, Gérard.
Non, non, allez, allez, allez, allez, allez, allez, allez, Manu, Manu, Manu, Manu, Manu.
Chacun ses business, hein, GG.
Allez, allez, hop.
Ananas, c'est terminé pour lui.
Hop !
Scooby-Doo !
Ah bah, il est parti, Scooby-Doo, tu l'as acheté.
Non, tu l'as déraillé, Gérard.
Tu l'as testé.
Ouais, mais...
Eh, tu me prends des gens en standard, là, ou quoi, toi ?
Ah, les 24 lignes, là.
Non, mais attends, ça va, moi, je peux faire des débats comme ça ?
Non, parce que là, les pieds près de moi, c'est pas possible, Gérard.
Ouais, bah, alors ?
Ah, tu bosses un peu, Manu, quand même.
Ouais, bah, j'y vais, j'y vais, j'y vais.
Non, mais tu vas maintenant ?
Tu me reprends deux personnes à place d'Ananas et de Scooby-Doo.
OK.
Le débat, Gérard, le débat.
Alors, Cactus ?
Euh, c'est... Je crois que c'est 48 francs, la place, moi.
48 ?
OK.
C'est ton loto, là, ou quoi ?
Christian ?
Le paye 56 francs.
Hein ?
56 francs.
Ça rentre pas dans les cases du loto.
Alors, 56...
Alors, moi, je peux vous dire une chose, que là, il y en a aucun...
Personne m'a donné la bonne réponse.
Les meilleures places, c'est 30 balles la place du cinéma.
Où ça ?
Ah bon, ça ?
Dans tes rêves ?
Non.
Non, moi, je peux te dire une chose, UGC, c'est 30 balles.
Mais n'importe quoi.
Mais pour les moins de 12 ans.
Non.
Mais même.
En tarif réduit ?
Comment ?
En tarif réduit ?
Non, non, il n'y a pas de tarif réduit.
Pour les mongoliens ?
Non, il n'y a pas de mongoliens.
Attends, Gérard.
Moi, j'ai rarement vu des places à 30 balles à Paris.
Et même en province, je pense que c'est pareil.
Non, mais attends.
Toi, dans ta ville de Troyes, il n'y a pas de cinéma.
J'y étais une fois.
Il n'y a aucun cinéma dans ta ville de Troyes.
Moi, je faisais comme un ananas.
Je passais par derrière.
Ouais, bien sûr.
Bon, le problème, c'est pas ça.
Le problème, c'est que c'est 50 balles maintenant, parce que la vie évolue et qu'on pollue le système.
Bon, quelle heure il est ?
On revient toujours à la pollution.
Bah ouais.
1h50.
1h54.
Non, on ne continue pas la pollution.
Donc, oui.
Enchaîne la question.
Non, vas-y, enchaîne la question.
Vas-y, si quelqu'un voulait réagir sur les places.
Oui, alors, il y a Corben qui demande si Godzilla paye sa place quand la pollution est niveau 3.
Mais voilà, c'est apparemment...
Non, mais ça, je ne vois pas le rapport.
Ils s'en foutent, ça, Arrigo.
On t'a déjà dit.
Non, non, mais il fait bien de poser la question, mais ce n'était pas le thème du débat.
C'est qui sur IRC ?
C'était Corben.
Oui, mais Corben, ce n'est pas du tout la...
Corben, c'est pas du tout la...
Gérard, donc, à la place de Scooby-Doo, on accueille Poussin.
Poussin, donc.
Bonsoir.
Bonsoir, Poussin.
Bonjour, Gégé.
Et à la place d'Ananas, on accueille Yoshimitsu de Caen, où on peut écouter Fun sur 96.3 FM.
Comment tu l'appelles ?
Yoshimitsu.
Salut, c'est Yoshimitsu.
Ah ben...
C'est Yoshimitsu à l'appareil.
Salut.
Salut, Yoshimitsu.
Salut, Gégé.
Salut.
Donc, on va attaquer la quatrième.
La télé sur les films sortis.
Donc, alors, je refais la question.
Par exemple, quand vous regardez la télé, par exemple, le mercredi,
oh là, il y a des téléphones qui sont pourris, là, je n'aime pas ça.
Je crois que c'est Poussin.
Et Poussin, tu n'en es pas comme un bœuf ?
Non, non, ce n'est pas moi.
Ben si, mais dès que tu parles, ça s'arrête.
Donc, est-ce que vous regardez, par exemple, le mercredi,
vous avez des films qu'on vous annonce à la télé ?
Ça s'appelle des bandes annonces.
Voilà, les bandes annonces.
Sur exclusif, pas de gros mots.
Non, sur exclusif, je ne pense pas que j'en ai encore eu.
Pas de gros mots, pas de gros mots.
Alors, donc, est-ce que vous les regardez ?
Est-ce que vous regardez l'avant-première du film qui sort ?
Ah, il passe les avant-premières ?
Oui, il passe les bandes annonces du film.
Et ça, je peux le confirmer.
Donc, on va demander à Moulinette.
Oui.
Donc, pour toi.
Alors, moi, je ne regarde jamais ça,
parce que ça te donne toujours une image carrément faussée du film que tu vas aller voir.
Je me fais une opinion plutôt par les journaux et plutôt par mes amis.
Oui, mais attends, Moulinette.
Dans ces cas-là, si tu ne regardes pas la bande annonce à la télé,
donc, sur les journaux, c'est pareil.
Oui.
Donc, sur les journaux, ça te met la bande annonce du film qui sort.
Oui.
Donc, tu vois l'image.
Pas du tout, Gérard.
Ah, si ?
Tu ne vois pas l'image sur le journal, Gérard.
C'est, c'est, c'est, c'est, c'est.
Ah, oui.
Moi, je peux te dire que si, et je peux...
Elle ne bouge pas aussi.
C'est parce que tu lis des BD, Gérard.
Non, non, non.
Avec Gérard, elle bouge l'image.
Non, non, mais moi, je peux te ramener un journal, pas demain, mais mardi, si tu veux.
Moi, je te ramène le journal, et tu vas voir que même mercredi, je peux te ramener le journal,
comme quoi la bande annonce.
Ils vont te mettre la bande annonce des films, ils sortent le jour même.
Si t'as peine ta housse, ça m'intéresse.
Donc, Tulipe ?
Bah, moi, ça m'intéresse énormément, parce que vu le peu de films que je vais voir,
je suis sûre au moins qu'il m'intéressera ou pas.
Ouais, mais...
Voilà, qui c'est qui a un téléphone pour lui ?
C'est Poussin, je ne sais pas, elle le gratte sur son menton, sinon...
C'est parce qu'elle a de la barbe ou quoi ?
Elle a de la barbe.
Vous vous calmez, s'il vous plaît, derrière, merci.
Pardon.
Tulipe ?
Oui ?
Je me demande si à Toulouse, vous avez...
Il y a des ciné, hein.
Je me demande si vraiment, vous avez des salles de cinéma.
Ah, si, si, franchement, Gérard, il y a des salles de cinéma, hein.
Ouais, ça m'étonnerait, hein.
C'est pas le tiers-monde, hein.
Ouais, mais attends, à 19 ans, je crois que t'es en pleine étude,
ça m'étonnerait que t'ailles voir des films.
Je travaille, Gérard, je ne suis plus dans les études, moi.
Ouais, d'accord.
Moi, je voulais te poser une question, Gérard.
Imagine, tu vois la bande annonce le mercredi.
Une bande annonce, ça dure combien de temps ?
Ça dure une minute, une minute trente ?
Ouais, grosso modo.
Qu'est-ce que tu vas te faire chier après, aller voir le film ?
Non, mais tu vas me dire, sur la bande annonce,
tu ne vois presque rien.
Ah bon ?
Tu ne vois presque rien, il faut voir le film réel.
Par exemple, sur Godzilla, t'as vu quoi ?
T'as vu simplement le monstre qui cassait carrément l'hôtel.
Ouais, mais il n'y a que ça dans le film, de toute façon.
Oui, non, mais il ne fait que ça, je suis d'accord.
Raconte pas, raconte pas, raconte pas.
Non, mais attendez, je réponds à Manu.
Oui, d'accord, Manu, il ne fait que ça.
Ok, d'accord.
Donc, je me dis, ça ne sert à rien d'aller voir le film après.
Mais si, pour les gens qui aiment bien voir des films comme ça,
peuvent aller le voir.
Moi, je leur conseille d'aller le voir.
Mais ça ne sert à rien de dépenser 50 balles
si tu vois une bande annonce où il y a 30 balles.
Non, mais ils ne vont pas dépenser 50 balles
parce que le mercredi, c'est moins cher.
Là, sur tous les chiffres que j'ai eus,
le moins cher, c'est 30 balles la place.
Donc, Rigo, oui ?
Oui, il y a encore fort.
Oui, ça va.
Ok, c'est bon, on peut y aller.
Il y a encore Corben qui demande
si le Titanic a coulé à cause de Godzilla
qui était monté à bord.
Alors là, c'est vrai qu'on parle de Godzilla,
on ne parle pas du film Titanic
avec Céline Dion et Leonardo DiCaprio.
C'est vrai que ce film-là,
c'est vrai...
Non, mais...
Non, mais c'est vrai que ce film-là
a fait un ravage.
Mais je pense qu'à l'heure actuelle,
il y a un film qui a fait un ravage.
C'est pas lui qui sera dans les premiers.
Eh, Gégé, c'est Céline Dion ou c'est Laura Fabian, t'es sûr ?
Non, non, c'est Céline Dion.
Attends, tu permets...
Non, non, mais attends.
Je ne l'ai pas vue.
Non, non, mais tu ne l'as pas vue.
Mais moi, je peux te dire une chose,
que c'est Céline Dion.
C'est pas Laura Fabian.
D'ailleurs, elle est super belle dans ce film.
Elle est trop belle.
Elle a changé.
Elle joue un rôle...
Combien ?
Elle joue le rôle, si je me souviens bien,
elle doit jouer le rôle de l'épouse...
De la vieille, non ?
Non, non, non.
Non, elle doit jouer le...
De l'iceberg.
Ah, mais arrêtez, là !
Mais je n'ai rien dit, moi.
C'est à l'heure, toi, je vais t'éclater ton bénur.
Tu attends de passer les burnes.
Mais je n'ai rien dit.
OK ?
Vas-y, continue, Gérard.
Je pense qu'elle joue le rôle de la femme
de Leonardo DiCaprio, mais je ne suis pas sûr.
Oui, Leonardo DiCaprio.
Donc, on va demander à...
Yushimitsu, là.
Non, non, non, attention.
Yushimitsu, tu restes correct, quand même.
Ouais, ben...
Attends, moi, je ne t'appelle pas Gérald.
Ouais.
Allez, vas-y.
Alors, c'est Yushimitsu.
Ben, moi, je suis un vrai fan de cinéma.
En plus, on n'est pas très riches.
Donc, moi, je n'ai carrément pas la télé.
Je ne vais qu'au cinéma.
Donc, en fait, les bandes annonces,
je ne les vois pas à la télé, quoi.
D'accord.
Voilà.
OK, poussant.
Poussant !
Oh, putain, mais merde !
Mais je n'ai rien fait !
Elle est là, quoi !
Mais elle est là !
Non, mais je suis là, hein.
Je n'ai rien fait !
Non, moi, ce que je voulais dire,
c'est que les bandes annonces,
c'est bien, quand même,
de pouvoir les voir à la télé.
Au moins, ça te donne envie
d'aller voir les films.
Ah ouais, OK.
Et au moins, tu peux savoir
les extraits de films,
comment ça se passe et tout ça.
Ah ouais, d'accord.
Oui, super.
Donc, tu peux y aller
et puis tu peux...
Celui qui dit, d'accord, super,
tu la fermes derrière, s'il te plaît.
Merci.
Si, par exemple, ça ne t'intéresse pas,
tu ne vas pas.
Comme ça, ça te donne un point de vue.
OK.
Quelques plus ?
Ouais, moi, je m'y intéresse beaucoup
aux bandes annonces
parce qu'en fait,
je ne me suis pas aux opinions des autres
et...
Quand j'accroche avec une bande annonce,
je vais voir le film
et quand je n'accroche pas,
je ne vais pas le voir, voilà.
D'accord.
Christian ?
Oui, les bandes d'annonces,
moi, je les vois dans les salles de cinéma
avant de commencer les films.
Ils présentent beaucoup de bandes d'annonces.
Des bandes annonces ?
Oui, des bandes d'annonces.
Oui, c'est ça que je te dis.
Des bandes d'annonces.
Donc, que pensez-vous des...
Ça, c'est la question suivante, c'est ça, Gérard ?
Oui, d'accord.
C'est la première.
Que pensez-vous des journaux sur les films X
même voire à la télé ?
Donc, vous allez réfléchir
et on va se retrouver d'ici...
Trois minutes.
Trois minutes.
L'espace d'un disque, quoi.
Et on va s'écouter
les petits poils de bouc avec des slips
et petits poils de bouc avec des slips
et on récupère donc Mouninette.
Bonsoir, Gérard.
Bonsoir.
Bonsoir, la Trim Team.
Tulipe.
Bonsoir, Gérard.
Euh...
Dis bonjour, Manu.
Yo...
Yoshimitsu.
Ouais.
Poussin, bon, ben, Poussin, je suis...
Elle arrive, Poussin, elle court, elle court.
Cactus.
C'est là.
Elle roule, c'est de dos.
Oh, s'il vous plaît, derrière, on se calme.
Vous aussi.
Donc, Christian de la Salle Saint-Cloud.
Oui, celui-là.
Oui, bonsoir.
Donc, alors, quatrième...
Cinquième, vous l'avez entendu.
Vous l'avez tous entendu, la cinquième question ?
Tu peux nous le rappeler, s'il te plaît ?
Oh, non, non, mais attendez, je veux pas...
C'est sur le cul, c'est sur le cul.
Oui, c'est Poussin.
Oui.
Bah, OK, on t'a entendu.
Alors, que pensez-vous des journaux sur les films X ou à la télé ?
Putain, mais arrêtez de renifler comme des boucs !
Ah, c'est super.
Oh là là, ça m'énerve !
C'est la barbe de Poussin.
C'est vrai, arrêtez de renifler, quoi.
Arrêtez de respirer, c'est tout.
Vas-y, laisse-nous vivre.
Si ça te plaît pas, toi, c'est le même prix, tu vas dégager, OK ?
OK ?
Bon, alors, la question, Gérard, on y va, oui.
Alors, que pensez-vous des journaux sur les films X et même à la télé ?
Donc, on m'a demandé à Moulinette.
Ouais, alors, moi, t'as du pot, parce que j'adore ça.
J'adore regarder, en fait, les petits journaux qui vendent des cassettes porno,
parce que t'as toujours le résumé de l'histoire avec des mots super crus.
Ça donne vachement envie de regarder le film.
J'adore également le journal du art, parce que ça me fait délirer.
Ouais.
Non, mais attends, le journal du...
C'est pas fini.
C'est fait sur un ton comique.
Moi, vraiment, des images avec des...
Moi, non, mais attends, attends, Moulinette, Moulinette.
Moulinette !
Oui ?
Moi, attendez, s'il vous plaît, derrière, on se calme.
Non, t'es une salope, hein.
Couchonne, t'es une salope.
Mais non, j'aime ça.
Non, non, mais...
Ah, t'aimes ça, un salope.
Oh, Moulinette !
Oui ?
Alors, t'as 21 ans, tu fais quoi dans la vie sans indiscrétion ?
Oui, je travaille dans une boulangerie.
Ah, ouais ?
Ah, ouais.
Et tu crois que tu peux te permettre de t'acheter ?
Mais je dis pas que je les achète, je dis que je les regarde, les...
Non, non, mais est-ce que, est-ce que, est-ce que, en travaillant dans une boulangerie...
Oui ?
Tu peux te permettre de louer Canal Plus ?
Bah, bien sûr, hein.
Ouais, tu te fais combien sans indiscrétion par mois ?
Bah, ça, ça te regarde pas, mais oui, j'ai les moyens d'avoir Canal, tu fais ce que je veux, Gérard.
D'accord.
Tulipe ?
Bah, moi, sans vouloir paraître coincée, bah, ça m'intéresse pas vraiment.
Le bon, si ça intéresse des gens, moi, je trouve que c'est bien.
Ah, faut que t'essayes Tulipe, c'est génial, hein.
Non, mais attends, Moulinette, pour l'instant, je demande à Tulipe, ok ?
C'est plus Moulinex.
Je te les conseille.
D'accord.
Euh...
Yo, Yoshimitsu, là.
Ah, Yoshimitsu, s'il te plaît, reste poli.
Ouais, oh, t'as qu'à prendre un autre nom, d'accord ?
Parce que tout à l'heure, je vais t'appeler, euh...
Attends, c'est pas bon.
T'es gentil, c'est mon vrai nom, je suis Thaïlandais, ça te pose un problème ?
Non, mais...
Bon, alors, calme. Bon, je te réponds, maintenant.
Oh, oh, oh !
Oh, tu me parles sur un autre nom !
Tu me parles sur un autre nom, d'accord ?
Bah, toi aussi, Gérard.
Allez, calme-toi, Gérard.
T'énerve pas, Gérard, t'en sers à rien, oh !
Ok ?
On va repartir sur de bonnes basses, hein.
Ouais, ouais, ouais, je pense.
Calme.
Hein, Tony ?
Bah, non, y a pas de Tony, ils sont...
Ils sont en vacances, je te dis, ils sont...
Ouais, ouais, ils sont en vacances, ça m'étonnerait, ils sont en Afrique.
C'est pas Tony, hein, GG Tatou.
Ils sont en vacances.
Alors, moi, ouais, je suis un gros fan de films X, j'en consomme pas mal.
Et, dernièrement, j'ai vu Ouvre la fenêtre que je te mette et Change de trou, ça fume.
Et, franchement, je les conseille à tout le monde.
Non, mais d'accord, je vois pas du tout le rapport avec la question.
Avec le cul, ouais, t'as raison.
Ouais.
Euh, Poussin ?
Bah, écoute, je pense que si ça intéresse des gens pour regarder des cassettes porno,
moi, je pense que, personnellement, c'est pas utile de regarder des cassettes porno pour prendre son pied.
T'en regardes pas, toi ?
Non, pas du tout, non.
Ah, bon.
Je trouve que c'est...
Enfin, s'il y en a qui veulent regarder ça, ils regardent ça s'ils veulent, mais...
C'est pas intéressant, tu peux prendre ton pied autrement.
Et ton mec, il regarde ça ?
Attends, GG ?
Non, attendez, attendez, 5 minutes, attendez.
Vous allez répondre après, mais il y a une question...
Oui, sur IRC, SebZ te demande, Gérard, si tu préfères les films X, Y ou Z.
Euh...
Aucun des trois.
C'est quoi la différence ?
X, Y, Z ?
X, Y ?
Z ?
Z.
Non, les films X, ou les films Y, ou les films Z.
Bon, déjà, les films X, c'est les films porno.
Les films Z, ça existe pas.
Et les films, quoi après ?
L ?
Y.
Y, non plus.
On me dit que ça existe, et qu'en fait, tu connais rien sur le cinéma, et que tu devrais pas faire un débat là-dessus.
Eh ben, dans ce cas, s'il n'est pas content, il va au ciné.
Il va au ciné de lui-même.
Cactus.
Moi, honnêtement, je m'intéresse pas à ce genre de truc, parce que j'ai acheté l'imagination pour me passer de ce truc-là.
Mais pour taper un bon délire, ouais, ça me dérange pas de regarder.
Oh, derrière, quand quelqu'un parle, s'il vous plaît.
Oh là là !
Mais c'est poussin.
C'est pas poussin, Gérard.
Non, non, c'est pas...
Si, si, je l'enlève, je la remets, c'est elle.
Ouais, c'est vrai, en plus.
Non, non, bien sûr.
Vous voulez la virer ?
Non, ben non, elle est là.
Ben non, je l'enlève.
Vous voulez la virer, mais vous voulez pas...
T'es là, poussin ?
Poussin ?
Non, elle est plus là, tu vois.
Elle est là !
Non, non, mais c'est pas moi.
Oui, je suis là.
Tu vois, elle est là.
Bon, on continue, vas-y.
Mais non, c'est moi qui réponds.
Donc, Cactus, pour toi ?
Non, mais je disais que je m'intéressais pas plus que ça à ça,
parce qu'en fait, j'ai assez d'imagination pour créer mon propre truc.
Mais c'est vrai que pour taper un délire, ça me dérange pas de regarder ce genre de truc, quoi.
Christian, pour finir.
Oui, ben moi, j'adore ça.
Ah ben, vicieux.
Ça, j'envoie pas mal de photos à Max.
Oui, ben ça, on le sait.
Ça, on le sait.
Hein ?
Oui.
Chez moi, à Seine-Saint-Cloud, j'ai pas mal de tableaux des femmes avec des culs nus.
Ah, d'accord.
De quoi ?
Même dans les siottes.
D'accord.
Excuse-moi, avant que tu réponds, j'ai une question de Sucette, 22 ans, sur le Minitel,
qui demande à quel âge tu as vu ton premier film de cul.
Ça, j'y répondrai pas, Aïl.
Ben pourquoi ? C'est indiscret ?
Non, non, mais ça, c'est des questions...
T'en as déjà vu un, ou pas ?
Non, mais c'est des questions qui sont atteintes à la vie privée, donc.
Sur la vie privée, je réponds pas.
À 17 ans ?
À 17 ans, tu l'as vu ?
Je répondrai pas.
C'est tout ?
Oui.
J.J., c'est Yoshimitsu.
Oui.
Tout à l'heure, Poussin...
Elle disait qu'elle connaissait pas trop les films.
Moi, si elle veut, je me propose gentiment de lui faire découvrir.
On pourrait échanger nos coordonnées hors antenne.
Non, mais tu vois...
Je pense qu'à mon avis, Poussin, elle sera peut-être pas d'accord.
Poussin ?
Poussin, nous ?
Oui.
Poussin, tu vois...
Je suis là, j'écoute.
Ben, mais réponds, on te pose une question, Poussin.
Non, mais en fin de compte, ça m'attire pas trop.
Non, mais je vais te faire découvrir, après, on essayera et tout, non ?
Non, non, c'est pas un truc qui m'attire.
Parce qu'il faut à la maison.
Il faut à la maison ?
Comment ?
Tu as ce qu'il faut à la maison ?
Non, c'est pas ça, mais je regarde pas ce genre de choses.
Je regarde plutôt des cassettes comiques ou des cassettes plus intéressantes que ça.
Ok.
Bon, ben...
Donc, ça y est, il y a aussi les mangas.
Les mangas, c'est des dessins animés comiques et il y a du cul aussi.
Ouais, mais ça...
Donc, c'est un reportage que j'ai vu hier, donc c'est malheureux.
Je vais le passer parce que c'est ma question.
Avez-vous déjà vu...
Avez-vous déjà vu un film sur les routiers ?
Ça, je sais, c'était...
C'est du cinéma, ça ?
De cul ?
Non.
Non, non, non, non, non, non, non, non, non, non, non, non, non, attendez, attendez.
Je peux vous dire une chose que...
Ça, avez-vous déjà vu...
Avez-vous déjà vu un film sur les routiers ?
Je peux dire une chose que c'est un film qui est passé sur...
Je sais plus quelle chaîne.
Mais c'était pas un film, Gérard, c'était un reportage.
Non, non, non.
Non, non, non, non.
Non, non, je sais, il y avait un reportage hier sur les routiers.
Mais il y a un film qui est passé sur la 6, M6.
Ça s'appelait Asphalt Fucker.
Non, non, ça s'appelait Le Convoi.
Non, non, c'était...
Non, c'était un non-voyant.
C'était un téléfilm, ça n'a rien à voir avec le cinéma, Gérard.
Ah, comment ?
Je dis ça, c'était un téléfilm, ça n'a rien à voir avec le cinéma.
Ah, mais non, mais c'est Cactus, là, qui parle.
Ouais.
Moi, je vais dire une chose, Cactus, que le film est passé sur M6
et qui a duré pendant une heure et demie.
C'est un mec...
Gérard, Gérard, excuse-moi, il y a eu une grave erreur, pas de marque.
Non, mais je m'en fous.
Sur la chaîne...
Je m'en fous.
C'est chaud.
Rigaud.
Et à propos de films sur les routiers, on me conseille Mêlée Ouverte pour routiers à moustache.
Non, mais ça...
C'est un bon film, je l'ai vu, c'est un bon film.
Il y a deux moustaches, celui-là, dedans.
Non, non, non, non, non, non, allez.
Ça s'use grave.
Non, non, allez.
On revient sur la question des routiers.
Donc, je peux vous dire que ce film-là est bien passé et je l'ai vu.
Non, Christian, c'était pas lui, c'était Jean Gabin.
Attendez, excusez-moi, parce que, bon, Gérard, t'as vu le film, explique-nous un peu, peut-être, ce que ça racontait.
Ben, attends, on va demander s'il y a des gens qui l'ont bu.
Pas tous en même temps, pas tous en même temps.
Yoshimitsu, je l'ai vu.
C'est l'histoire d'un routier qui glisse sur une plaque de verglas et ça se finit mal.
Bon, alors, toi, tu peux dire...
Non, mais il a fait ses valises.
Ça y est, il est parti.
C'est plus la peine qu'ils reviennent.
Tu me prends quelqu'un d'autre sur les 24 heures.
Sur les 4 lignes ?
Non, sur les 3 lignes, là.
Ah, il n'y a plus que 3 lignes ?
Non, c'est parce que c'est plus le 0875 000, mais le 0803 085 000 exclusivement.
Alors, donc, si vous voulez nous appeler pour réagir sur cette question-là, faites vite, parce que dans 4 minutes, je change de question.
Le numéro vert est toujours disponible sur IRC et sur Minitel.
Donc, Christian ?
Oui, ben, moi, j'ai vu un film comme ça, le routier.
De con, oui, tu peux le dire.
Non, non, c'est le titre du film.
Ça s'appelle Le Convoi.
Oui, c'est ça, que j'avais vu avec Jean Gabin, puis qu'il traversait un camion.
Non, non, non, non, non, non, Christian, tu te trompes.
En moto ?
Non, non, tu te trompes.
Cactus ?
Ben, écoute, personnellement, je ne l'ai pas vu, mais si tu me raconterais un petit peu de quoi ça parle, je pourrais te dire un petit peu mon avis.
Non, ben, pour l'instant, je vous raconterai tout à l'heure, parce que je peux vous le dire, je l'ai vu, ce film-là, il est très beau à voir.
Bon, ben, je ne me ferai pas d'opinion, alors.
Non, mais j'expliquerai après.
Poussin ?
Ben, moi non plus, je n'ai pas vu le film, donc je ne pourrais pas te répondre.
Tulipe ?
Moi non plus, je n'ai pas vu.
En moulinette ?
Moi, je ne l'ai pas vu, et par contre, j'ai vu un épisode de Drôles de Dames où elles enquêtaient sur le milieu des routiers, et elles étaient routières.
Ah, c'était bien, ça, je l'ai vu aussi, ouais.
Il était sympa, hein.
Ouais.
Non, je pense que là, vous faites illusion.
Donc, c'est quoi l'histoire du film ?
C'est un film avec un autre pote, et bon, c'est malheureux à dire, c'est un black.
Ouais.
Donc, il se fait taper sur la gueule.
Et pourquoi c'est malheureux à dire ?
Pourquoi c'est malheureux, Gérard ?
Non, parce qu'il y avait un peu de racisme dans l'histoire du film, c'est ça.
Voilà.
Ah, d'accord.
Et en fin de compte, t'as tout le monde, t'as même un truc, ça, c'est ce qui m'a, dans le passage du film, ce qui m'a fait marrer le plus, et je voudrais bien qu'il repasse,
c'est que tu vois des prêtres qui sont tous en train de dire « Amen ».
Ouais, c'est excellent.
Non, mais ils s'amusent, et en fin de compte, ils vont… Après, t'as les routiers…
T'as Alain Delon, ouais.
Non, non, il n'y avait pas Alain Delon. T'as tous les routiers qui organisent une chaîne, parce que…
Non, qui organisent une chaîne, parce que…
Est-ce que t'avais pété celle de ton vélo ?
Non, parce que lui, sa femme est enceinte, et il veut la retrouver.
Ah, ils veulent la porter jusqu'à la clinique.
En fin de compte, il se fait arrêter par les flics, il se fait tabasser dessus, à mort.
Ouais.
Et en fin de compte, t'as tous les routiers qui se mettent… qui déboulent tous, tu vois, plus de 150 routiers…
Ah ben, ça doit faire un beau bordel.
Ah oui.
Ah, la solidarité.
Ouais, non, mais… Non, mais, il faut dire une chose que…
Ça fait un paquet de pas faire de queues, tiens.
Comme dit Manu…
Ça fait un beau bordel.
Un beau bordel.
Quand tu vois 150 routiers, tu vois même les mecs qui nettoyent la route avec leur gros camion, là,
et qui t'envoient de l'eau des deux côtés.
Ouais.
Donc, tu les vois tous qui arrosent.
T'as les motards qui les escortent jusqu'au bout.
Et après, t'as tous les camions qui dépensent le commissariat.
Et après, ils vont dans un stade et ils font le truc du corbillard parce que, soi-disant,
qu'ils seraient morts.
Et en fin de compte, tu le revois…
C'est pas la fin ?
Non, mais c'est drôle à voir.
Et en plus, c'est un camion, c'est un camion-citerne et il y a une nana qui est avec.
Enfin, faut aimer les camions, hein.
Ah oui, ça, faut apprécier.
Oui, Rigo ?
Oui, la plupart des gens sur IRC disent que les routiers, c'est pas du tout le thème du débat.
Ouais, mais ça, peut-être pour eux…
Et ça, tu le prends dans les dents, quand même.
Ouais, mais c'est peut-être…
Parce que t'as l'air que t'en as plus beaucoup.
Bah ouais.
Non, mais c'est peut-être pas le thème du débat, mais la question, c'est avez-vous déjà vu un film sur les routiers ?
Ok.
Et il est bientôt 20, on va passer à une autre question.
Voilà.
Et d'ailleurs, Gérard, avant ta prochaine question, à la place de Yoshimitsu, on va accueillir Multiplex 19 ans de Toulon,
où on peut écouter Fun sur 93.1 FM.
Oui, salut, bonsoir à tous.
Bonsoir.
Salut.
Sur combien ?
93.1 FM sur Toulon.
Oui.
93.1, ok.
Salut.
Salut à toi.
Salut à toi.
Donc, t'as écouté la question, non ?
Ouais, c'est bon.
On va pas y revenir, c'est bon.
Ouais, non, mais je voulais dire que moi, le film, le convoi, je l'ai vu.
Je l'ai vu derrière toi à 100%.
Voilà.
Ouais.
Donc, regardez-vous les reportages sur le cinéma.
Eh ben, tiens, Multiplex, on va te demander à toi.
Les reportages sur le cinéma ?
Du genre exclusif et tout ça, c'est ça ?
Non, mais pas spécialement exclusif, n'importe quelle chaîne.
Je préfère regarder le cinéma directement, en fait.
Ouais, mais...
Le reportage, la vie des stars et tout, tout ça, ça nous intéresse pas, quoi.
C'est un peu leur vie privée, quoi.
Ouais, mais attends, Multiplex, je pense que tout le monde va réagir.
Ils vont me dire, oui, mais la vie des stars, ça regarde personne.
Mais en fin de compte, la vie des stars, c'est quand même eux qui font le film.
C'est quand même eux qui la vivent, la vie des stars.
Ouais.
C'est sûr, ouais.
C'est sûr, t'as raison.
Attends, Multiplex.
Oui ?
On va demander à Christian de la Salle.
Non, ben justement, Christian, je viens de l'avoir, il est parti se coucher.
Ah, il est parti ?
Donc, 0803 085000 pour nous joindre.
Donc, Cactus ?
Ben, écoute, honnêtement, je m'intéresse pas trop à la vie privée.
Chacun fait sa vie comme il veut.
Tant que le film est bon, le reste, après, je m'en fiche, quoi.
Hum-hum.
Poussin ?
Ben, jusqu'à présent, j'ai pas vu de reportage sur les films.
Mais, pourquoi pas, ça peut peut-être être intéressant.
Hum-hum.
Tulipe ?
Moi, je suis de son avis aussi, pareil.
David qui ?
De Poussin.
David Lynch.
David Lynch.
Moulinette ?
Ouais.
Moi, j'aime bien savoir ce qu'il se passe dans la vie privée des stars.
Parce que je suis une grande curieuse.
Et j'aime bien savoir qui couche avec qui, enfin, tu vois.
Et par contre, leur capacité à bien faire le film, ça passe après, quoi.
C'est ça que je me demande.
Je me posais comme question dans le cinéma, c'est est-ce que les stars, elles couchent vraiment ensemble dans les films ou pas ?
Ben, ouais, ouais, elles sont pas sans plan, hein.
Non, non, non, non, non.
C'est qui qui répond là ? C'est Moulinette ?
C'est Moulinette, ouais.
Non, Moulinette, je pense que tu te trompes.
Ils mettent des capotes ou pas ?
Ouais, ouais, ouais.
Ils couchent ensemble, ils mettent des capotes.
Pour éviter d'avoir des capotes.
Non, non, mais ça, c'est pour le film sur la scène.
Ouais, mais réel, hein.
Non, non, non, non.
Non, non, ils en mettent, hein.
Des capotes réelles.
Ouais, mais ça, ils mettent vraiment des capotes, mais je peux te dire une chose,
que c'est le truc, bon, ben, c'est pour le passage du film.
Ouais.
Bon, donc, tu vas les voir, ils vont s'embrasser sur la bouche et autres, ils vont mettre des capotes, ça, ok.
Ouais.
Mais c'est simplement que pour le passage du film.
D'accord.
Que pour le passage de l'extrait.
Ah, ils couchent seulement pendant le passage, ils couchent pas pendant tout le film.
Non, non, tout le film, tu les auras pas en train de coucher ensemble.
Y'a pas de capotes ?
Oui.
Comment tu peux le savoir qu'ils mettent des capotes ?
Qui, qui, qui ?
C'est Poussin.
Non, mais donnez vos noms quand vous réagissez, s'il vous plaît, merci.
Bon, c'est Poussin, comment tu peux le savoir qu'ils en mettent ?
Ben, attends, ça se voit, ça se voit vraiment, ça sent.
Attendez.
Oui, donc, à la place de Christian qui est parti se coucher, on accueille Rocco, 26 ans, de Tignes.
Et la fréquence sur Tignes, c'est 94.3 FM.
Oui, tout à fait.
Salut, Rocco.
Bonsoir.
Bonsoir.
Salut, Rocco.
Salut.
Bonsoir.
Salut.
Salut, Rocco.
Donc, pour toi ?
Ben, j'ai pas écouté la question.
Oh, non, mais je vais pas me miser à faire que ça, hein.
J'étais au standard, excuse-moi.
Ouais, alors, regardez-vous les reportages sur le cinéma.
Ben, oui, tout à fait.
Ouais, tout à fait, ouais.
T'aurais pas fumé la moquette ?
Non, non, pas du tout, pas du tout.
Non, t'aurais pas bu un coup ?
Il est un peu malade, je crois.
C'est pas évident de parler comme ça.
Ouais, tu serais pas malade ?
Un petit peu.
Ouais, un petit peu.
Alors, si t'as rien à dire dans ce cas-là ?
Non, oui, moi, il m'a pas raconté plein de trucs au standard, mais bon.
Non, mais attends, Manu.
Oui ?
Le premier s'est bien passé, le deuxième, pour l'instant, il a l'air de se passer impeccable.
Non, mais derrière lui, là.
Non, mais je voudrais pas qu'il poire.
Non, mais y'a pas de soucis, t'inquiète.
Non, mais, tranquille.
Ouais.
Non, c'est sur IRC, y'a un...
Enfin, c'était juste pour dire à Manu qu'il faut qu'il rappelle Arnett.
Non, non, non.
Non, pour les cadeaux, parce qu'on lui a offert un CD de Céline Dion.
Ça, c'est pour rappeler Arnett.
Non, non.
Pourquoi pas ?
Ouais, alors, Rocco, tu vas te coucher.
D'accord, Tony ?
Pas du tout.
Ouais, ouais, d'accord, Tony.
Allez, bonne nuit.
Allez, bonne nuit.
Salut, Tony.
Salut.
C'est coupé.
Coupé, c'est coupé, hein, avec Manu.
Non, bah, moi, tu me dis qu'on coupe, on coupe, hein.
Non, mais, tu vois, j'aime pas trop avoir...
Il aime pas trop, ça, tu le sais.
J'aime pas.
J'aime pas, parce que le chef, il est plus là que les souris dansent, hein.
OK ?
OK.
Bravo, Gérard.
Bravo, Gérard.
Bravo, Gérard.
Toi.
Bien pour tes tenues, quand même.
Donc, tu me...
Tu me...
Tu m'envoies le disque, parce qu'il reste trois questions, donc...
En pleine gueule ?
Tu le fais en pleine gueule ou pas ?
Non, mais je sais pas, je te demande.
Tu veux un café en pleine gueule ?
Non, non, mais tu peux peut-être poser la question, on gagnera du temps, déjà.
Ouais.
Comme ça, ils pourront réfléchir.
Non.
La Formule 1 est-elle un moyen de film ?
Oh, non, c'est nass.
Non, non, tu me dégages cette question, c'est...
Si on m'a dit, s'il parle de Formule 1, il faut lui dire que c'est pas le thème du débat.
C'est pas le thème du débat.
Ah, bah, si, je suis désolé.
Attends, attendez, attendez, attendez, je suis désolé.
Vous avez déjà vu un film sur la Formule 1 ?
Oui, oui, non.
Si, si, si, si, ça existe, ça existe, ça existe.
Ouais, non, mais non, mais attendez.
Sur IRC, c'est marqué.
Non, mais sur IRC, ils me diront ce qu'ils veulent, mais moi, je peux vous dire que ça existe.
Mais t'as vu ça où, toi ?
Donc, on va s'écouter.
T'as vu ça où, toi ?
Voilà.
D'accord, super.
Le sexe des bébés éléphants est plus gros que le tien.
Au revoir, chez les Grecs.
Au revoir, j'ai même pas...
C'est bon, c'est bon, il a juste annoncé le débat.
Donc, c'était avec l'héritage Mitsuko.
Donc, on va faire un petit statistique...
Sur le cinéma.
Et vous pouvez toujours appeler au 0803 085000 si vous voulez réagir, bien sûr, aux statistiques de Gérard sur le débat qui porte sur le cinéma.
Cinéma, voilà.
Et donc, toujours 3615, code...
Fan Radio, rubrique directe, où il y a encore sucette, tige de cote, je sais pas ce que c'est.
Il y a encore un...
C'est porno, ça.
Ouais, peut-être.
Non, mais Tony...
Voilà, on accueille Tony, d'ailleurs.
Oh, bonsoir.
Ouais, ben, Tony...
Bonsoir, Tony, salut, Tony.
Non, non, mais Tony, je t'ai dit quelque chose.
OK, pas de problème.
De toute façon, t'as géré sa rentaine, Gérard, donc c'est bon, on peut y aller.
Donc, alors, les statistiques sur le débat sur le cinéma.
Donc, à la question, que pensez-vous du cinéma ?
Donc, il y a 40 personnes qui ont répondu...
Bah, voilà, c'est tout.
On répondu à la question...
40%, pas 40 personnes.
Ouais, 40%, mais moi, j'aime bien quand on me donne des trucs comme ça.
À la question, qu'avez-vous vu dans les cinémas, donc ?
Alors, 20% aiment les pot-de-corne, donc je vois pas du tout le rapport avec le film.
30% aiment les ouvreuses, je vois pas du tout.
Et 50% aiment rester chez eux.
Ah, il y a pas beaucoup de gens qui aiment le cinéma, alors.
Donc, 30% qui aiment les ouvreuses.
Ça, j'en ai rien à foutre, parce que ça rentre pas dans les films.
C'est quoi, les ouvreuses ?
Les ouvreuses, c'est celles qui te placent.
Mais il y en a plus beaucoup, en plus.
Moi aussi, je crois qu'il y en reste encore pas mal sur...
Il y en a deux sur Nantes, je crois.
Ouais, et puis 20% qui aiment les pot-de-corne.
Alors, ça, c'est les trucs qu'ils nous donnent pendant l'entraque.
Ouais, mais c'est vrai que les meilleurs pop-corn qu'on a pu manger, c'est quand même au cinéma.
Ah, c'est vrai.
Ouais, mais ça, je vois pas du tout le rapport, donc pour moi, c'est...
Donc, il y en a qui vont peut-être au cinéma seulement pour manger les pop-corn, qu'est-ce qu'on pense ?
Ou voir les ouvreuses.
Voilà.
Enfin.
Alec, oui, Rigaud ?
Ensuite, non, continue, continue.
Non, non, vas-y.
Parce qu'Arnette, c'est pas la peine d'essayer d'appeler, on te...
Ça sert à rien.
C'est pas le thème du débat, Arnette.
Ça servira à rien pour toi.
Ouais.
Donc, alors, à la question pour ou contre le cinéma, donc 30% qui sont pour.
Donc, j'avais pas posé la question pour ou contre le cinéma, donc ça, je vois pas pourquoi qu'on me donne ça.
Et peut-être que les auditeurs veulent répondre.
Et peut-être aussi aux questions des stats, Gérard.
Ouais, mais 20% sont pas contre.
18% sont d'accord.
Et 100% sont contre.
Ah, si, si, il y a une erreur de calcul, je crois.
Ouais, j'ai l'impression.
C'est 99.
Ouais, ouais.
Non, mais à mon avis, ça, c'est vous, là.
Ah, non, non, non.
Le guignol, là.
Ah, Olivier.
Non, c'est pas toi, non.
Non, c'est pas toi.
C'est jamais toi.
Non, non, c'est jamais toi.
C'est jamais toi qui fais des conneries.
Mais j'ai rien fait, non.
À la question, quel est votre acteur préféré ?
Alors, 100% ont répondu Georgette Bitoun pour sa prestation dans Les Pigeons, même les Goélands.
Alors, ça, Olivier, ça, je vais te dire une chose, que maintenant, c'est toi.
Tu l'as pas vu, tu l'as pas vu, j'ai rien fait.
Alors, ça, c'est toi.
Alors, il y a 100% qui dit, vos gueules, les mouettes, les Goélands.
Donc, tu prends mieux de planer.
Pas pour moi, tu me mouettes, alors va vers les Goélands.
Allez, hop, dégage.
Ça, c'était connerie, hein.
Tu peux rappeler le titre du film ?
C'est 100% Les Pigeons aiment les Goélands.
Donc, à mon avis, c'est 100% vos gueules, les mouettes, la les Goélands.
Ok, Olivier ?
Merci.
Merci, Olivier, pour l'arsène.
Donc, la suite, Gérard ?
Alors, à la question, quel est le dernier film que vous avez vu ?
Alors, 50% ont vu Oh, les beaux camions.
Oh, les beaux camions.
Je l'ai vu aussi, il est super, celui-là.
Avez-vous vu Sibi ?
Hein, Olivier ?
Et 100% ont vu, c'est pas le thème du débat.
Olivier !
Olivier !
Tu prends ça et tu vas te tâcher, tu fais ça, mais c'est pas moi qui l'ai fait.
Non, non, c'est pas toi.
Mais c'est les Français qui ont répondu, c'est nous.
Non, non, non, non, non, non.
Ça, pour moi, c'est des conneries.
C'est un sondage.
Non, non, ouais, mais même pour moi, c'est des conneries.
C'est un sondage à la Guandoz, hein.
Ouais, ouais, ça, c'est un sondage bidon.
C'est Sam Zell qui nous l'a passé.
Bah oui, c'est Sam.
T'as raison.
Tu veux que je lui garde et que je lui fasse voir demain ?
Et tu pourrais rajouter sur ta liste, éclatement, la chatte à la grenade.
Ouais, bah, toi, tu es premier d'éclater ta voix basse.
OK ?
Yes.
Merci.
Donc, on a été où, Gérard ?
Alors, les montgolfières ont-elles sorti un film ?
Les quoi, quoi ?
Les montgolfières.
Les soeurs montgolfières.
Ah ouais.
Les soeurs.
Les montgolfières ont-elles sorti un film ?
Bah oui, ou quoi, par là, Gégé ?
Alors, les montgolfières...
Les montgolfières, c'est un ballon dirigeable qui s'allume avec du gaz.
Donc, ce n'est pas des parachutes, alors ?
Non, c'est un zizi avec des poils qui tombe tout seul du désert et qu'on retient avec quelque chose.
Maintenant, je comprends déjà beaucoup mieux ce que tu veux dire.
D'accord.
Moi, personnellement, je n'en ai jamais vu.
Attends.
Non, non, mais attends.
Tony, Tony, Tony, Tony, Tony, Tony, Tony.
Ouais.
Tony.
Calme.
Ça va ?
Tony, tu vas la fermer parce que les bits, je ne veux pas entendre ça à 2h36 du matin.
Alors, tu vas voir Manu au standard.
Non, non, tu vas voir Manu au standard.
Il va te donner, en fait, les synonymes qu'on peut dire à ce temps-là.
Et tu reviens, ne t'inquiète pas.
Ça ne veut dire que ou limite.
Non, non, non, non.
Donc, Poussin voulait répondre à toi.
Donc, ce que je voulais dire, Gégé, c'est que les montgolfières, ça n'a rien à voir avec le cinéma.
Je ne comprends pas pourquoi tu...
Non, mais il y a des...
Il y a des films sur les montgolfières.
Oui, mais ça dépend si tu parles de reportages.
Oui, mais si tu parles de films, je n'en ai jamais vu.
Ben, tu as qu'à regarder de temps en temps la télé.
Oui, Rigo ?
Non, mais je n'ai pas le temps de regarder la télé.
Non, mais c'est bon, Poussin, merci.
À propos de montgolfières, il y a Yankee qui demande si tu as un cerf-volant.
Non, mais de toute manière, c'est pareil.
Les cerfs-volants, tu les tires sur des trucs, mais il faut avoir du vent.
Pour les cerfs-volants, les montgolfières, c'est avec du gaz.
Un cerf-volant, une vache.
D'accord, mais ça, c'est super calé dans le ciné, ça.
Tony, s'il te plaît, tu te calmes.
D'accord.
Parce que tout à l'heure, tu ne vas pas finir le débat.
Gérard, excuse-moi, on va peut-être revenir, justement, dans le thème du cinéma,
parce que là, je crois qu'on s'est gardés.
Le thème, ce n'est pas Tony, le thème.
Non, mais pour l'instant, derrière, tu te tais aussi.
Oui.
Donc, allez, on y va.
Donc, tiens, Tony, maintenant, toi.
Oui, mais le problème, c'est que moi, je suis tout le temps au standard,
pour un rien, pour un oui, pour un non.
Alors, moi, je voudrais bien que tu me répètes la question, s'il te plaît.
Non, mais attends.
Là, c'est normal.
Là, c'est normal.
Non, non, mais tu as entendu la question avant que tu ailles au standard.
Ah, l'histoire mongolfière ?
Oui.
Oui, je suis allé voir tous leurs films.
D'accord, et qu'est-ce que tu en as pensé ?
Franchement, c'est de la balle.
C'est planant.
Oui, c'est planant, c'est le beau.
J'aime bien passer comme ça, Philippe, quand tu es de bonne humeur.
Oui, cactus.
Je te kiffe.
Oui, c'est vachement planant, comme film.
Oui.
Donc.
Donc, multiplex.
Oui.
Moi, je suis tout à fait d'accord.
C'est très bien, mais il ne faut pas se moquer de ces gens-là.
Il n'y a pas de quoi être fier, c'est tout.
Tulipe ?
C'est super aussi, moi, je trouve.
Et Moulinette ?
Oui, moi, j'ai vu pas mal de films sur les Mongols.
Maintenant, savoir s'ils étaient fiers, je ne sais pas.
Bon, alors, Moulinette.
Ils n'ont pas compris.
Ils n'ont pas compris la question.
Non, non, mais je pense qu'on parle des Mongolfières, on ne parle pas des Mongols.
D'accord ?
Parce que toi, pour l'instant,
t'as une tête de Mongole, toi.
Et si je te dis trisomie ?
Alors, Moulinette, bonne nuit.
Moulinette, au revoir.
Allez, hop, dégage.
On appelle Arnette.
Ou Goldo.
Non, non, Moulinette, bonne nuit.
De toute manière, on ne rappelle plus personne, là.
Ça va être terminé, alors.
Ah, c'est dommage, il y avait des filles qui voulaient te parler.
Non, non, mais on...
Oui, Gérard ?
Non, non, mais c'est bon, c'est pas la peine, j'ai dit.
Mais qu'est-ce que t'as ?
Quand tu t'as, tu vas perdre ton ménage.
Mais elle était folle de toi, hein.
Donc, dernière question.
C'est la dernière, et là...
Oui, c'est la dernière, il est 40,
et on arrête après, c'est tout.
Ah, mais il fallait jusqu'à 3h, là.
Non, non, mais on arrête après, c'est tout.
T'as signé un contrat, il faut aller jusqu'à 3h.
Mais attends, si t'es pas content, Tony, tu dégages.
Mais ton contrat, il y a marqué jusqu'à 3h, tu vas jusqu'à 3h.
Bon, alors, Tony, tu reviens...
Non, mais attends, c'est vrai, Gérard.
Non, mais on pourrait...
Non, non, non, non, non, non.
Pour 3h de débat, si tu commences à te casser avant la fin...
Non, non, mais il y a encore 2 questions.
On pourrait faire encore 2 questions.
Non, mais j'aurais une question, j'aurais une question au cinéma, après.
Il faut qu'il enleve 100 francs de ticket au restaurant, c'est tout.
Non, d'accord.
Alors, là, tu le dégages.
C'était Polo.
Bon, allez, on va reprendre, là.
On enchaîne la question.
Alors, la France sort-elle plus de films que...
La France sort-elle plus de films
qu'aux Etats-Unis ?
Ça, c'est une question intéressante.
Tout à fait, tout à fait.
Qui ?
C'est Multiplex.
Oui.
Tout à fait, je pense que la France sort,
elle sort bien, elle sort tard,
et beaucoup plus qu'aux Etats-Unis, bien sûr.
Non, mais attends.
Multiplex.
Oui.
La France sort-elle plus de films qu'aux Etats-Unis ?
Je ne vois pas du tout avec ce que les Français
auront à faire dans la rue.
De toute façon, les chiffres,
on leur fait dire ce qu'on veut.
Oui, mais la France, elle sort plus que 2 films par an.
Voilà, c'est Tony qui répond.
Oui, bonsoir.
Non, mais Tony...
Tu te calmes, s'il te plaît.
Gérard ?
Oui ?
Donc, c'est plus ça.
Moi, ce que je voulais dire,
c'est que les films en Amérique,
ils sortent plus...
Enfin, ils sortent en première...
Enfin, en première fois,
par rapport aux Français.
Pas du tout, pas du tout.
Non, non, oui, oui.
Excusez-moi, si je peux me permettre.
Ils sortent d'abord en Amérique,
et après, on les voit,
ils sortent en France.
Non, non, non.
N'importe.
Non, non, non, on n'a rien à voir.
Qui c'est qui n'est pas d'accord ?
Multiplex.
Regarde, un film, regarde,
un film français, Les Visiteurs,
tu ne vas pas me dire
qu'il est sorti d'abord aux Etats-Unis.
C'est du missile, ça.
Non, mais attends.
Dans ces cas-là, on va...
Gérard, ils sont dits
sur la New York,
c'était un peu Les Visiteurs.
Non, non, attends.
Tony, s'il te plaît,
tu t'écrases.
Godzilla, il est sorti en Amérique d'abord.
Oui, et il est sorti
en avant-première en Amérique.
Et après, celui qui est n'importe quoi.
Attendez, attendez, attendez, attendez.
Chacun son tour.
Attendez.
C'est un beau sujet, ça.
Qui c'est qui dit n'importe quoi ?
Tulipe.
Tulipe !
Non, c'est pas toi.
Ah, pardon, excuse-moi, Gérard.
Parce que je m'occupe d'une petite,
alors elle pleurait.
Excuse-moi.
Ah, non, non, mais dans ces cas-là,
si t'as quelqu'un avec toi,
ça sert à rien de réagir.
Non, mais elle fait du babysittage.
Elle a besoin d'un rempotage, Tulipe.
Moi, je vais te rempoter.
Alors, Tulipe ?
Eh bien, moi, je sais pas.
Ah, tu sais pas ?
Franchement, je sais pas.
Pour la France et les Etats-Unis,
je sais pas du tout.
Alors, moi, je peux vous dire une chose,
que le film Godzilla,
qu'on a été voir en avant-première
et sorti à New York...
N'importe quoi.
Non, mais c'est pas le seul film.
Bon, alors...
Il a dit New York.
Attends, attends, attends.
Ouais.
Mais moi, tout le monde en air.
Ils sont tous...
On va savoir qui c'est
qui s'amuse à dire n'importe quoi.
Allez.
Franchement, c'est une fille.
C'est une fille.
Alors, vas-y.
Déjà, c'est pas moi, c'est bon.
Vas-y, n'importe quoi.
Vas-y, parle, allez, n'importe quoi.
Vas-y, n'importe quoi.
Allez, les filles.
Allez, t'as pas de couilles, n'importe quoi.
Ah, non, c'est une fille.
Et alors ?
C'est bizarre, il y a personne.
Là, il y a personne.
Là, il y a personne.
Ah, ben voilà.
Il y a rien.
À mon avis, c'est grosse autruche, là.
Ah, ouais.
Il y en a une qui a...
qui a rien entre les jambes, hein.
C'est pas tout ça, c'est grosse autruche, là.
C'est le vilain petit canard.
Le vilain petit canard.
Ouais, tu vois, n'importe quoi.
Alors, explique-nous, Gérard,
pourquoi, alors,
Godzilla est sorti à New York
en avant-première
et pas en France, par exemple ?
Ben, parce que c'est...
C'est pour se faire pardonner
parce qu'il a détruit New York.
Non, non, non, non, non, non.
C'est pourquoi, alors ?
Non, c'est un film
qui est sorti à New York en premier.
Ça a été sorti sur New York
parce que c'est...
C'est pas parce que c'est
un film
que Jean Reno a fait
en avant-première, là-bas,
dans les villes de New York.
Ouais.
Car ça sort en premier.
Donc, il est sorti, d'abord,
en avant-première.
Après, il est sorti
sur les écrans parisiens
depuis le 16 septembre.
En avant-dernière.
Non.
Ah, si, en avant-dernière.
Ben oui, parce que c'était en dernier.
Ben non, arrêtez vos conneries.
Donc, qui c'est
qui n'a pas répondu ?
Il y a pas mal de monde, encore.
Tulipe ?
Ben, moi, je viens de répondre, Gérard.
Oui.
Alors, Multiplex ?
Déjà fait.
C'est Cactus et Poussin
qui n'ont pas répondu.
Si, si, j'ai répondu.
Cactus ?
Ben, moi, je dirais que...
que je laisse la parole
à quelqu'un d'autre
parce que je ne sais pas
quoi te répondre.
D'accord.
Ben, donc,
pourtant, c'est un sujet intéressant.
Moi, j'aimerais bien savoir
pourquoi, en fait...
Non, mais, hé, Cactus ?
Oui ?
T'as jamais été au cinéma, encore ?
Mais si, j'ai déjà été
au cinéma, Gérard.
Non, mais attends,
t'as jamais été voir des films ?
Mais si, j'ai été voir
Le Titanic.
J'ai déjà été voir des films,
t'inquiète pas pour moi, Gérard.
Tony, pour finir ?
Ben, j'ai répondu, déjà.
OK.
Non, c'est ce que
je voulais te demander, Gérard.
Pourquoi...
Ah, Rigo, une question
versée, pardon.
Oui, on...
Question versée, pour finir.
Oui.
Il y a un actif qui demande
s'il y a plus de pollution
en Amérique qu'en France.
Excuse-moi, j'avais pas...
Non, mais ça...
Ça avance.
On est plus...
Rigo, tu suis rien, hein ?
Non, non, mais...
Non, non, mais c'est pas Rigo,
c'est l'IRC.
La pollution s'est terminée
depuis une heure,
donc...
Il y en a eu
quand Gérard est allé...
Ah, il y a quelqu'un
qui a coupé.
Voilà.
Donc, ce que je voulais
te demander, Gérard,
c'est que tu sais,
il y a des films français,
par exemple, je sais pas
si t'as vu 3 hommes
et un pouffin.
Non.
Et ce film-là,
tu sais, c'était un succès.
Et les Américains
l'ont copié
et ont refait le même film
en Amérique.
3 hommes et un oursin, ouais.
Voilà.
Non, mais ça...
Qu'est-ce que tu penses,
en fait, des versions
dans le cinéma,
par exemple,
des films français
qui ont du succès
et qui se font aux Etats-Unis
après ?
Longue ou courte ?
Non, mais attendez,
s'il vous plaît.
Oh, on se calme derrière,
je réponds.
Non, mais ça,
de toute manière,
que ça soit des films
qui sortent en France,
qui soient repris
par des acteurs américains,
de toute manière,
en principe,
ce qui sort en premier,
c'est des films américains,
non français.
Quoi, n'importe quoi,
si ça n'est pas toi,
tu vas te faire foutre.
OK ?
Non, mais tu vois,
parce que, en fait,
le film avait tellement
de succès en France
que les Américains
nous ont copiés.
Est-ce que tu trouves ça normal ?
Non, mais ça,
c'est un truc,
c'est à eux de voir.
C'est pas à nous,
parce que c'est...
On sait pas...
C'est une histoire de fric.
C'est une histoire de fric,
c'est tout.
Oui, mais de toute manière,
c'est pas qu'il y a eu
une histoire de fric,
c'est de savoir...
Mais c'est de savoir
les nombres d'entrées
qu'ils ont fait en salles.
Mais non,
il y a des sous-tops.
Non, mais attends,
parce que moi,
le film Godzilla,
il a fait plus d'un million
d'entrées en France.
Un million d'entrées.
Et nous,
quand on y a été,
quand on a été le voir
à New York
en avant-première,
il y a eu
150 000 personnes.
Mais il faut que toi
vas laisser tout.
Tu vas lui faire tout drôle.
Tout ça pour toi.
Non, mais il y a eu
150 000 personnes
et faites-moi confiance
que 150 000 personnes
dans une salle
qui hurlent
dès qu'ils voient
Jean Reno
dans un passage,
la salle se met à hurler.
Pourquoi il hurle ?
Il n'est pas beau,
Jean Reno ?
Non, mais c'est pas
qu'il n'est pas beau,
c'est que dès qu'ils le voient
dans la...
Dès qu'ils l'ont vu
sur un passage,
par exemple,
quand il passe à...
Un clouté,
un passage clouté,
tu vois.
Non, quand il passe
avec une voiture
de l'armée
et qu'il mâche
un chewing-gum
pour pas qu'on le reconnaisse,
tout le monde
tu les entends
tous hurler
même quand il joue
le rôle du médecin
là-dedans.
Il mâche un chewing-gum
pour pas qu'on le reconnaisse.
C'est un gros chewing-gum alors.
Alors que moi,
personne ne me reconnaît,
j'ai vraiment une merde.
Bon, tais-toi,
toi, Tony.
Et toi, attends,
Gégé,
et toi, New York,
les gens,
ils ne t'ont pas reconnu
du coup,
alors vu qu'il y avait
Jean Reno ?
Mais attends,
de toute manière,
on paraît...
C'est vrai qu'il t'a un peu
pris la vedette,
quand même.
Il t'a un peu pris la vedette,
c'est clair.
Non, non,
il n'y a aucune personne
qui nous a reconnu.
Non, sans déconner.
Est-ce que tu penses
que les acteurs américains
jouent mieux dans les films
que les acteurs français ?
De toute manière,
maintenant,
voir comment
qu'on a des films
en salle,
je vais te dire une chose,
je pense que
c'est les Américains
qui vont bientôt
nous dépasser.
Non, mais t'es d'accord,
Gérard,
qu'il y a une différence
entre Al Pacino
et Bernard Ménez,
quand même.
Non, mais attends,
toi, Tony,
Tony, dégage.
Un peu,
je ne veux plus t'entendre.
Non, non, il a raison.
Il a raison.
On ne va pas appuyer, là.
Il a raison.
Non, mais moi,
je peux vous dire une chose,
qu'à l'heure actuelle,
maintenant,
on n'a plus grand-chose
parce que maintenant,
il faut qu'on comprenne
des films américains.
Et pourquoi pas
des films du Turcistan ?
Ah, si.
Si.
Maintenant,
tu vois dans les salles,
c'est quoi ?
C'est des films américains
qui sortent.
Non, regarde
Un dîner de cons,
justement,
on en parlait tout à l'heure.
Un dîner de cons,
c'est français,
ça a bien marché.
Oui, mais attends,
un dîner de cons,
c'est sorti en cassette vidéo,
ce n'est même pas sorti
sur les grands écrans.
Je l'ai vu au cinéma.
Non, non,
menteur, menteur.
Et toi,
tu préfères quoi, Gérard ?
Les films américains
ou les films français ?
Moi, je n'en ai rien à foutre.
Mais pourquoi ?
Moi, je m'en fous.
Argumente ?
Moi, personnellement,
pour l'instant,
je n'ai pas les moyens
de me payer le ciné.
Moi non plus.
Non, Gérard,
il n'a pas les moyens
d'aller au ciné,
il préfère aller à New York
voir le cinéma.
Oui, carrément.
Ok, en avant-première.
Donc, voilà.
Je pense que vous avez été
contents de...
De sa réponse.
Ça vaut le détour.
Et donc, ça va ?
Moi, Gégé,
c'est multiplex.
D'un artiste.
Ce que j'aurais voulu savoir,
c'est si une carrière,
un jour d'acteur
se présentait à toi,
parce que tu as commencé
dans la radio,
mais tu vas peut-être
aller plus haut.
Si une grande carrière d'acteur,
comme tout à l'heure,
on parlait de Jean Gabin
ou d'une aventura
se présentait à toi,
est-ce que tu penses
que ça t'intéresserait ?
Je peux te dire une chose
que là-dessus,
personnellement,
non.
Je préfère rester
à la radio
que d'aller faire du cinéma.
Il y a des rôles
qui sont faits pour toi.
S'il te plaît,
multiplex, 5 minutes,
s'il te plaît.
Justement,
en parlant des gens
qui font un autre métier
et qui veulent se lancer
dans le cinéma,
il y a Sucette
sur le Minitel
qui te pose la question,
Gérard,
est-ce que tu trouves
qu'Ophélie Winter
est une bonne actrice ?
Et que penses-tu
des chanteurs
qui se lancent
dans le ciné, justement ?
Ça, chacun voit
midi à sa porte
dans les chanteurs.
C'est vrai qu'on n'en a pas parlé.
Je n'ai pas pensé
à faire la question.
C'est vrai qu'il y a
beaucoup de chanteurs
qui se lancent
dans le cinéma.
Est-ce que tu trouves
que c'est bien
et est-ce qu'ils sont bons
dans le cinéma
aussi bien
que dans la chanson ?
Ophélie Winter,
elle,
je la vois mieux
dans la chanson.
Il y a Michel Sardou
que j'adore.
Lui, il a sorti
deux films.
Sur CD ?
Il a sorti
Cross,
qui était pas mal.
Il n'y a pas
de film.
Il y a Patrick Bruel aussi.
Et Crotte.
Et Crotte.
Et Crotte.
Non, ça,
toi,
il y a aussi...
Michel Sardou,
il vaut mieux
qu'il arrête de chanter,
il vaut mieux
qu'il arrête de faire des films
et qu'il ne fâche pas
de la poterie.
Oui,
qui c'est qui vient de dire ça ?
Je suis désolé,
c'est Multiplex.
Oui,
Multiplex.
Multiplex.
Chacun ses goûts,
Gérard.
Chacun ses goûts,
Gérard.
J'ai le droit.
Qu'est-ce que tu as pensé
de la prestation
de Guy Béard
dans Scarface ?
Non, mais là,
tu te trompes.
Allez,
conclusion du débat.
À chier.
À chier.
Qui c'est
qui vient de dire ça ?
Une fille.
Non,
les filles qui foutent le bordel.
Je ne sais pas si tu as remarqué.
Avant,
c'était les garçons,
maintenant,
c'est les filles.
C'est tout ça,
je crois,
non ?
Ah non,
je n'ai rien dit.
On se truche.
Ce n'est pas moi non plus.
Conclusion.
Conclusion du débat.
Allez,
chacun votre tour.
Multiplex,
conclusion.
Multiplex,
moi,
je pense que Gérard,
tu pourrais faire carrière
dans le cinéma.
Je pense que notamment
des rôles comme celui
de Quasimodo
te conviendra très bien.
Ou le bossu de Notre-Dame,
non ?
C'est le même,
c'est celui-là.
Tulipe.
Tu n'as pas regardé
à ses doigts.
Tulipe.
Tulipe.
Oui,
mais tout le monde parle.
Moi,
j'ai trouvé ça bien.
C'est sympa.
Cactus.
Moi,
je pense que le cinéma
n'existerait pas.
On n'aurait pas eu
de débat ce soir.
Je trouve que c'est pas mal.
Tony.
J'ai trouvé ça trop calme
comme débat.
Déjà,
je voulais te le dire.
Il faudrait que tu respectes
un petit peu plus ton équipe
parce qu'elle est quand même
là pour travailler avec toi.
Non,
mais attends,
Tony,
déjà pour commencer,
l'équipe ce soir,
elle a bien travaillé.
Oui,
merci.
Je voulais la remercier.
Merci,
chef.
Je voulais remercier
Pildar quand même
qui a fait les deux débats
à l'arrière.
Et tu sais que ça me démangeait.
Manu,
qui a fait un peu
n'importe quoi au standard,
mais c'est pas grave.
C'était nickel,
il n'y a pas eu une insulte,
pas eu un truc.
Oui,
mais quand je demande
de retirer des gens,
c'est pas la peine
d'essayer de les passer
sur d'autres personnes.
C'est le premier débat,
c'est ce que tu as voulu jouer
et puis là,
c'est le deuxième
avec Ananas
et l'autre
et Multitex.
On a vaguement
opéré.
D'ailleurs,
c'est Goldo,
je te le dis.
Tu vois ?
Non,
ce n'est pas possible,
c'était un 0-3.
Il n'a pas déménagé,
Goldo,
je l'ai vu ce midi.
Je vais voir
parce que j'ai gardé
les fréquences.
Je n'aime pas trop
que vous fassiez des coups
comme ça à mon Gérard,
je vous le dis.
Non,
mais c'est bon.
Tu as un peu lèche-botte,
Tony.
C'est vrai.
Mais Roquois
qui s'est fait passer
pour Tony,
donc on l'a reconnu
tout de suite.
Non,
ça c'est faux.
C'est faux
parce qu'ils m'ont appelé
un quart d'heure
avant la fin.
Oui.
Donc voilà.
Ok.
Donc moi,
je peux vous dire.
Rigo,
il n'a pas répondu.
Non,
mais Rigo,
de toute manière,
il a fait comme
le mardi dernier.
Il a bien travaillé.
De toute manière,
si j'ai qu'un truc
à dire,
c'est Rigo
qui a le mieux.
C'est le mieux
qui a travaillé
parce qu'il a voulu
que tout le monde
réagisse sur l'Internet
et je remercie.
Et d'ailleurs,
pour la conclusion,
il y a Arnette
sur l'IRC
qui chie sur ton débat.
Eh bien,
Arnette,
moi je te...
On a bien compris.
C'est pas ma conclusion,
Gégé.
Pour finir,
Poussin.
Donc c'est vrai
qu'on m'a dit
tout à l'heure,
je ne sais plus
ce qu'il dit.
Tulip ?
Oui,
je pense que c'est Tulip.
Tulip ou Moulinex ?
C'est vrai
que les salles de cinéma,
s'il n'y en avait pas,
on ne pourrait pas en parler
et puis on ne pourrait pas
aller voir les films,
c'est clair.
Oui,
mais il faut dire une chose
que les salles de cinéma,
c'est qu'il y en a beaucoup
en France
et elles sont moins fréquentées
qu'avant.
Mais il n'y en a pas beaucoup
par contre
dans les petites campagnes.
Oui,
mais ça dans...
Oui,
c'est...
Excusez-moi,
justement sur Unitel,
il y a une question
de Sucette encore
qui dit
étant donné qu'il y a
trop de salles de cinéma,
est-ce qu'il ne faudrait pas
en abandonner
sur le bord de la route ?
Non,
mais ça,
voilà,
Sucette,
tu vois,
je ne préfère même pas
te répondre à ta question.
Donc la semaine prochaine...
Tu as une conclusion Gérard
sur le cinéma avant ?
Non,
mais attends,
je vais annoncer le thème
du débat de la semaine prochaine.
Oui.
Donc la semaine prochaine,
le premier débat,
comme ça va intéresser
tout le monde
et qu'il y a longtemps
qu'on ne l'a pas fait.
Oui.
Disons qu'on l'a fait
mais on va le refaire.
On va faire
les boîtes de nuit.
Oui,
le milieu de la nuit,
les DJ,
tout ça.
Voilà.
Et le deuxième débat,
on verra.
D'accord.
Tu vas réfléchir chaque semaine
et tu vas donner ta conclusion
sur le cinéma,
bien sûr.
Donc en conclusion
sur le cinéma,
je pense que ce soir
ça s'est bien passé,
les deux débats
se sont bien passés,
personne ne s'est énervé.
C'est vrai.
Ça,
c'est ce qui m'a fait
le plus plaisir
et ça fera plaisir
à Max
s'il est encore
dans le quartier
mais je ne pense pas.
Et donc,
j'espère que la semaine prochaine
ça sera pareil.
D'accord.
Et donc,
on va se quitter
pour finir
avec
Banga
avec
Montez-moi dessus
sans sel
et vous allez avoir
Rousseau
pour la nuit
sans pub
et bien sûr
demain
22h minuit
Max
le Star System.
Bonne nuit à tous
et à la semaine prochaine.
- Ah oui, c'est bien, non ?
== Le débat sur les boîtes de nuit ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Pas d'insultes de Gérard !
Et voilà donc bonsoir à tous, 0h42, on est un petit peu en retard donc c'est un peu de ma faute parce que j'ai eu des petits problèmes mais c'est pas grave
Donc là vous venez d'entendre deux passages des Bee Gees, Philippe si tu peux...
Elle est woman et le deuxième je te le laisse annoncer quand même
Ouais mais... Steve...
Alave
Steve Alave, donc c'était le un, je pense que ça devait être la fève du samedi soir
Non c'était Elle est woman
Non c'est le deuxième, la fève du samedi soir et le premier c'était...
Elle est woman
Ouais mais c'était quoi comme film à peu près ?
Ça devait être un film...
Rocky IV je crois
Ouais ça devait être dans Rocky
Non non non je pense pas
Enfin bref, c'était un bon film
Voilà, donc le premier débat il va apporter...
Il va apporter sur les boîtes de nuit
Donc on va accueillir pour ça Crouton, 21 ans de Beauvais
On peut écouter sans fin de radio sur 101.9
A mon avis, tu vois, Manu
A mon avis Beauvais, on écoute, Beauvais c'est dans l'Oise
Ouais, c'est 101.9
Non, à mon avis je pense pas
Bah c'est marqué sur mon truc
Ah ouais mais c'est marqué sur ton truc mais ton truc il doit pas être à jour
Ah ouais c'est marqué sur ton truc mais ton truc il doit pas être à jour
Ah ouais c'est marqué sur ton truc mais ton truc il doit pas être à jour
Ah ok
Alors je peux pas savoir, je m'en excuse
Donc alors Beauvais, ça m'étonnerait que ça soit sur 101.9
Crouton, t'es là pour me confirmer ?
Oui oui, bonsoir Gérard, mes respects d'abord
Bonsoir
Donc est-ce que... Merci Droté
C'est pas moi
Non non mais tu peux me confirmer la fréquence ?
101.9 oui
Ah non non, Beauvais dans l'Oise ?
Attends Gérard, elle habite dans l'Oise, si elle te dit que c'est sa fréquence c'est la sienne
Non non non, Beauvais dans l'Oise, si elle te dit que c'est sa fréquence c'est la sienne
Non mais attends
Bon on va faire des recherches, on va faire des recherches, on va continuer les présentations, allez on y va
Donc petit poil, donc il y a Bondy, donc 101.9, pas de problème pour cette fréquence, 23 ans
Bonsoir
Allo
Oui bonsoir
Oh là, vous vous réveillez quand je dis bonsoir ou pas là ?
Allo
Oui
Tu m'entends ? Allo
Oui
Bon bah bonsoir
Oh là, ça commence très très très mal hein ?
Fille d'art
Je sais pas comment vous...
Allo
Non mais elle t'entend Gérard
De toute manière, tuteur d'Aix-en-Provence, on peut écouter Fun Radio sur 103.1
Ouais c'est ça, c'est là-bas
Voilà
Oignon, donc Brest 98.9
Oui, bonsoir Gérard, bonsoir à toute l'équipe
Tony
Bonsoir Gérard, bonsoir tout le monde
Tony, 20 ans
20 ans
Arnett
Non, il n'y a pas d'Arnett
Oui mais...
Tony, gentil hein ?
Ah oui
Ok
Sans problème
Ok
On est gentil, donc on peut écouter...
On est gentil et puis on écoute Fun Radio sur 101.9
Voilà
Et...
Col roulé
Ouais, déjà
Donc...
Ou qu'on peut écouter Fun Radio Lille 96.8
Exact
Et voilà
Donc alors, les débats vont porter sur les boîtes de nuit
Donc...
Avez-vous déjà été en boîte de nuit ?
Ah bon ?
Non, non mais attendez
Là, je ne vais pas commencer à parler dans un mur
Calme-toi Gégé, calme-toi
Non, non mais attends, Tony, Tony
Tony
Attendez, attendez, s'il vous plaît derrière
Non, non, Tony, Tony
Oui
Tony, je vais me calmer
De toute manière, tu sais que la semaine dernière je t'ai eu, ok ?
Ouais, ouais, non mais...
Non mais moi je voudrais...
Quand je pose la première question
Je voudrais pas déjà...
J'aimerais déjà avoir un blanc
Parce que là...
Attends, j'ai une idée pour ça
Bon, barre de blanc
Quand tu poses la première question
Tu fais, par exemple, col roulé
Qu'est-ce que t'en penses ?
Voilà, c'est ça
Comme ça, il y aura moins de blancs
Alors, donc...
Donc, déjà
La première question
Avez-vous déjà été dans une boîte de nuit ?
On va demander à...
Col roulé
Ben voilà
Col roulé, pourquoi pas ?
Ouais, ben ok
Ouais, ben ouais
Moi, j'ai déjà été en boîte de nuit, ouais
Et puis, en fait, je voudrais dire que c'est vachement cool
Parce que tu rencontres plein de gens
Ouais, mais ça...
Non, mais attends
Là, déjà
Commencez pas à me casser le thème du débat
Parce que...
Petit à petit
On va y revenir, là-dessus
J'ai approfondi, j'ai approfondi
Voilà
Bon
Donc, pour toi
T'as déjà été en boîte de nuit ?
Ouais, voilà, quoi
Ouais
Tu peux me citer...
Euh...
Non
Non, non
J'allais dire
Tu peux me citer...
Non, pas de marque
Non, non
Euh...
Tony
Oui, oui, bien sûr
J'ai déjà allé en boîte de nuit
J'aime bien y aller
Mais je préfère plutôt les ambiances soirées
Euh...
Dans...
Dans quel sens ?
Si ça te dérange pas
Ça me dérange pas du tout
Moi, Gérard
Euh...
Bah, je préfère...
Si tu veux, je préfère les soirées
Parce qu'en boîte de nuit
Je trouve...
Bon, c'est bien
On s'éclate, on s'éclate bien
Ouais
Mais je trouve ça un petit peu...
Il y a trop de monde, si tu veux
On fait moins de rencontres
Que, par exemple, si on fait une petite soirée en appartement
Ouais, non, mais...
Euh...
Dans ces cas-là, Tony
Moi, je peux...
Je te renvoie là...
Oh, non, mais attendez derrière, s'il vous plaît
Tu me renvoies à haut, là
Parce que j'ai entendu un...
Non, non, non, non, non
Je t'envoie pas à un haut
Parce que je dis aux gens qui sont derrière
Qu'ils se calment
Parce que moi, je vais quand même répondre à la question
Donc, je suis d'accord avec toi
Donc, c'est vrai qu'on a du mal à...
Dans des boîtes de nuit
Je pense que c'est...
Colrouleux qui a dit
On préfère plus de rencontres
Moi, je suis pas d'accord
Ouais, moi non plus, hein
Non, bah si, mais ça dépend
Non !
Non, mais si, mais ça dépend
Tu vas vers les gens, franchement, tu peux faire des rencontres, quoi
Oui, mais, par exemple
Je pense que ce ne sont pas que des bonnes rencontres
Qui c'est qui...
Attendez, attendez, attendez
Attends, attends, Tony
Tony
Qui c'est qui vient de dire, derrière ?
C'est moi, c'est Crouton
Oui, Crouton
Bah, vas-y, alors, dis-toi
Dis ta pensée
Moi, personnellement, je crois que ce ne sont pas que des bonnes rencontres
Oui, mais dans ce cas-là
Je vais rejouer avec...
Les...
Les...
Les jeux avec Manu
Pourquoi et comment
Donc, pourquoi que ce ne sont pas des bonnes rencontres ?
Bah, quand je dis des bonnes...
Pas que des bonnes rencontres
Ça veut dire que tu peux retomber sur des gens sympas
Et des gens sincères
Comme tu peux tomber sur des...
Des gros obsédés, quoi, ouais
Non, non, non, non, mais...
Non, non, non, non, attendez, attendez, attendez
Non, moi, je suis pas...
Attendez, attendez, attendez
Là, je vais demander à...
Tony
Oui
Col roulé
Ouais, ouais, ouais
Crouton
Donc, on va laisser parler les autres
Après, on va essayer de...
De rentrer dans...
Dans le débat
Non, non, non, non
On va essayer de...
D'approfondir la question
Parce que moi, je...
Je peux...
Je peux vous dire que...
Des rencontres...
J'ai jamais eu l'occasion d'en faire là-dedans
Donc, petit poil pour toi
Alors, pour moi, j'aime bien...
J'aime bien aller en boîte pour m'éclater
Pas forcément pour draguer
Pour être dans mon trip sur la techno
J'aime bien aussi les soirées
Pour plus rigoler, faire connaissance
Voilà, comme moi
Ok
Tuteur ?
Moi, j'aime bien aller en boîte pour me détendre
Le week-end
Quand j'ai rien à faire
Et puis, on peut sûrement faire des rencontres sympas
Et puis, quand elles disent que...
Qu'on peut tomber sur des gens pas cool et tout ça
Ben, je veux dire
Où que t'ailles, de toute façon
Tu peux avoir des gens sympas ou pas, quoi
Donc...
Excuse-moi, Gérard
Est-ce que je peux poser une question à cette jeune demoiselle ?
Oui, tu peux, si tu veux
Mais attends, Tony
Oui
On a Ognon qui n'a pas répondu encore
Pardon
Ben, ouais, Gérard, bien sûr
Ouais, je vais en boîte
Je vais en boîte
Je vais en boîte
Je vais en boîte une fois par semaine, à peu près, quoi
Tous les week-ends
Plutôt le samedi
D'accord
Et voilà, quoi
Je m'éclate bien
Plutôt dans les boîtes techno
Ouais, mais...
Ouais, mais d'accord
Mais, bien sûr
Tout le monde me parle de boîtes techno
Mais il n'y a pas que la techno, en France
Ah ouais, mais ça, ça dépend en fonction de toi
Ton style de musique
Moi, je préfère aller dans une boîte pour m'éclater sur de la techno
Plutôt que...
Enfin, je sais pas
Je me vois mal en boîte pour danser sur du rap, par exemple
Ou du ragameuf
Ouais, voilà
Ouais, exactement
Non, non, non
Attendez, attendez, attendez
Attendez, attendez
On va quand même...
On va quand même éclaircir la question
C'est bien textuel, ce débat
Oulala
Ouais, mais...
Avez-vous déjà été en boîte de nuit ?
Donc, moi, je peux vous le dire, oui
Parce que j'y ai été plus d'une fois
J'ai...
Bon, Tony, je pense que tu dois savoir
À la loco ?
Voilà
Ah, malheureusement, on n'en parlerait pas
Non, mais justement, donc
On va en parler parce qu'il y a quand même Jean-Marie K
Tout à l'heure, qui était parmi...
Ouais
Avec Max, qui en a parlé
Donc, maintenant, si je ne retourne plus à la loco
C'est qu'à l'heure actuelle, bon, ben
Moi, j'ai trouvé ma...
La personne avec qui faire ma vie
Ouais, mais attends
Ouais, non, mais là...
Non, non, mais là, je mets ça du...
Je sais ce que tu veux me dire
Tu peux retourner en boîte pour t'exalter avec Cindy
Ben voilà
Non, non, mais même
Ce que je voulais dire, c'est qu'on n'est pas forcés d'aller en boîte
Pour trouver une nana
Voilà
Je pense qu'à la loco, de toute manière
Vous allez pas...
Vous allez pas trouver la chaussure à votre pied
Exactement
Pourquoi ?
Ah ben, je pense pas
Pourquoi ?
Ah non, parce qu'il y a trop de nanas
Ouais, il y a un tas de nafomanes, il faut le dire
Ouais, ben oui
Mais de toute manière, un tas de nafomanes
Attendez, attendez, attendez
Pour finir, pour répondre à la question à Tony
Oui
Donc, moi, je peux te dire
Des nafos
Je vais te dire une chose, c'est même pas un nafo
C'est quoi ?
C'est des allumeuses, pour moi
Ah ouais, exactement
T'as plus d'une personne
Ils vont te dire
Ouais, ben, tu me payes un verre
Et après, ça va se terminer
Juste
Juste
Attendez, attendez, attendez
Attendez
Tout le monde me dira oui ou non derrière
Si vous êtes pas d'accord
D'accord
Mais moi, je peux vous dire une chose
Que ça se termine
À la fin
Juste par un verre
Ou par une soirée
À la casse-bas
Et après, c'est terminé
Tu revois plus la personne
C'est une autre boîte, ça, la casse-bas ?
Non, ça c'est...
C'est mon terme
Ah, pour dire chez toi ?
Non, non, c'est mon nouveau...
Mon nouveau truc
J'ai envie de dire, c'est tout
Ah, d'accord
Donc, euh...
J'avais une question
Oui, mais attends
Attendez, attendez
Me laissez voir sur Internet
Si des fois, on a des réponses
Sur la première, non ?
Pas pour l'instant, non
Non, pas pour l'instant
On va qui rigole
Mais de toute manière, tu peux réagir sur Internet
Donc, c'est quoi le site Internet ?
C'est irc.funradio.fr
Voilà, donc, vous pouvez réagir sur le débat
De la boîte de nuit
Et le deuxième portera sur les routiers
Alors, donc, Ognon, tu voulais rajouter quelque chose ?
Ouais, est-ce que ça t'est déjà arrivé ?
Parce que, justement, je t'entends parler de ça
Est-ce que ça t'est déjà arrivé de te faire draguer par une allumeuse ?
Euh...
Ça m'est déjà arrivé, oui
Oui, oui, oui
Comment ça s'est passé ? Bien, toute honneur ?
Non, non, mais je peux te dire qu'en boîte de nuit
Même à la loco, même que j'étais avec Sandy
Sandy, ça fait 8 mois
Que je la connais
Je peux te dire une chose
J'ai eu des gens
Des nanas qui sont venus me voir
Ça s'est terminé, comme t'as dit, par un verre ?
Non, non, non, ça s'est pas terminé par un verre
C'est que...
Et avant Sandy ?
Avant Sandy, ben...
Avant Sandy, il n'y avait rien d'autre
T'avais connu qui ?
À part Christine
C'est tout
Tu l'avais rencontrée par la loco, celle-là ?
Non, non, mais Tony
On la salue pas
Ah, pardon
Tu t'avais rencontrée à la loco ?
Ben, j'ai rencontré plus d'une personne
Bon, ben, je pense qu'elle nous écoute
Donc, voilà
Non, mais c'est qui ?
Ah, non, mais je ne citerai pas tous les noms
Ah, pourquoi ?
Parce que ce n'est pas le thème du débat
Non, non, ce n'est pas le thème du débat
On peut répondre à la question que tu disais
Donc, il y a des nanas qui allument
Qui se font payer un verre et puis qui se cassent
C'est ça, hein ?
Donc, qui veut répondre à la question ?
Non, mais c'est...
C'est vrai, franchement, il y en a beaucoup comme ça
De toute manière, dans les boîtes de nuit
De toute manière, c'est ça
Si t'es à pied
Et que la nana, elle a un petit coup dans le verre
Un petit coup dans le nez
C'est de savoir si le mec, il a une voiture
Pour la raccompagner
Et après, ça s'ermine dans le plus marre
Non, non, non, attendez
Attendez, attendez
On se calme, Tony
Oui, ce qu'il faut dire, Gérard, aussi
Non, non, mais Tony, on ne dit pas
Ça s'ermine au tribunal, d'accord ?
Sinon, Tony
Non, non, mais attends, Tony
Ce n'était pas Tony, Gérard, c'était Oignon
C'était Oignon, c'est moi
Bon, Oignon
Manu, tu me prends Oignon
Et tu lui dis qu'il reste...
Non, je me calme, Gérard, je me calme
Donc, je lui prends l'Oignon
Et je lui dis...
Non, non, tu le prends hors antenne
Tu prends l'Oignon de Tony
Tu prends Oignon et tu lui dis...
Je me calme, je me calme
Non, non, mais tu vas aller voir Manu, là
Non, pas de problème, je me calme, Gérard
Non, non, mais parce que...
Non, non, mais parce que moi, cet après-midi
On a fait une réunion avec toute l'équipe
Donc, je voudrais...
Donc, cet après-midi, et là, il est 1h du matin
Oui, non, mais je voudrais que le débat se passe
Comme la semaine dernière, impeccable
Il y en a qui vont prendre le cul, là, parce que j'ai perdu
Oui, Gérard
Oui ?
Je voulais dire aussi, il ne faut pas généraliser
Toutes les filles ne sont pas comme ça, hein
Oui, non, mais attends, c'est qui qui parle, là ?
C'est Petit Poil, là
Oui, mais Petit Poil
Moi, je vais dire une chose
Tu as certaines nanas, quand tu les vois, là, locaux
Il faut dire une chose
Il faut voir comment vous êtes habillés
Parce que les trois quarts...
Oui, les trois quarts, mais pas toutes
Oui, mais...
Non, mais...
Il y en a aussi qui viennent
Moi, je crois qu'il ne faut pas généraliser
Oui, mais d'accord
Vous venez en boîte pour vous éclater
Vous éclater, pardon ?
Mais nous, on veut vous éclater, c'est ça, le truc
Mais n'est pas dans ces cas-là
Nous allumer
Oui, mais Gérard, si on vous allume
C'est pour avoir un verre, hein
Oui, mais nous, on veut bien payer un verre
Mais il faut que vous couchiez
Ah, oui, voilà
Voilà, non, bon
Tony, Tony, Tony
Je ne sais pas si tu es d'accord avec moi
Non, non, mais c'est bon, on arrête
Parce que là, sinon, la question, on va en faire...
Ok
On va garder...
Je veux dire quelque chose
C'est un tuteur qui parle
Oui
Il y a des filles, enfin, moi, j'en fais partie
J'en ai déjà fait partie, quoi
Qui viennent en boîte
Que pour trouver un mec
Donc...
Oui, mais, tuteur
Oui
Tuteur, est-ce que tu crois que dans une boîte de nuit
Tu as rencontré l'âme sœur ?
Non, non, on vit, quoi
Elle n'a rencontré que le roulé, c'est tranquille
Voilà
Non, non, mais col roulé, s'il te plaît, tu te calmes
Ok
Maintenant, on va passer à la deuxième question
Que pensez-vous des balles trappes en plein air ?
Des quoi ?
Des balles trappes
Alors, un balle trappe, c'est quoi ?
Rigaud, oui
Non, non, il se demande ce que c'est un balle trappe
Un balle ?
Un balle trappe, c'est des soirées qui sont organisées en plein air
Ah, ouais
Bon, si, par exemple, la fête...
Non, pas la fête à Neuneu
Parce qu'il n'y a pas de balle
La fête des loges ?
La fête des loges du trône ?
Non, non
Non, non, où c'est qu'on pourrait trouver des balles trappes ?
Bah, dans mon village, à la kermesse
Les kermesses, toutes les kermesses, il y a des balles à la fin
Voilà, voilà, genre kermesse
Il y a pas mal de balles tringues aussi, chez Manu
Non, des balles trappes, abrutis
Ah, pardon
Eh, commence pas, toi, parce que...
Sinon, je vais te gaufrer, toi
J'ai un sourire, c'est...
Oui, stop
On me dit que les balles trappes, c'est à trappes
Non, mais balles trappes, c'est à trappes
C'est des trucs pour danser
C'est pas à trappes spécialement
Ouais, mais t'as les farces à trappes aussi
Oui, mais ça, les farces à trappes, ça, c'est autre chose
Bah, c'est comme un balle, hein
Oui, mais... Non, non, mais... Donc, répondez déjà à la question
D'accord, alors...
Donc, Crouton
Bah, moi, je pense que c'est pas mal, mais enfin...
C'est peut-être réservé à une certaine catégorie d'âge
Oh là, mais Crouton
Oui ?
Crouton, t'as un téléphone sans fil ?
Bah, non, enfin, si, ouais, c'est un sans fil, mais c'est pas un portable
Ah, ça marche pas avec les...
Non, mais apparemment, t'as un décalage entre nous
C'est vrai ?
Ouais, parce que...
Bah, non, bah là...
Moi, je suis le plus près possible, je peux pas faire plus près
Allez, avale-le
Non, non, mais on se calme derrière, hein
Tony, on se calme
Désolé, c'est pas moi
Alors, moi, je suis pas d'accord avec Crouton
Non, non, mais attendez
Allez, on y va, répondez à la question sur les balles trappes
Petit poil
Petit poil, je suis pas d'accord avec Crouton
Oui ?
Pour que, à un certain âge
Moi, je dirais, quand tu vas dans des petits patelins
Il y a des jeunes aussi, ils ont pas le choix
Donc, il faut bien qu'ils aillent essayer les balles à trappes
Pour rencontrer des personnes
Ouais, non, mais balles trappes, c'est...
Non, mais attends, Tony, s'il te plaît
Pardon, pardon
Je vais y répondre quand même, parce que c'est quand même
Moi qui gère le débat
Oui, oui, tout à fait
Donc, le balle trappe, c'est un truc qui se passe en plein air
Avec de la musique
Ouais, mais...
C'est de la musique, quoi, c'est en plein air
Bah oui, si tu veux
C'est pour ça que je dis les balles trappes
Parce qu'on peut très bien parler de la fête de la musique
Justement, ça sera la onzième question
Donc, tu y reviens maintenant
Donc, c'est même pas la peine
Donc, c'est pareil
Sur la fête de la musique, est-ce que tu peux rencontrer des gens ?
Oui, oui
Bah, bien sûr, tu peux faire connaissance de plusieurs personnes
En, je sais pas, en prenant un verre
En dansant, en écoutant la musique
Moi, ce que je voulais dire, c'est que, petit point, là, elle dit qu'elle voit des jeunes
Mais moi, je suis déjà allé à des balles trappes
Bon, Tony, Tony
Oui ?
Bon, vas-y, alors, toi
Ouais, mais parce qu'il y a...
Non, mais, cours, cours, cours, hein, parce que...
Faut qu'à une heure, à une heure et demie
Faut qu'à une heure, non, non, mais faut qu'à une heure et demie, j'attaque le deuxième, hein
Non, on a pris plus tard, donc on peut aller au moins jusqu'à deux heures moins le quart, quand même
Non, non, non, non, une heure et demie, comme la semaine dernière
Non, non, non, oh, oh
Oh, non, non, mais, c'est pas...
Oh, c'est pas vous, hé !
Oh, pas de politique, là
Non, non, mais c'est pas vous qui commandez
Donc, moi, j'ai les consignes
C'est une heure et demie, terminé, le deuxième
Deux heures, euh...
Deux heures moins le quart, jusqu'à trois heures
Je peux réagir au débat, quand même
Bon, alors, euh, Tony
Oui, je voulais réagir à la personne qui vient de parler
Oui, petit point
Oui, ouais, tu disais que...
Mais tu sais qu'il y a un...
Attends, Tony
Moi, je voudrais savoir
Qui c'est qui a un téléphone qui est pourri
Parce que là, c'est impossible
On l'a dit, Gérard, c'est Petit Poil, c'est ça ?
Ah, non, non, c'est pas moi
C'est pas Petit Poil, c'est Crouton
C'est rapproché de la base et ça doit aller mieux
Ça va mieux, là
Là, on va pas continuer le débat
Avec un son comme ça
Mais écoute, Gérard, je suis déjà passée dans le débat
Et ça a jamais fait ça, quoi
Ah, mais alors, pourquoi qu'aujourd'hui, ça le fait ?
Eh ben, je suis désolée, je m'excuse, t'énerves pas
C'est peut-être pas...
C'est pas la première fois que t'appelles, toi
Ben non, c'est pas la première fois
Elle a appelé l'année dernière
Quand on faisait le débat la nuit
Bon, donc, Tony
Oui, moi, je voulais réagir à ce que disait Petit Poil
Parce qu'elle disait qu'il y avait beaucoup de jeunes qui venaient à Débaltrap
Moi, je suis allé à Débaltrap
Et les jeunes que j'ai vus, c'était des bouseux qui venaient en tracteur
Non, mais attends
Pourquoi des bouseux ?
Parce que c'est surtout...
Non, mais attends, Tony
Pourquoi que tu vas tout de suite chercher
Des trucs comme ça
Des gens
Bah, écoute, je te fais part de mon expérience
C'est peut-être pas dans les bons endroits que t'as été
Bah, écoute, moi, je suis allé à Jouy-en-Josa
Non, non, mais ça y est
C'est bon, c'est pas la peine de citer les villes
Ok, Tony
Donc, t'as été dans certaines villes
Et ça s'est mal terminé, c'est ça ?
Non, pas du tout, parce qu'elle disait que les jeunes
Il y avait beaucoup de jeunes, moi, j'ai vu que des vieux
Et puis des mecs qui venaient en tracteur
Bon, on va demander
On va demander à Twitter
Bah, moi, j'ai...
Moi, je sais pas, je suis jamais allée dans un baltrap
Mais je trouve que c'est pas très sympa de dire des bouseux
Parce que je trouve que c'est mépris
Non, mais attends, stop, Tony
Mais non, pas moi
Ah, c'est cool
Attends, Twitter, avec ça en Provence
Je pense que t'as dû
Déjà aller dans des baltraps
Me dis pas le contraire
Attends, avec ça en Provence
Y a un festival, en plus, là-bas
Y a pas mal de trucs
Mais si tu veux, ça fait que cette année
Que j'y habite, donc
Ah ouais, donc, y a pas longtemps
Parce qu'il y a le festival des baltraps, là-bas
Ok, Oignon
Ouais, bah, moi, j'ai jamais été dans un baltrap
Mais bon, pour les fans de Balmusette et Licence 4
En tout genre, ouais, ça peut être sympa
Non, mais ça, on en a rien à foutre de Licence 4
Non, non, non, non
Non, mais moi, je vais te dire tout de suite
Qu'on en a rien à foutre de Licence 4
Parce que je sais sur ce que tu veux me parler
C'est quoi la différence entre baltrap et balmusette, par exemple ?
Non, non, mais attends, Licence 4
Il veut parler de...
Viens boire un petit coup à la maison
Mais c'est du balmusette
Ouais, mais d'accord, mais...
Alors, quelle est la différence, Gérard ?
Entre baltrap et balmusette
Est-ce que tu pourrais expliquer la différence aux autres ?
Là-dessus, non
Pourquoi ?
C'est pas pareil
Ouais, c'est pas pareil
C'est peut-être pas la même musique
C'est pas du tout la même musique
Qu'est-ce qu'on écoute dans les baltraps, alors, comme musique ?
Un peu de tout, hein
C'est-à-dire ?
T'écoutes...
De l'accordéon
De l'accordéon, t'écoutes...
Il va d'envers
Non, non, de l'accordéon, on vient de le dire
Alors, euh...
De la guitare
Euh, de la guitare, euh...
Avec qui ?
Du synthé, hein
Euh...
Je pense pas que Jean-Michel Jarre
Prend un truc sur les baltrap, hein
Bah, si, de l'affaire
Non, non, non, non
Il joue de l'accordéon électronique, hein
Ah, ouais, ouais, non, mais attends
Euh, Tony
Oui ?
Tony
J'ai déjà vu, j'ai déjà vu, hein
Non, non, mais attends, c'est toi qui viens de dire
De l'accordéon électronique
Oui, tout à fait, ça existe
Eh ben, je vais te dire une chose
Que lui, Jean-Michel Jarre
Ah, merci
Je sais qu'il est coupé
C'était qui ?
C'est bon, c'était Oignon, mais je vais le rappeler tout de suite
Ah, ok
Oh, ouais, non, mais attends
Non, parce que, euh...
Il a un téléphone qui s'est déchargé
On va le rappeler tout de suite
Oh, ouais, non, mais attends
Manu, Manu, Manu
Ah, pause, pause
Manu, Manu
Oui, oui, je t'écoute, je t'écoute
Non, non, mais attends
Euh...
Si c'est un téléphone
Que la personne reste au bout d'une heure
Et que ça se termine
C'est pas la peine, hein
Bah, tout le débat dans une heure, il sera terminé, hein
Tu prends sur d'autres lignes, c'est tout, hein
Ok
Euh, donc, euh...
Non, on parlait de Jean-Michel Jarre
Ouais, je parlais à...
Je répondais à Tony
Oui
Donc, moi, je peux te dire une chose
Que Jean-Michel Jarre, quand il fait venir des gens
Euh...
Fais-moi confiance qu'il fait déplacer des camions
Et son truc, c'est...
C'est pas de l'accordéon
Comme tu dis
C'est ça ?
Non, non, mais attends, Tony
Tony, tu me laisses finir ?
De cette manière, on va faire...
Là, on va pas en discuter trop
Parce que je risque que la semaine prochaine
De faire un débat sur les santé
Carrément
Mais, Gérard, est-ce que...
C'est quoi, sur la santé ?
Non, le synthé
C'est quoi, ça ?
Le synthétiseur
Est-ce que t'as déjà joué du synthé, toi, Jean-Michel ?
Non
Oui
Est-ce que tu penses que, toi, les balles à trappe, c'est de la balle, hein ?
Euh...
Balle à trappe, c'est de la balle
Ça dépend dans quel sens que tu veux le dire
Bah, dans le sens figuré
Ouais, mais dans quel sens ?
Ouais, mais dans quel sens ?
Pas au sens figuré, pas au sens propre, hein ?
Ouais
Ouais, mais dans quel sens ?
Pour toi, tu veux le prendre, ça ?
Bah, c'est-à-dire que c'est de la balle, c'est bien, quoi
Ouais, c'est de la balle
Tu peux même dire que c'est de la bombe bébé
Ouais, c'est de la balle à demi
Ouais, voilà
On passe à la troisième
Il y a un col roulé qui n'a pas répondu
Ah ouais, col roulé, oui, pardon
Excuse-moi
Ouais, non, c'est pas grave, j'ai un tétout effusé
En fait, moi, je veux dire sur les balles à trappe
Que j'étais un petit peu de la vie de Tony
C'est que, en fait, bon, c'est réservé à une certaine catégorie
De gens, quoi, à peu près la cinquantaine, quoi
Et plus
Ouais, non, non, mais attendez, attendez
Attendez, attendez, oh, stop, stop, stop, stop
On va pas mettre
Les personnages là-dedans, parce que
De toute manière, un balle à trappe, c'est fait pour tout âge
Pour tout type
Pour tout type d'âge
Ça peut être de
7 ans jusqu'à
77 ans
Attendez, attendez
Si vous voulez, mais pas tous en même temps, hein, merci
Donc, ça peut être de 7 ans
A 77 ans
Et chacun fait ce qu'il veut
S'il n'a pas envie de danser
Sur la musique, ne danse pas
On est d'accord ?
Maintenant, j'ai pas fini de dire
Donc, j'ai dit qu'en fait, c'était réservé à une certaine catégorie d'âge
Il y avait aussi des gens
Qui étaient un petit peu moins âgés
Mais le problème, c'est qu'ils avaient le même tempérament, quoi
Bah oui, mais maintenant
C'est pour une certaine catégorie de gens, quoi
Ouais, mais col roulé
Moi, je vais te dire une chose
Dans les balles à trappe, tu vois, tout style d'âge
T'as pas
Un âge spécial
Non, d'accord, mais c'est tous des gens qui écoutent que de l'accordéon, quoi
Non, pas spécialement
Que de l'accordéon
Est-ce que tu as j'y étais, toi, Gérard ?
Euh, non
Tu verras jamais des jeunes danser sur Verschuren
Non, mais attendez
Mais attendez, non, mais on va pas s'amuser
A prendre des noms comme ça
Danser sur André Verschuren
Sur Éveille Turner
Ou sur...
Votre
Votre
Des accordéonistes
On en a pas mal
C'est bidon
Ouais, c'est bidon, bah, si ça te plaît pas
Ça dépend de l'âge
Non, mais attends, il y en a un qui vient de dire
Si c'est bidon
Pour toi, si c'est bidon, la question
C'est l'accordéon qui est bidon
Mais dans ce cas-là
Il en écoute pas, c'est tout
S'il aime pas, il en achète
Il en écoute pas les autres
Non, mais il achète autre chose, comme c'est né
On peut écouter les deux aussi
On peut aimer l'accordéon
Et la techno
Non, mais attendez, parce que là
Si on part comme ça sur l'accordéon
Et sur la techno
Je peux tenir jusqu'à 3h
Même à 4h
Et on fera qu'un débat
D'ailleurs, moi j'ai acheté
Cyber accordéon volume 4, c'était le top
Bah, bien sûr
Dis-moi plutôt, musique de nuit volume 4
Tu veux ?
Anthony
Non, non, mais
Musique de nuit volume 4
Ok, Tony
Terminé, terminé, stop
Donc, la troisième question
Quel genre de danse
Que vous aimez
Vous allez réfléchir à cette question
Je répète la question
Quel genre de danse aimez-vous, par exemple
Quand vous allez en boîte de nuit
Parce qu'il faut bien tourner la question
J'ai pas précisé, toujours
Le monde de la nuit, le monde des boîtes de nuit
Des DJ, tout ça
Et donc, on va s'écouter Guy Préjean
Avec bien
Viens voir la vie
De l'autre côté
De l'autoroute
Et vous pouvez tout nous
Toujours
Attends, on va la refaire
C'était une horreur
Donc, vous êtes toujours en direct de Fun Radio
C'est toujours les débats de Gérard
Et donc, vous venez d'écouter
Guy Préjean avec
Viens voir la vie de l'autre côté
De l'autoroute et on récupère
Crouton
Petit poil
Très bonsoir
Tuteur
Oignon
Oui, toujours fidèle
Le prochain coup que tu raccroches
On prend quelqu'un d'autre
Il n'y a pas de moi, ça vient de mon téléphone
Je te dis tout de suite
Dès que
Tu raccroches
On prend quelqu'un d'autre
Salut, je te kiffe
Moi, je te kiffe pas
Tony, tu restes poli, s'il te plaît, merci
Colle roulée
Pour terminer
Et donc
La question
C'était quoi ?
Donc, quel genre de danse
Que vous aimez en boîte de nuit ?
En boîte de nuit
Même voir autre
C'est-à-dire, bien sûr
Dans les balles trap
Oignon
Oui, oignon
Moi, je voulais répondre
Moi, il y a un style que j'adore
C'est les breakers
C'est ceux qui font des waves
Tout ça, c'est les vagues
C'est bien ça
Ça, c'est génial
En boîte, ça se voit
Ça se voit souvent en boîte de nuit
Généralement, vers 2-3 heures du matin
Ils sont tous pétés
Bon, enfin, bref
Ils roulent sur la tête
Comme des
Oh, ouais
Comme des
Cols roulés
Ouais, bah alors moi
Comme danse
Ce que j'aime bien
C'est le tango, tu vois
Ouais
Les balles trap
Ouais
Ouais, ouais
Parce qu'en fait
C'est une technique de drague, quoi
Non, mais attends
Cols roulés
Cols roulés
Cols roulés
Cols roulés
Je pense qu'à mon avis
Tu reviens dans la deuxième question
Et on va pas s'éterniser
Ouais, mais non
Je t'assure
En fait, tu vois
J'aime bien cette danse
Mais en plus
C'est une technique de drague, quoi
Bah oui, tout à fait
Je remue, tu vois
Mes petites fesses
C'est le métro qui passe, là
Ouais, voilà
Tu m'écoutes, DJ ?
Ouais, ouais
Donc en fait, tu vois
Quand je danse
Et quand je remue mes petites fesses
Mes trous de merde
Qui passent
Non, non, mais attends
Cols roulés
Je suis en train de
Dans Gérard est perturbé
Parce qu'il vient d'avoir un métro
À 1h15 du matin
Donc ça le perturbe
Non, mais là
Il est passé pressu, là
C'est la grève
Ah, c'est la grève
T'as raison, toi
Ils ont déjà déménagé
Et comment ça s'est passé ?
Non, non, ça y est, ça y est
Et hop
On va pas parler des métros
Tuteur
Non
ce n'est pas moi
Je ne sais pas
Moi, j'aime bien
Tous les styles de musique
Mais c'est vrai qu'en boîte
Quand il n'y a que de la techno
Enfin, moi, personnellement
Ça me lourde, quoi
Ouais
Je préfère aussi
Alors attends, Tuteur
Ouais
Dans ce qu'il y a là
Tu n'aimes pas du tout
Ce que Max y passe
Le soir
Non, non, non
Non, non, mais attendez
Attendez, attendez
Oignon
Oignon, Tony
Et Cols roulés
Ouais, ouais
Et Petit Poil et Crouton
Vous ne dites rien
Alors donc
Pour toi, Tuteur
Ce que Max y passe
Le soir
Entre 22h
Et 1h du matin
Donc
Ce n'est pas ton style de musique
Non, je ne sais pas
Je n'ai pas dit ça
J'ai dit qu'au bout d'un moment
Ça commençait à m'agacer
Ouais
Enfin, moi, j'aime
Moi, j'aime pas
Tout sur la techno
Je n'ai pas dit
Que je n'aimais pas écouter ça
Ouais, mais alors attends
Tuteur, Tuteur
Moi, je vais te poser une question
Ouais
Admettons que tu prennes ça
De 23h
Jusqu'à 6h du matin
Ouais
Ben, je ne peux pas
Ah, ben alors
Dans ce cas-là
Tu n'iras jamais
Du
Un cliché
Alors
Ben, si
Ben, non, ben, attends
Ça ne peut pas passer
Non, mais attends, Gérard
Dans toutes les boîtes
Il y a différents styles
Ouais, mais d'accord
À la loco
Puisque tu parles, en fait, de la loco
Ben, ouais
Tu restes au rez-de-chaussée
Tu as de la techno
Tu vas en bas
Tu as du rock
Et en haut, tu as de la funk
Tu as du rap
Ouais, mais attends
Dans ce cas-là
Dans ce cas-là
Pourquoi qu'elle dit
Qu'elle n'aime pas la techno
Donc, elle n'aime pas
Ce que Max y passe
Elle a le droit d'aimer ce qu'elle veut
Mais Max, il y a
On m'a dit ça, en plus, Gérard
Des fois, c'est pas ce que j'ai dit
J'aime pas
J'aime pas écouter
Trop de techno, quoi
Mais
Ben, ouais, mais dans ce cas-là
Dans ce cas-là
Toute la journée
T'écoutes que ça sur Fun
Non, on parle pas de Fun
On parle des boîtes
Ouais, voilà, en plus
Non, non, mais attends, moi
Je peux lui dire
Oh, non
Le dernier, Céline Dion
Est quand même super deep house
Parce que vous avez remarqué
C'est du deep core, mec
Ouais, ouais
Zora, Zora sourit
Ouais
Je l'ai vu
Mais de toute manière
C'est pas
Il faut mieux qu'elle arrête de sourire
On est d'accord
Elle est grave
Petit poil pour toi
Ouais, alors pour moi
J'aime bien tout style
Salsa
Zouk
Techno
J'aime bien faire des pogos
De temps en temps
Quand les mecs
Sont pas trop violents
J'aime pas trop le rap
J'aime bien le classique
J'aime bien un peu tout, quoi
Ouais, mais attends
Le classique
Tu verras jamais ça
Dans des boîtes de nuit
Du coup, tu vois
C'est des boîtes de classique
Si, si
Oh, ouais, mais où ?
Ben si, il y a des
Non, non, pas à la loco
A la loco, il y a
Non, non, pas à la loco
Qui s'appelle l'opéra
Où ils jouent plein de classiques
Ouais, non, mais attends
Dans ces cas-là
Si on prend l'opéra Garnier
Tout ça
Ouais, il n'y a pas que ça
Dans la journée
Il y a des boîtes
Comme, bon, je dirais pas le nom
Qui font du dancing
Pour les personnes
Ouais, ben je sais
Je vois
Tu veux dire
103 Avenue Foch
Non, non, c'est pas ça
79 ?
Non
Pas de marque
Non, mais au 103 Avenue Foch
Ils jouent pas mal de dancing
Ouais, mais c'est pas là
Ouais, mais c'est pas là
De toute manière
Là-dedans
Ils en jouent pas mal
Et en plus
C'est une radio
Que je déteste
Parce que ça
C'est une radio
De blaireau
De blaireau
Je parle pas de radio
Moi, hein
Je parle pas de radio
Non, non, mais moi
Je peux te dire une chose
Que
Cet homme-là
Où qu'il va
Au 103 Avenue Foch
C'est pas là
Au Avenue Foch
C'est une radio
De blaireau
C'est Radio Montmartre
Alors je vais dire
Un jour
Le mec qui a envie
De s'endormir
Avec Radio Montmartre
Et qui se réveille avec ça
Vous allez pas le dire
Non, mais
Non, mais
Il est complètement servi
Ah ouais, c'est clair
Là, tu tombes dans le gomme
À dire
Ah ben, alors là
T'entends du André Bershuren
Du Diver Turner
Tout ce qui s'en suit
Donc
On revient presque
À la deuxième question
Ouais
Donc, on entend
Ouais, je suis en train de manger
J'ai faim
J'ai pas mangé
Non, mais
Pildar
Pildar, t'es gentil
Bah quoi ?
Quand tu manges
T'éteins ton micro
Tu fais pas comme mon chef
Hein ?
Parce que là
On dirait un vrai porc
Qui mange
Ah, merci
On dirait un cochon
Alors
Le chef, il sait manger
Mais toi, tu manges
Comme un cochon
D'accord
Donc
Crouton
Oui
Bah moi, personnellement
Moi, j'adore me chauffer
Sur de la techno
Mais finir un peu
Sur du reggae, quoi
T'es chaude
Ah ouais, mais
S'il vous plaît
Allez, Tony
Tony
Elle aime bien se chauffer
Elle est chaude
Non, non, mais attends
Tony
Tu restes poli
Parce que
Sinon
Je vais t'obliger
De te zapper, toi
Chaude aussi, c'est une insulte
Faut me dire
Faut qu'il me fasse une liste
Ouais, bah alors
Euh
T'expliques à Tony
Qu'il se calme
Non, mais c'est rare
Chaude, c'est pas ça
Non, non, non, mais
Non, non, mais attends
Chaude, des fois, ça peut mettre
Même un train
Non, non, mais on va
On va pas s'éterniser
Parce qu'il reste encore
7 questions
Et il est quand même
1h20 du matin
Alors, vas-y
Pose ta 4ème question
Alors
Moi, je peux
Quel genre de danse
Réponds-moi la question, voilà
Qu'est-ce que t'aimes bien
En boîte de nuit
Moi
Ce que j'aime bien danser
C'est
Style
Bah, un techno
Parce que
J'ai l'habitude de
Au début, j'y allais
Bon
Je suis
Je suis plus
Maintenant
Techno
Slow
Et
Et un peu disco
D'accord
Bon, voilà
T'étais plus souvent au bar
Sans te manquer de respect
Bon, Tony
S'il te plaît
Oui
Mais c'est pas vrai, Gérard
Ok
Euh
Ça m'étonnerait
D'accord
Sortez-vous en boîte
Attention, c'est la 4ème question
Attention, accrochez-vous
C'est la meilleure
Sortez-vous en boîte
Pour draguer
Non, c'est faux
C'est pas la meilleure
Pourquoi, toi ?
Parce que
T'as déjà rencontré des nanas, toi
Dans une boîte ?
Non
T'as déjà dragué ?
Non
J'ai déjà dragué
Mais j'ai jamais rencontré une nana
Dans une boîte
Ouais, bah
Donc, Crouton ?
Bah, moi
Franchement
Je crois que la boîte
C'est bien pour s'éclater
Mais
Au niveau des gars
C'est pas ça, quoi
Parce qu'en fait
C'est le gars que tu chauffes
Pour la soirée
Enfin, personnellement
Moi, je le chauffe pas
Parce que j'aime pas ça
Mais c'est bien pour t'amuser
Une soirée, quoi
Puis après, bah, c'est ça, quoi
Enfin, moi, c'est mon avis, hein
Parce que
Sinon, après
Si tu commences à aller plus loin
En général, c'est sûr
Que ça va pas durer
Euh, qui c'est
Qui renupe comme un cochon, là
Parce que ça m'énerve
Mais c'est pas le souci
T'as même pas écouté
Ce qu'elle vient de dire, Crouton
C'est quoi, ce travail ?
Comment veux-tu, après, réagir
Par rapport à la question ?
Mais, attends
De toute manière
Tu vas pas
Sortez-vous en boîte
Pour draguer
À mon avis
T'es pas forcée
D'aller en boîte
Pour draguer
Je suis désolé
Non, moi, j'y allais
Petit poil
Bah, moi, j'y allais
Pour draguer
Quand j'avais 14-15 ans
Ouais, non, mais attends
À 14-15 ans
Tu crois que
Les bidards, ils te font rentrer ?
Bah, je suis désolée
Non, non, non, non, non
Avec un petit billet, si
Non, non, non
Je suis désolée
Je rentrais, hein
Non, non, non, mais attends
Quand t'es nana
Quand t'es nana
Il faut rentrer à partir de 14
Ouais, ouais, ouais
Et puis, maintenant
Maintenant, avec
Non, non, non, mais attendez
Attends, attends
Attends, petit poil
Tu me laisses finir ?
Ouais, vas-y
Euh, non, mais
C'est pour toi que j'appelle petit poil
Non, je sais pas
Toi, t'es trop de cul, toi
D'accord, si tu veux
Moi, j'ai des gros poils
Trop de cul
Donc, moi, je peux te dire une chose
Petit poil
Qu'il y a l'heure actuelle, maintenant
Pour aller en boîte de nuit
Si t'as pas la majorité
C'est pas la peine
Ah, ouais, bah
Je peux te dire qu'à la loco
Il y a des filles mineures
Qui rentrent, alors, hein
Ouais, ouais, ouais, ouais
Mais
Mais elles rentrent avec Gérard
Non, non
Ouais
Non, mais je rigole
Non, mais à l'époque
Moi, on me laissait rentrer
Attends, on est tous allés en boîte
À 15 ans, en fait
Donc, quand j'avais 15 ans
Non, non, non
Non, non, non, mais attendez
Attendez, attendez, attendez
Attendez, parce qu'il y a
Il y a d'autres personnes
Qui vont réagir
Donc, moi, petit poil
Moi, je peux te dire une chose
Là-dedans
C'est plutôt des soirées
Des après-midi
Que les boîtes sont ouvertes
On en a
Et c'est tout
Bah, moi, je suis pas d'accord
Moi, non plus
Non, non, mais
Tuteur
Tuteur
Les filles, enfin, je sais pas
Personnellement, moi, je suis rentrée
En boîte à 15 ans
J'avais un mec
Qui en avait 18
Donc, t'as aucun problème
Voilà, attends
Bah, ouais, mais de toute manière
Non, mais attendez
Mais attendez
Oui, je t'écoute
Et puis, c'est rare
Quand t'es
Enfin, les filles
De toute façon
Elles font toujours plus âgées, quoi
Ouais, ouais, ouais
Ouais, mais d'accord
Parce que la personne
À l'entrée
Ne fait pas gaffe
Aux cartes d'identité
Il y a aussi le maquillage
Les filles, elles se maquillent
Exactement
Et puis, ils vont pas
Réussir toutes les cartes d'identité
Mais c'est vrai
Que les jeunes
Qui vont en boîte
La plupart du temps
Enfin, c'est
C'est des gens
De mineurs, hein
Ouais, mais
Bah, ok
Moi, j'avais
J'ai une anecdote
À ce sujet
C'est
Je connaissais une fille
Qui n'était pas majeure
Et qui prenait
La carte d'identité
De sa mère
Pour aller en boîte
Ouais, mais
Et les mecs
Les videurs
Ils la laissaient rentrer
Ouais, non, mais attends
Dans ce cas
Si la personne
Prend la carte d'identité
Des parents
Ça sert à rien non plus
Bah, ouais, mais
Elle peut rentrer en boîte
Oignon
Ouais, Gérard
Oignon
Ouais, il y a un mec
Qui paye pas ses impôts
Bon, alors, toi, Oignon
Bonne nuit
Allez, hop, toi
Toi
Non, non
Non, non, non
Et toi, pour toi
C'est terminé, Oignon
Ça y est, ça y est
Ça y est, il est parti
Oh, tu sais ce qu'il dit
Il revient pas
Il reviendra
Il reviendra dans 2-3 mois
Quand on aura
Hop
Euh, Tony
Oui
Bah, oui
C'est sur la discothèque encore
Ouais
Bah, de toute manière
Il y a 10 questions, hein
Donc, euh
Je pense qu'on n'ira pas
Jusqu'au bout, hein
Non, moi, ce que je voulais dire
C'est que j'allais à la loco
De temps en temps
Et ce que j'aimais bien
C'est aller au 3ème
Enfin, au 1er étage
Non, mais
Attends
Sortez-vous
En boîte pour draguer
Tony
Tu réponds à la question
Ah, d'accord
Ou sinon
Je fais comme Oignon, toi
Ah, d'accord
Ouais, bah, oui
Je sors en boîte pour draguer
D'ailleurs, il y a même des fois
Ça me surprend
Parce que ça marche
Et, euh
C'était pas souvent, mais bon
Il y en a qui attendent que ça, aussi
Bon, bon, bon, bon
C'est bon, c'est bon, Tony
Tony, là
Ce que voulait dire Tony
Excuse-moi, Tony
Ce que voulait dire Tony
En fait, c'est quand il allait
Au 1er étage
C'est plus facile pour draguer
Parce que c'est pas évident
De draguer sur de la techno
Ouais, mais attends
Ouais, tu montes au 1er étage
C'est archi-plein
Tu descends en bois
En bas au...
C'est pas le problème
Qu'il y ait du monde ou pas
C'est ça
Mais même, de toute manière
Tu peux plus draguer sur de la musique
Que genre de la funk
Ou de la soul
Que de la techno
Ouais, bon, bref
C'est pas...
On va demander un col roulé
Ouais, d'accord
Ouais, bah, moi, je voudrais dire
Qu'en fait, je vais pas trop en boîte
Pour draguer
Mais plutôt pour ploter, quoi
Ouais, bah, d'accord
Je vois le style que t'es, toi
T'as un gros porc
T'aimes bien mettre la main au cul
Des nanas
Ouais, bah, si
Bah, si, de toute manière
Excuse-moi de te le dire, col roulé
Pour moi, t'as un gros pervers
Comme...
Comme Petit Poil, bien te dire
T'aimes bien mettre la main au cul
Des nanas
T'as un vice, là
Parce que si la nana
Si la nana est bien foutue
Tu vas lui mettre la main au cul
Et après, tu vas lui monter au sein
Et si elle est...
Si la nana est bien foutue
Si la nana est bien foutue
Si la jupe, elle a un ras des genoux
Elle tira...
Elle va rentrer sa queue
Si elle est pas bien, tu le fais quand même
Ou t'es le roulé ?
Non, bah, non
Si elle est pas bien, non
J'ai un code d'honneur, quand même
Ouais, ouais, ouais
Pourquoi ce serait toujours les canons
Qui se feraient ploter, pas les boudins ?
Non, non, non
Non, non, mais attends
Comment ?
Non, non
On va pas jouer aux 7 familles
C'est pas le cas
Non, non, mais de toute manière
Je m'en fous
Moi, je vais te dire une chose
Pourquoi les boudins ?
Parce que là-dessus
Je te répondrai pas
Ah, pourquoi ?
Oui, à Internet
Oui, il y a Davy1
Qui te demande, Gérard
Si tu aimes sortir en boîte
Avec des sardines
Euh, non
Et avec des ponts ?
Non plus
Et avec des macros ?
Non, bravo
Voilà, ok
Alors, je pense que
On va perdre
Pas de questions
Non, non
Pour l'instant, c'est moi
Qui va poser la question
Parce qu'il reste 3 minutes
Non, mais attends
On n'a pas 5 minutes
T'es un vrai fonctionnaire, maintenant, toi
Non, non
Et à 3h, t'arrêtes
3h pile, t'arrêtes
Ah, ouais
Ok, d'accord
Bon, alors pose ta question, vas-y
Alors
La question
Tiens
Tiens, celle-là, elle est bien
Tiens, toi
Ouais
Comme toi
Un apprenti des djudis
Ouais, vas-y
Lors de vos soirées
Est-ce que vous aimez mixer ?
Ou alors ça
Ah, ouais
C'est pas mal l'occasion, aussi
Gigi, Kaka, on t'écoute
Ah, non, mais c'est pas moi
Qui fait le débat, c'est vous
Ouais, ouais, mais
Hé, Gigi, Kaka
Ouais
Toi qui sais mixer
Comme un cave
Ouais
Parce que là, t'as un bon mixeur
Ouais
Là, lui, il sait mieux mixer que toi
Ouais, il fait des bons jus de fruits
Il fait des bons jus de fruits, Rigo
Ouais, non, non, mais
Lui, il sait mieux mixer que toi
Ouais
Et le chef, encore plus
Donc, toi, t'es un
Ouais
Kaka boudin
Petit Gigi
Ouais, un petit
Qui a besoin d'apprendre
Oui, Rigo
Oui, encore sur IRC
Il y a Malkavian qui me demande
C'est quelle marque, le mixeur ?
Ah, ouais
C'est bien
Non, mais ça
Pas de marque, Manu
Voilà
Manu, t'as rien dit ?
Non, c'est bon
Manu, je vais te mettre une gaufre
Avec du chocolat, s'il te plaît
Oui, non, mais moi, c'est
Mettre au sucre, la gaufre
Donc, alors
Crouton
Ben, ouais, ben, franchement
Moi, je crois que c'est bien, quoi
Mais faut savoir mixer, déjà
Parce que moi, personnellement
C'est pas mon cas, hein
Mais j'aimerais
Non, mais
Non, mais
Attends
Crouton
Oui ?
Moi, je peux te dire une chose
Je sais plus dans quel reportage que j'ai vu
Il y a quand même des nanas qui mixent
Oui, mais bien sûr, Gérard
Non, mais c'est pas ça que je te dis
Non, mais je veux dire
J'aimerais bien regarder, hein
Apprendre, je sais pas
C'est vrai que j'aime bien la techno
Mais j'apprécie ceux qui
Ouais, mais
Mais tiens, justement
Comme on parle de techno
Et qu'on parle de mixer
Oui
C'est dommage que Max, il soit pas là
Mais je vais demander à Rigo
Parce que tout le monde
Tout le monde me pose la question
Oui
Par exemple
Quand tu prends le vinyle ou le disque
Oui
Est-ce que ça esquinte le disque ou pas ?
Attends, attendez
C'est pas à vous que je m'adresse
Tu esquintes le disque de le passer ?
Non, mais quand tu fais le
De scratcher ?
Ouais
Ouais, ça l'abîme un peu quand même
Mais ça dépend du matériel
Avec du bon matériel, ça abîme pas beaucoup
Ah, voilà
Donc, parce qu'il y a certaines personnes
Qui m'ont demandé si on abîmait le disque
Des vigiles ?
Des vigiles ?
Des vinyles
Toi, tout à l'heure, toi, là-bas
Toi, tu vas te prendre des claques
Mais grosses
Non, mais qui t'a demandé ça ?
C'est intéressant
Non, non, mais ça, c'est des gens
Qui m'ont demandé
Même moi, personnellement
Quand j'ai vu Max faire
Dans des soirées, même à la loco
Même quand j'ai vu Rigo
Dans les studios derrière
Je me posais la question
Est-ce que...
On peut dire que ça use un peu
Parce qu'à la base, le disque, il est lisse
Et à force de passer le...
Le manche dessus, ça te fait un sillon
Non, parce que tu passes la main dessus
Toi
C'était pour savoir
Est-ce que le disque, après
Si tu veux le réécouter
Si t'as la platine tourne-disque
Est-ce que le disque n'est pas esquenté derrière ?
Ça dépend, parce que si t'as les ongles trop longs
Ça peut le rayer, quoi
Tu prends des disques spéciaux ?
Tu prends des disques spéciaux
Ou n'importe quel disque ?
On va demander à Rigo
Il y a des styles de...
De disques...
C'est ton débat avec les auditeurs
Mais attends, moi...
On peut dire qu'il y a des disques en laine
Il y en a aussi en marbre
Le mieux, c'est les disques en marbre
Non, les mises en marbre
C'est plus résistant
Je te montrerai, j'ai des disques en marbre
Tu me feras voir
Je demanderai au chef
Après
Petit poil
Petit poil, ben écoute
Elle a déjà mixé
Chez un copain
J'aime bien ça, par contre
J'ai pas le matos à la maison
Petit poil
Petit poil
Tony, s'il te plaît
On se calme
Merci
Petit poil, moi je pense que
A mon avis
Je sais pas si Filda pourra me répondre
Mais je pense que
Faut compter à peu près combien
Pour avoir une table de mixage
Et tout le bon matériel
En temps ou pas ?
Non, non
400 euros à tout casser
Bon, Tony, s'il te plaît
Non, mais c'est vrai
C'est 400 euros
Parce qu'en fait
Une bonne table de mixage
T'en as pour
Allez, disons 252
Entre 250 et 400 francs
Tu rigoles, toi ?
Non, sérieux
Non, mais attends
Attends
Tu vas aller
Combien coûte la table de mixage
Qu'on a derrière ?
Elle coûte 342 francs
Je crois, un truc comme ça
Ouais
Je pense que
C'est dommage que
Max ne soit pas là pour me répondre
Je pense qu'il faut compter
Entre 1 million et 2 millions
De francs en barre
Non, il y a beaucoup de magasins
2 millions, c'est cher
C'est moins cher maintenant
Et en Russie, c'est encore moins cher
Bon, Tony, s'il te plaît
C'est terminé pour toi
Au revoir
C'est vrai ce qu'il dit
Non, mais attends
Non, mais c'est la crise
Non, mais c'est vrai
Non, mais attends
Mais qu'est-ce qu'il se passe ?
Attendez, on a Olivier de la Pro
Un professionnel
Non, il faut compter au moins
50 millions maintenant
Moi, celle que j'ai là-bas
Dans le studio, c'est 50
Non, mais attends
Toi, c'est...
Ah, mais c'est big
Non, mais c'est de la pro
Ouais, mais toi, c'est pas pareil
C'est avec tous tes petits boutons
De caca-boudin
C'est tous tes boutons de caca
Bon, disons que c'est entre
1 million et 2 millions
De toute manière, je demanderai
Je demanderai à Max plus tard
C'est con qu'il ne soit pas là
Bon, Tony
Tony, pour lui, c'est terminé
Parce que là...
On va souhaiter une bonne soirée à Tony
Bon, bah, OK, alors
Ah, non, mais attendez
Il ne faut pas déconner, les mecs, là
Non, non, mais attends, Tony
S'il te plaît
Tony !
Ce qui est chiant, j'ai marre
Attends, Tony
Je vais te défendre
Non, non, mais Tony
Tony, s'il te plaît
Oui ?
Je pense que...
J'avais été clair la semaine dernière
Non, mais attends, qu'est-ce que j'ai fait ?
J'ai rien fait, là
Non, non, mais...
Alors, dans ce cas, si tu continues
Tu restes calme, OK ?
Attends, mais on ne peut pas parler des Russes
Je ne peux pas dire chaud
Non, non, non, non
C'est vrai que c'est vachement moins cher
En Russie, le matériel
Parce qu'il y a la crise
Non, mais qu'est-ce qu'on en a à foutre ?
Eh bien, c'est important
Imagine, il y a des DJs français
Mais attends, mais je ne veux pas faire un débat
Sur la politique, là-dessus
Il n'y a pas de polémique
Non, politique
Ah, pardon
Je veux dire que les DJs français
Qui n'ont pas beaucoup d'argent
Ils peuvent très bien aller acheter du matériel en Russie
Alors, dans ce cas-là
Dans ce cas-là
C'est dommage que Jean-Marie Cass
Ne soit plus là
Sonic non plus
Fais un appel
Fais un appel
Si tout DJ techno ou autre
Pourrait venir te renseigner
Tu peux le demander
Écoute, moi, je peux te renseigner
Gérard, puisque je mixe un petit peu
Ouais, non, non, non, mais attends
Pour l'instant
Non, non, allez, allez
On ne s'éternise pas là-dessus
Hop, la question avait vite passé
Juste un truc avant
J'attends toujours le cours de Max
Qui m'avait promis, mais bon
De quoi ?
Non, attendez, le message est passé
Ok, le message est passé
Ouais, allez, c'est bon, on enchaîne
Bon, ben, toi, tu verras ça
Avec Manu Oronten
Alors, dernière...
Oui ?
Il n'y a qu'à le rouler
Il n'y a pas répondu encore
T'arrêtes pas de m'oublier
Non, mais là, on ne va pas s'éterniser
Sur la question
Parce que là, je pense que...
Sinon...
De toute façon, je pense qu'on a le temps
Pour le débat des routiers
Parce que tu n'as pas fait les questions
Ouais, non, mais ça...
Donc, tu peux y aller
Tu peux embrayer une question, au moins
Non, mais de toute manière, ils vont...
Bon, alors, colle rouler, vas-y
Donc, en fait, moi, je dois dire que
Ouais, j'aime bien mixer
Quand je fais des soirées
En fait, je dois dire que
Le mieux, en fait, pour mixer, quoi
C'est que tu aies une grose sur la console
C'est vraiment comme ça
Tu la saisis vraiment
Oh, mais attends, mais attends
Colle rouler
Dans ces cas, tu prends...
Tu prends...
Le truc de la loco
Quand les nanas sont là
En train de danser
En train de s'éclater
Mais attends, mais je vois ça
Je vais regarder le reportage
Qui a lieu vendredi
Sur...
Une chaîne
Sur une chaîne
Et ça, c'est un truc spécial
Techno
Ouais
Techno...
Technomania ?
Technomax
Non, non, c'est pas Technomax
C'est pas ça
Technoparade
C'est pas...
C'est sur la tête à pain
A minuit ou une heure du matin
Tu l'as dit, hein
Demain ?
Tu l'as dit ?
Non, non, vendredi, oui
Oui, demain soir
Juste après, sans aucun doute
Voilà
En fait, ce soir
Gérard ?
Oui ?
Sur IRC, il y a Snul
Qui te demande
Si tu aurais aimé être DJ
Euh, non
Pourquoi ?
Personnellement, non
Pourquoi ?
Non
Pourquoi ?
Non, ça m'intéresse pas
Oui, mais pourquoi ?
DJ
Non
Non
Non
Non
Non
Trop de monde, non
DJ
C'est bien
Non, non
Donc
Gérard, avec tout ça
J'ai pas parlé
J'ai pas parlé de ma vie de DJ
Est-ce que je peux te raconter une anecdote ?
Bon, on se dépêche, Tony
Parce que
Parce que là, je pense que
Donc moi
Bon, je mixe un petit peu
Dans des soirées
Moi, ce que j'aime bien
C'est faire bouger la foule
Mais moi, j'aime pas trop
Qu'on me fasse chier
Quand je suis dans mes aigus
Ça, je voulais le signaler
Bon, ben
Et j'achète mes disques
À Techno
À Port
Voilà
Ouais, ben
Merci, Tony
Pour ta publicité
Dans ce cas-là
Tu veux aller voir Manu ?
Attends, attends
Gérard
Techno à Port
C'est le magasin
Où Max va acheter
Ben oui
Alors donc
On peut en parler
On peut le dire
On peut le dire
Ouais, non, mais
Tony
On n'a plus de vinyle
On n'a plus de vinyle gratos
Ouais, non, mais
Tony, tu veux
C'est bien, Tony, c'est bien
On retourne voir Manu
Au standard, après
OK ?
Y a pas de problème
On y passe tous
Ouais, non, mais
Non, non, mais
Je pense que pour toi
Ça va être terminé, là
Tu retourneras un jour, Gérard
Au standard
Hein ?
Qu'est-ce que tu dis, toi ?
Hein ?
Non, au standard ?
Ben, pour aider Manu, ouais
Non
C'est pas moi
Qui va
Qui va choper
Qui va répondre
Aux gens qui sont derrière
OK ?
Alors
Comment s'habiller
Pour aller en boîte ?
Donc, c'est la
Dernière question
La
La, la, la, la
Sixième
Oh, là, là
Merci pour l'arsène
Et donc
On va s'écouter
Joe
Couscous
Avec ma tante
Danse le
Oh, là, c'est de pire en pire
Les titres
Non, non, mais attends
C'est toi qui écris ?
Ben oui
Joe Couscous
Avec ma tante
Danse le reggae
Alors, danse le reggae
Donc, vous pouvez
Toujours nous appeler
Au 0803 085 000
0875 000
À venir
Le débat
Qui portera sur les routiers
Donc, vous pouvez déjà
Nous appeler
Appelez Manu
Voilà
Et il vous sélectionnera
Avec plaisir
Voilà
À tout de suite, Gérard
À tout de suite
Pour
Ben, Philippe
T'annonces le disque
Parce qu'à mon avis
C'était pas ça
Ben, c'est quoi, alors ?
Joe Couscous
Avec ma tante
Danse le reggae
Ah, bon, ben
C'est bizarre
Nouveauté
Ouais, une nouveauté
C'est pas mal, là
OK
Donc, on rappelle Crouton
Oui
Je suis toujours là, Gérard
Pensez pas
Petit poil
Bonsoir
Bonsoir
Tuteur
Je suis encore là, ouais
Tu tiens debout ?
Ouais, ouais
Ouais
Elle est facile, hein
Franchement
Ah, je sais, merci
Pardon
Oh
Bon, Gérard
Gérard, tu dégages au standard
Faut que je te calme
Faut que je te parle
Tu dégages au standard
Euh, Tony
Ouais
Toujours là pour
La pointe du débat
Ouais, le disque, c'était
Zoubir avec
Ouais, Zoubir à l'aide
Euh
Col roulé
Ouais, je veux dire
Ouais, je suis l'HG
Donc, à la place d'Ognon
On a qui ?
À la place d'Ognon
Pour l'instant, on n'a personne
Parce que la personne
Que je devais rappeler
Eh ben
J'y n'y arrive pas
Ouais, on est tous
OK
Donc, dernière question
Donc, comment
Êtes-vous habillé
Pour sortir en boîte ?
Col roulé
Col roulé
Oui
Ouais, ben alors moi
Je dois dire que
En fait, pour aller en boîte
Je vais habiller
Très classe, quoi
Ouais, mais attendez
Attendez, attendez
Avant de répondre à la question
J'aurais bien voulu
Que Rigaud me donne
Un petit point internet
Pour savoir
Le nombre de connectés
Alors
Petit point internet
Actuellement sur le site
Il y a
182 connectés
Tu vois, t'as la liste ici
La classe
C'est quand même la classe
Et
Il y a
Sean
Qui te demande
Si
Il peut passer un bonjour
À Nicolas
Ah, c'est pas le temps
Ben non, non, mais
Si, si
Si, si
On peut lui faire
Un petit coucou
À la personne
Bah, c'est fait
Donc, voilà
Ben
Donc
Ben, coucou
Non, non, mais
Donc, on remercie
Tous les gens
Qui sont sur internet
Ça me fait plaisir
Quand même
De voir
Un jeudi
182 connectés
Sur internet
Ça, c'est
C'est bon, c'est bon
Ça, c'est pas mal
J'applaudis
182
Eh ben
Continuez comme ça
Donc, c'est bizarre
Parce que
Là, j'ai fermé
Le Minitel
Mais si je peux
L'avoir devant mes yeux
Non, ça te ferait trop mal
Non
Il y a
Il y a zéro
47 connectés
Bon, attends
47 connectés
Fais voir, fais voir
Attends, tourne-moi le
Non, mais c'est pas grave
Je te le dis
Non, non, mais attends
Fais voir
Ouais, zéro connecté
Bien sûr
Putain, ça a chuté vite
Ah, non, mais
Il y a deux minutes
Il y en avait 47
Mais le temps
Le temps que tu retournes
Non, non, mais
De toute manière
Vous pouvez toujours
Nous appeler
Donc, 0803
085000
Et 0875000
Toujours
Le site internet
www.fr
Voilà, exactement
Après, je sais même plus
Et le Minitel
3615 Fun Radio
Voilà, toujours
3615 Fun Radio
J'essaierai de
De vous répondre
En direct
Mais si c'est pas
Des conneries
Donc
On va
Attaquer la dernière question
Oui, ça fait déjà
Trois fois que tu l'as posé
Comment je préférais-vous
Être habillé en boîte ?
Non, non, mais même
Je pense qu'on va en faire deux
Quand même
Parce qu'on est jolis
Et donc
Comme les gens sont
Un peu
Sympathes
Ils sont au week-end
Ça va être le week-end
Donc on va
Allez
Allez
On va faire 10 questions
Ah, non, non
Il reste
Il reste
Il restera encore
Deux questions après
La huitième
T'emballes pas
T'emballes pas non plus
On va en faire une
Et puis on va voir
Allez
Comment êtes-vous habillés
Pour sortir
En boîte de nuit ?
On va demander à Crouton
Alors moi
Je suis habillée sexy
Mais pas excentrique
C'est-à-dire ?
C'est-à-dire
J'évite tout ce qui est fluo
Tout ce qui est excentrique
Mais je suis sexy
Non, mais là
Sexy
C'est-à-dire
Un petit pantalon
Trompette
Tony, s'il te plaît
Non, c'était col roulé
Ouais, ben col roulé
Col roulé
Tu vas te calmer
Ouais, je me calme
Sinon moi
Je vais te calmer
Tu vas
Tu vas zapper direct
Je vais faire
Comme oignon
Parce que là
Maintenant
Faudra peut-être
Qu'on fasse
Des débats
Corrects
Non, mais ça se passe bien
Là, Gégé
Non, non, mais col roulé
Pour l'instant
Moi
Je peux
Je peux répondre à Crouton
Donc moi
Je peux vous dire une chose
Que les trois quarts des nanas
Sont habillés
Rats des genoux
Et
C'est
C'est tout juste
Si on ne leur voit pas
Leurs culottes
Ouais, c'est vrai
Non, mais pas tout
Elles ont le tuba quand même
Ouais, ou des grosses culottes
Non, non, non
Mais il faut dire
Il faut dire que
Quand même
Les nanas
Quand vous allez en boîte de nuit
Vous n'hésitez pas
Oui, Rigaud
À mettre quand
Qu'ils continuent ta phrase au moins
Les filles
Vous n'hésitez pas
Vous
Vous n'hésitez pas
À nous allumer
Ouais, mais n'empêche
Que vous aimez ça
Ouais, non, mais attends
Attends
On aime ça
Je fais moi confiance
Que
Tu vois
Comme Tony le sait
Et tout le monde le sait
Maintenant
Je suis avec Sandy
Et Sandy
Jamais
Jamais
Elle est sortie
Avec des trucs
Rats des genoux
Parce que moi
Moi je vais te dire une chose
Bon
Non, non, mais attendez
Moi je peux vous dire une chose
Que dans
Dans les métros
Quand je vois des trucs comme ça
Ça me dégoûte
Non, non
Non, ça me dégoûte
Quand tu vois des nanas comme ça
Ah oui
Qui sont
Qui sont habillées comme ça
Ah d'accord
Attends, parce que là
Non, non, ouais, ouais
Ouais, mais attends
Elles peuvent être bien foutues
Si on veut
Mais il y a des limites
Non, non, mais ouais
Non, mais il y a des limites
Non
Non, mais est-ce que
Les limites c'est des genoux
Voilà
Il y a des limites
Pour pas
Provoquer
Parce qu'après
Après dans ce cas-là
On va dire
Ouais, mais on se fait violer
Alors les nanas
Arrêtez
Hein, parce que
Attends, tu vas un peu loin Gérard
Ouais, ouais
Ouais, mais c'est pas
C'est pas parce que tu mets
Une mini-jupe en boîte
Que tu te fais violer automatiquement
Faut pas exagérer non plus
Ouais, mais attends
Combien que t'as le droit d'être
Combien que ton boîte viole
A l'heure actuelle
Non, mais ça on s'en fout
C'est pas le terme du débat
Bon, bah alors
Erreur
T'es pas obligé d'être en jupe
Parce qu'on va en boîte
Il y a des femmes
Qui sont en jupe
Parce qu'elles y sont
Obligées par leur boulot
Ouais, non, mais attends
Mais dans ce cas-là
Ouais, mais non, mais attends
Et qui c'est
Qui vient de poser cette question ?
Bah, c'est Crouton
Ouais, mais Crouton
Moi, dans ce cas-là
Moi, je vais te dire une chose
Dans ce cas-là
C'est de l'harcèlement sexuel
Et c'est tout
Bah, moi, je suis pas t'aider
Moi, je suis d'accord
Avec Gérard
T'as abusé là
Si, les trois quarts des patrons
Si t'es pas en mini-jupe
De toute manière
T'es pas pris
Et si t'as des culottes aussi
Faut pas en mettre
Alors, là-dessus
Moi, je suis secrétaire
Dans une entreprise
Et, excuse-moi
Mais je trouve pas ça très sympa
Quand tu dis que le patron
Nous accepte pas
Lorsqu'on n'a pas de mini-jupe
Je suis en jupe
Tout simplement
Et j'ai jamais été harcelée, quoi
Ouais, bah, moi, j'ai été harcelée, moi
Oui, qui ?
Petit poil
Oui
Parce qu'il m'oblige
À me mettre en mini-jupe
Et sans culotte
Ah, voilà
C'est dégueulasse
Ah, voilà
Ça, c'est en plus
C'est dans le débat
Ah, bah, attendez
C'est grave
C'est grave dans le débat
C'est grave
La nuit, la discothèque, tout ça
Bah, Gérard, ce que tu devrais faire
Tu veux...
T'as peut-être donné une bonne idée, là
Je sais plus si c'est Petit Poil
C'est Petit Poil, ouais
Petit Poil, tu pourrais peut-être faire
Dans les semaines à venir
Un débat sur le harcèlement
Ouais
Mais, pour l'instant
On est quand même dans la discothèque
Et le milieu de la nuit
Ouais
Il serait sage d'y revenir au plus vite
On va y revenir
Tu sais qu'on n'est pas restés longtemps
Dans la discothèque
Non, non
On a été partout
On a été partout
Justement, pour reparler de la discothèque
Il y a Snul sur IRC
Qui te demande, Gérard
Comment faut-il s'habiller
Pour aller en discothèque
Et pas se faire refouler
Par le gros gorille à l'entrée
Ouais
Alors, ça, c'est une très bonne question
Justement
C'est bien, Hugo
Tu travailles bien, toi
Merci, les gars
Non, non, mais de toute manière
Pour l'instant
Je ne vais pas trop me plaindre de Manu
À part qu'il n'a pas toujours
Fait ce que je lui ai demandé
Donc, la question
Pour toi, pour l'instant
Non, ça va
Tu te la couvres
La question, Gérard
Tu réponds
Donc, je réponds à la question
Donc, c'est qui, Hugo ?
C'est Snul
Alors, Snul
Moi, je peux te dire une chose
C'est que
J'ai quelqu'un
Une fois
Qui a voulu aller à la loco
Qui s'est pointé en jean
Et qui a été refoulé
Pourquoi ?
Il était habillé
Tout en jean
Comme moi
Souvent, je suis en jean
Et autres
Bon, ça va
Parce que moi
Je rentre avec vous
Et je suis habillé
Mais le mec
Il a été refoulé
Et il s'appelle
Titi
Et Titi
Je l'ai vu, ce mec-là
Il était venu en chausson
Et avec un boa aussi
Il s'était abusé
Ouais, ouais, t'as raison
C'est celui qui nous a emmené
En Allemagne
Avec Sandy, d'accord ?
Alors, tu le connais pas
Ok ?
Alors, tiens, Tony
Comme t'as une grande gueule
Comment que tu t'habilles, toi ?
Je vais l'ouvrir, je vais l'ouvrir, ouais
Ouais, bah, tu vas l'ouvrir, ta gueule
Ouais, ouais
Bah, parce que moi
Je vais, bon, classique
En jean
En basket
Et puis en chemise
Ouais, tu rentres pas en basket
Ouais, non, mais attendez
Moi, je rentre
Moi, je suis Tony
Tony, Tony
Dans ces cas-là
Pourquoi pas
Moi, il y a une question
Que je suis en train de me poser
Pourquoi pas y aller
En costume cravate ?
Bah, bah, oui
Tu te fais refouler, Gérard
En costume cravate
Bah, ouais, mais attendez
Mais costume cravate
Tu vois que ça
Toute la journée
Dans le métro
Que ça soit dans les bus
N'importe où
Tu vas dans un café
Pour prendre un sandwich
Moi, j'ai vu ça cet après-midi
Tu vois des mecs
En costume cravate
Ouais, mais c'est des cadres
Mais voilà
C'est des cadres
C'est des cadres
Mais attendez
Mais attendez
Mais dans ces cas-là
Pourquoi qu'on accepte
Des mecs en costume cravate
Dans des boîtes de nuit
Et pourquoi qu'on refoule
Des gens en jean ?
Moi, je ne suis pas d'accord
Je ne suis pas d'accord
Gérard, sur IRC
On me dit qu'on accepte
Les costards cravate
Parce qu'on n'accepte pas
Les costards crado
Bah, ouais, mais même
On accepte
Ça ne sert à rien
Ça ne sert à rien
Olivier
Olivier
Non, non
Non, non
Toi, tu as travaillé ailleurs
Je cherche les auditeurs
Non, non
Pour une fois qu'Olivier bosse
Je suis seul à bosser
Et qu'ils m'en sont déjà recadrés
Mais j'ai rien fait, Gérard
Non, non, mais attends
Depuis tout à l'heure
Ça se passe plutôt bien
Allô, allô, allô
Ah, d'accord
Et je viens de regarder
C'est toi
Alors, donc
Je ne dis plus allô
Non, non, mais dégage
Non, je te promets
Je ne dis plus allô
Ça s'est bien passé
Jusqu'à maintenant
Dégage
Et voilà
Hop, au revoir
J'ai rien fait
Dégage
Tu prends ton café
Tu vas sur le site internet
Tu vas dialoguer avec Rigaud
Toujours pareil
Et c'est tout
Voilà
Tu l'as vexé, Gérard
Non, mais même
Attends
Toi
Ça s'est bien passé jusqu'à maintenant
Je ne vois pas pourquoi qu'il arrive
Et j'entends des allôs et allôs
Oui, moi c'est clair
On ne m'entend pas dire allô
Donc
Je me demande comment tu fais
Pour être aussi concentré
Dans ton débat
Je ne sais pas
Tuteur
C'est extraordinaire
Tuteur
Oui, oui, je suis là
Donc toi ?
Personnellement, moi je m'habille en pantalon
Parce que j'ai
Enfin, je n'aime pas les jupes quoi
Mais bon, ça c'est
Mais c'est aussi plus agréable
D'être en pantalon pour danser
Parce que c'est plus pratique quoi
Si tu es en jupe
Bon, enfin
Puis comme disait Petit Poil
Oui
Je ne sais pas
Enfin, les jupes
C'est vrai que
C'est quand même
Ça allume pas mal quoi
Oh
Ouais
Réveille-toi Petit Poil
Non, mais allez
On va transer
Allez, qui c'est qui n'a pas répondu ?
Petit Poil
Tony ?
Non, Petit Poil, tu viens de répondre
Mais non, c'était pas moi
C'était Tuteur
Ah, c'était Tuteur, pardon, excuse-moi
Petit Poil, vas-y
Ouais, alors moi j'aime bien
Aller en boîte en taggeur
Et en robe longue
Pour
Donc pour pas allumer justement
T'as pas chaud avec tout ça ?
Non, je me déshabille vite fait
Bon, mais de toute manière
Pour voir
Il y a des vestiaires
Non, mais de toute manière
Il y a un vestiaire pour mettre les pringues
Mais faites-moi confiance
Quand vous voyez après
Vous êtes quand même des allumeuses
Alors venez pas nous dire le contraire
Mais il faut pas généraliser Gérard
Ouais, mais de toute manière
Je prends pas mon cas pour une généralité
D'accord ?
Ok, chef
Ok ?
Ok
Bon, alors maintenant
On fait la conclusion
Donc, Crouton
Bah, moi la conclusion
C'est que ça a pas apporté grand-chose
Sur ce débat
Du coup
Je veux dire, il y a eu des choses
Peut-être intéressantes pour certains
Enfin, pour moi, je trouve pas
Mais peut-être que pour certains
Il y a eu des choses intéressantes
Non, mais
Est-ce que
Est-ce que
Pour toi
Est-ce que
Le débat s'est bien passé ?
Ah oui, ça c'est sûr
Il s'est très bien passé
Mais il y a peu
Grand-chose d'intéressant
Parce que je trouve
Que tu t'es énervé un peu trop vite
Non, non, non, non, non
Non, non, non, non
Hé, Crouton
Crouton
Je me suis pas énervé
Je pense que
Je vous ai répondu
A chaque question
Que vous m'avez posée
Gérard
T'as trop généralisé
Sur tout le monde
T'as pris un exemple
Et ça y est
T'as généralisé
Bah oui, mais de toute manière
Là-dessus
Je suis obligé de
De voir
Pour essayer
De
De mettre un peu
D'ambiance
Ok ?
Ah, t'as eu raison
T'as un peu d'ambiance
On a un million
Ouais, bah
Pour un
À part oignon
Que j'ai viré
Signon
J'ai viré personne
Ah, maintenant
Max est là
Donc Max
Il va peut-être
Nous renseigner
Sur le prix
De
C'est deux millions
Deux millions
J'ai écouté, j'ai écouté
Donc pour toi
Dans les soirées
Est-ce que vous aimez mixer ?
Donc on m'a dit que
Bon
Non, toi
Dégage
Merci Olivier
Non, je t'écoute
C'est quoi la question ?
Non, parce que
J'ai demandé
Combien ?
J'ai écouté, j'ai écouté
Donc
On m'a
J'ai entendu des chiffres
J'ai entendu des chiffres
Donc Jean
Pour le prix
Combien coûte aujourd'hui
Du matériel pour mixer ?
Oui
Correctement
Donc j'ai entendu
Un, deux millions
Non, moi j'ai dit
C'est
Non, c'est toi
Non, Olivier a dit
Cinquante millions
J'ai écouté, c'est pour dire
Lui il m'a dit
Il a dit qu'il était comme toi
Peut-être entre un et deux millions
Non, non
Il m'a dit
Deux cent cinquante balles
Non, ça c'est la table de mixage
Oui
Et puis
L'ego a confirmé
J'ai écouté
Deux cent cinquante quatre francs
J'étais là
Oui
Et toi, pour toi
Personnellement, toi
Qui es
Qui es un grand amateur
De mixage
Toi qui aimes bien mixer
Donc
Pour toi
Le prix
On va
Alors moi
Je pense qu'il faut
Aujourd'hui
Plus d'un ou deux millions
C'est ça
C'est-à-dire que
Si tu veux du bon matériel
Pour mixer un peu
Comme à la loco
Je pense qu'il faut mettre
Dans les
Sept, huit millions
Ah
Nouveau
Donc
Ça fait
Soixante-dix mille
Soixante-dix mille francs
Soixante-dix mille
À quatre-vingt mille
Quatre-vingt mille francs
À peu près
Pour une table de mixage
J'entends
Si tu veux avec les platines
Moi j'ai ça chez moi
Il y en a pour cent-vingt mille balles
Ah bah d'accord
Attention
Non mais ce qui est bien
Après c'est qu'une fois
Que t'as le matos
Je parle pas des amplis
Des enceintes
S'il y a plus des amplis
Des enceintes
Faut rajouter
Quarante mille balles
Après ce qui est bien
C'est que les disques
Bon c'est du vinyle
Comme ça on importe
Souvent c'est des imports
Ouais comme Tony nous a dit
Bon je vais acheter ça
Tu l'as dit tout à l'heure
Sans faire de marques
Non non
C'est Tony qui l'a dit
C'est pas moi
C'est à peu près
Dans les quatre-cent francs
Un disque
Bon c'est pas très très cher
Après
Après c'est pas très très cher
Non
Quatre-cent francs le disque
C'est la passion
Moi j'en achète à peu près
Quarante
Je m'en sors pour
Quatre-mille à dix mille
Enfin entre
Quatre et
Quinze mille
Vingt mille francs
Une question
Une question
Qui brûle les lèvres
Que je voulais te poser
Elle te brûle les lèvres
Je crois non
Je l'ai posé à Régo
Et Régo m'a dit
Que ça
Il me dit oui
Est-ce que
Quand tu mixes
Par exemple avec le disque
Comme tu fais toi
À la loco
Ouais
Est-ce que ça l'abîme
Ou pas
Régo me dit oui
Régo m'a dit oui
Oui parce que le problème
C'est que lui c'est un DJ de hip-hop
Ils savent pas manier les disques
Il l'a dit trop vite
Oui
Dans la techno
Toi tu sais pas mixer
Alors
Toi va prendre un mixer
Non mais
En techno
En techno
On scratch pas
Comme ils scratch
Nous on utilise pas ça le scratch
On utilise un peu le velcro
Mais est-ce que ça
Est-ce que ça abîme
Non parce que ça agrippe
Non ça l'abîme pas
Ça abîme pas le disque
Que tu veux mettre
Parce que
Si tu veux pas abîmer le disque
Que tu veux mettre
Par exemple au lieu de jouer la phase A
Tu vas faire exprès de
Scratcher sur la phase B
Comme ça le disque
Que tu veux écouter
C'est sur la phase A
Tu l'abîmes pas le disque
C'est simple
Et tu veux pas abîmer
Non mais c'est une technique
C'est une technique
C'est très technique
Je reconnais
Je m'excuse
Je fais un peu une parenthèse
Si vous voulez pas mimer
Les morceaux que vous aimez bien
Sur le vinyle
Par exemple si sur la phase A
C'est le morceau que tu adores
Et que tu veux le mixer
Pour pas l'abîmer
Tu joues la phase B
Ouais mais dans ces cas là
Dans ces cas là
Tu passes à
Et tu retournes le disque
Mais comment tu peux
Retourner le disque
Quand t'es en boîte
Tu joues pas
Tu joues pas le disque
Tu l'écoutes pas c'est tout
C'est à dire que tu vas passer
Un disque en disant
Voilà sur la phase A
Je voulais passer le tube
De Das Fuck
Das Fuck
Das Fuck
Et bah tu te dis
Ok je vais pas mimer mon disque
En mettant les doigts dessus
Donc je joue l'autre phase
Donc c'est un morceau
Qui est pas connu
Mais les gens savent
Que sur ce morceau pas connu
Sur l'autre phase
Y'a le tube
Donc ça mime pas
Non ça mime pas la phase A
Ouais non mais
Même que ça soit
La phase A ou B
On s'en bat les
Non ça le bousille le disque
Ça le raye
D'accord
En gros t'achètes le disque
Tu le mets trois fois
En soirée
Il est mort
Faut en racheter un
Il a dit celui-ci ça coûte pas cher
Avec Rigaud
Il peut te dire
En hip hop
C'est à peu près pareil
A 5 francs près
C'est dans les 400 francs
Normal
En import
Ça va coûter 600 balles le disque
Mais ça vaut le coup
Et en marbre
Encore plus cher
Ouais mais je pense
Que maintenant
On n'arrive plus à trouver
Maintenant c'est
C'est-à-dire que
Si tu cherches le live
Du Palais d'Espoir
De Johnny en 77
En vinyle
C'est un peu dur
Non mais en techno
C'est à peu près
600 francs le disque
C'est pas très très cher
D'accord
Pour faire une bonne soirée
Pour faire un bon mix
De 3 heures
Il te faut à peu près
50 disques
Donc tu calcules
50 disques à peu près
On va dire 110
Pour faire une nuit complète
200 000
A 600 francs le disque
200 000
Ça fait à peu près
60 000 francs
Pour 60 000 francs
Tu peux faire une bonne soirée
Et donc
Grosso modo
Donc pour finir
Pour répondre
A la question
Que j'ai posée
De toute manière
J'aurais pu la poser
A la question
A tous les auditeurs
Oui vas-y pose la question
Donc même si c'est encore là
Oui mais vas-y pose la question
C'est quoi
Donc
C'est que
Pour toi
Donc tu serais prêt
A mettre combien
Dans toute une table
Donc toi pour toi
120 000
Ma bite entière
Ouais c'est ça
Ma bite entière
Ok
Je te remercie Max
Donc Crouton
Oui bah je viens de te faire
Ma conclusion
Donc petit poil
Ouais bah alors moi je dirais
Que certaines choses
T'as raison
Mais en fait
Certaines choses
Tu crois toujours avoir raison
Et en fait
Quand on n'est pas d'accord
Tu essaies toujours
D'avoir le dernier mot
Ce qui est dommage
Mais bon sinon
Ça s'est bien passé
C'était calme
On kifferait
Enfin ça serait bien
Que ça bouge un petit peu
Ah bah que ça bouge
C'est où elle est que ça bouge
Dans ces cas là
Le deuxième
Je vais bouger plus
Ok
Je vais m'énerver
Et ça va être encore plus dur
Mais non
Parce que là
Je vais m'attaquer
Je vais m'attaquer
Non mais attends
Petit poil
Là je vais m'attaquer
Sur un truc que j'ai vécu
C'est les transports routiers
C'est du lourd
Ouais mais on a déjà fait ça
Les routiers
Et alors
Si ça te plaît pas
Tu fais une chose
T'écoutes ta radio
Tu zappes sur une autre radio
Ok
Non je vais pas carrément
En deux bonnes entendeurs
Salut
Ouais bon bref
Non mais ce que je veux dire
Non mais t'es pas obligé
De t'énerver
Pour avoir de l'ambiance
Non mais attends
Dans ces cas là
Tu me dis
Ouais je me suis pas énervé
Mais attends
Moi c'est
C'est mon chef
Qui m'a dit
Ne pas m'énerver ce soir
Non mais tu peux t'énerver
Si ça reste cohérent
Si tu t'énerves sur quelqu'un
Qui dit des conneries
D'accord
Si tu t'énerves
Parce qu'un mec
A un moment donné
Parle au dessus d'un autre
C'est pas normal
Par contre sur les routiers
Ça risque de gueuler
Mais c'est normal
C'est ton métier
C'est un amour de métier
Ah ouais
Et ça
C'est de toi que tu parles
Putain merde
Alors tuteur
Tuteur
Moi c'est la première fois
Que je participe à ton débat
Et je trouve que c'était
Plutôt cool quoi
Mais c'est vrai qu'il faudrait
Qu'on s'écoute un peu plus
Les uns les autres
Parce que c'est un peu
Le bazar des fois
Ouais non mais attends
Écoutez-nous les uns les autres
Et mon nous aussi
Ouais il y a
Et mon nous
Et mon nous putain
Ok
Tony
Oui et mon nous
Et mon nous
Mais moi je vous les ai
Pas plus que Maxella
Il faudrait que tu lui demandes
Parce que tu ne me croyais pas
Le prix d'une platine russe
Alors le prix d'une platine russe
J'ai entendu parler d'en euros
400
Ouais c'était à peu près ça
Alors là en russe
Foul là là
Ça fait 24 francs français je crois
Je ne sais pas
Mais là-bas maintenant
Ça s'échange avec des bouteilles de vodka
Donc il ne faudrait pas aller en vodka
Je sais qu'une platine
Avec du bon matériel en URSS
Moi j'ai vu ça
Ça vaut
C'est Pierre Imporne
Ah
Pierre Imporne
Moi je l'ai vu chez Pierre Imporne
Je ne sais pas
Je crois que c'est
Pour
Deux putes ukrainiennes
Je pense que tu peux avoir du bon matos
Ouais c'est sûr
C'est sûr
C'est une demi-lada quoi
Ouais à peu près ouais
Bon
Col roulé pour terminer
Ouais voilà
Bon bah pour ma conclusion
Moi je voudrais dire que
Au début du débat
Je me doutais que les filles
Étaient des allumeuses en boîte de nuit
Mais là j'en ai eu confirmation
Voilà
De toute manière
J'ai beaucoup apprécié
Ce qu'elle a digéré
Effectivement pour les filles
Qui se permettent de mettre
Des choses râle à foufoune
Jusqu'à la hauteur des genoux
Moi je trouve ça
Également
Je trouve que c'est
En fin de compte
C'est provoquer
L'acte sexuel
Voilà
Donc moi conclusion
De ce débat
Bon bah
Je pense que
J'ai pas trop de choses
A rajouter
Parce que j'ai répondu
A peu près à vous
A toutes vos questions
Même sur internet
Peut-être que
J'ai pas pu
Tout
Tout le monde
A pas pu
Comprendre
Ce que je disais
En plus là ça augmente
Il y a 250 personnes
Oh la la
Ah bah ça va
Mais c'est en militage
Zéro
Le débat
Le débat
Qu'est-ce que tu donnes
Donc
Bon bah
Le deuxième débat
Portera sur les routiers
Donc
On va s'écouter
Patrick
Petit suisse
Avec
Ma cravate marche
Au diesel
Et vous pouvez
Toujours nous appeler
Bah mais attends
C'est l'autre
Cab
Donc
Les numéros
A rappeler
Manu
Ils ont changé
Ou quoi non
Non ça a l'air
De marcher toujours
0803
085000
Et 0870
0803
Si ça marche
Et toujours
3615
Porn Radio
Rubrique avec
Toujours l'internet
www.fr
Porn Radio
Et je vous retrouve
D'ici 10 minutes
== Le débat sur les routiers ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
C'est Patrick Petitsfils avec Macarvan, Marchaud, Diazel et donc c'est toujours les débats du rare 2h10
Donc vous pouvez toujours nous appeler au 0870 5000 et 0803 085000 et toujours le 3615
Code Pen Radio rubrique directe et pour l'instant j'ai zéro connecté
C'est pas cool ça hein ?
C'est une honte
Et sur internet donc vous pouvez toujours nous laisser des messages
Donc www.frfunradio.com
Et on va bientôt atteindre les 300 connectés
Oh là là, le blé qu'on va se faire encore
Eh ben c'est bien
Donc on va accueillir Arnett pour le deuxième débat qui portera sur les routiers quand même
Arnett bonsoir
Bonsoir Gérard
On peut écouter Fun Radio sur 101.9
Ouais exactement
Alors 35.9
C'est quoi là Manu ?
C'est moi
Non mais tu donnes ton nom correctement s'il te plaît
Parce que moi je vais pas m'amuser à faire 35 tonnes sans arrêt
C'est son, comment tu dis ça ?
Son QRZ
Son QRZ
Ouais QRZ ok
Voilà je suis un cibiste et tout
Ok donc on peut écouter Fun Radio à Arras sur 96.9
Tu me confirmes bien la fréquence ?
Ouais je te confirme ouais
Ok
Je te copie
Pas mal
Tout est bon
me saoule bonsoir mon amour il n'y a pas de ton amour d'accord ok tu as pas commencé comme ça ok
moi je te dis tout de suite je suis pas ton amour ok alors bon d'accord donc on peut écouter fun
radio à brest sur 98.9 non elle est pas là elle est pas là ou quoi elle qui ça tu me saoule ouais
mais si elle est là je suis là moi je t'écoute on peut écouter un peu de radio sur à brest sur 98.9
c'est bien ça c'est tout à fait ça non mais non c'est pas ça mais si ça lui fait plaisir donc
horloge 18 ans d'art cachons peut écouter fun radio sur 92.fm oui dégage non bonsoir gérard
je vais te calmer manu parce que sinon je vais t'attraper ta tête je vais te l'éclater
opération cornet de bif tu vois je vais prendre un pétard je vais te mettre ta cervelle sur une
bagnole ok alors tu éteins ton micro et je ne veux plus t'entendre ok donc dégage 21 ans on
peut écouter fun radio à la balle sur 102.3 exactement gérard pas du tout on peut écouter
qui sait qui commence là et frigo on va trouver qui c'est vas-y frigo oui bonsoir gérard big big up
à tous pardon voilà donc on peut toulon 93.1 je confirme je confirme ok donc première question
sur les routiers et que pensez-vous des routiers on va demander à un frigo ouais moi je trouve que
c'est une bonne solution parce que toute façon sur les routiers on pourrait pas manger c'est
clair ouais donc il en faut il en faut et oui mais moi si j'ai envie de manger j'ai envie de manger
mais moi si je te dis si on se met en grève et qu'on peut plus râler s'il peut plus rallye
alimenter les grandes surfaces que je fais c'est les emmerdeurs dans ces cas là ah ouais mais c'est
dans emmerdeurs mais attention c'est leur game pas quand même ah ouais mais faut pas qu'ils se mettent
en grève ah ouais mais attends dans ces cas là non mais attendez attendez parce que là je connais le
truc moi je peux vous dire une chose quand tu as un patron qui dit bon ben il faut que tu sois y'a
telle heure là bas ouais mais si t'es pas ouais mais faut que tu respectes quand même le temps
de coupure parce que moi j'ai vécu l'expérience avec un chauffeur là il y a quinze jours on était
en allemagne il fallait que quand même qu'ils respectent ces temps de coupure c'est quoi les
temps de coupure par exemple tu roules huit heures faut que tu t'arrêtes au moins trois quarts d'heure
pour pisser non non tu t'arrêtes trois quarts d'heure comment pendant les trois quarts d'heure
tu fais quoi eh ben tu te reposes tu te mets dans ta couchette et tu t'allonges et tu dors il foutait
rien ok ah ouais mais il foutait rien mais attends arnett il foutait rien c'était horloge ouais ben
horloge s'il foutait rien ben je suis désolé mais ils vont pas risquer leur vie à cause d'un patron
on est bien d'accord mais nous notre bouffe elle arrive en retard aussi ouais mais d'accord votre
bouffe elle arrive en retard mais de toute manière parce que trois quarts d'heure au départ ça fait
six sept jours à l'arrivée non non non non non non en plus elle est périmée en plus après ouais ouais
c'est ça t'as bien t'as raison tu me prends pour un con toi non non non non tu m'y prendrais pas
tu m'y laisserais ok alors attention à toi horloge ouais mais attention à toi horloge parce que
maintenant tiens ben comme t'as on va demander à des gages écoute moi Gérard c'est un métier que je respecte tout particulièrement
parce que je trouve que c'est un super métier d'accord alors maintenant horloge avec ta grande
gueule oui maintenant tu vas l'ouvrir bah écoute moi je pense que les routiers font pas aller ils
font pas un métier si difficile que ça faut pas exagérer non plus quoi non mais attends attends
tu sais combien de temps qu'ils passent sur la route non ils passent pas loin de sur un an par
exemple sur un an ils rentrent chez eux à peu près à peu près ça dépend des pays où qu'ils vont mais
t'en as les trois quarts ils sont à peu près cinq jours sur la route par an alors je vais dire une
chose non non non non non mais attention parce que là là je m'attaque à c'est moi qui ai décidé
de faire ce débat-là parce que normalement on avait prévu la politique et je veux pas leur en
faire donc avec Max on avait décidé de changer donc maintenant les questions sont pas préparées
maintenant ça va être des questions que je vais vous poser mais faites-moi confiance parce que
d'habitude quand tu les prépares tes questions c'est pas toi qui les pose si si ah bon d'accord
donc je peux je peux vous dire que le premier qui va déconner sur
là par contre moi je vais te dire une chose que c'est pas les routiers qui créent les accidents
parce qu'il faut dire une chose que d'accord on s'en prend toujours aux routiers mais il faut dire
une chose qu'on est bien content de les trouver mais les trois quarts du temps c'est c'est les
bagnoles c'est des nanas même
voire même des mecs ou même des motos qui s'amusent à perdre les cons par exemple moi je l'ai vu il y
a 15 jours trois semaines hein fais-moi confiance qu'un mec sur deux une pile ou que les routiers
ne peuvent pas doubler le mec qui roule à 60 je suis désolé le mec le routier c'est il y a des
panneaux qui sont interdits pour doubler pour eux il peut pas doubler il a beau faire des appels de
phare aux mecs eh ben le mec il n'en a rien à foutre
à part freiner les mecs qui s'amusent à perdre ça pour moi qui reste chez eux qui prennent leur
voiture le dimanche ou qui prennent les transports en commun ça sera mieux ça coûte encore moins cher
ça prend moins de pollution ouais mais le transport en commun sur l'autoroute c'est pas évident ouais
mais attends maintenant il y a le météore et puis il y a des tramways nommé désir ouais non mais t'as
des tramways et t'as des t'as des bus euh l'ailerois 6 bus tout ça ouais non mais t'as des bus hein donc
euh tu me saoules ouais bah moi c'est clair hyper sympa ouais mais néanmoins sur l'autoroute sache
qu'il me gonfle mais puissant quoi parce qu'il me bloque à chaque fois ah mais attends c'est pas toi
qui les emmerdes aussi euh non mais quand je te dis ça c'est qu'il roule pas vite et franchement ça
me fait perdre ouais mais ils sont ouais mais euh dans ces cas-là si tu peux pas les doubler dans
ces cas-là j'ai rien contre eux mais simplement ils me font chier ils me font chier sur la route
ouais mais mais attends dans ces cas-là si on vous fait chier sur la route si les les routiers te te
font chier sur la route dans ces cas-là pourquoi tu prends ta bagnole dans ces cas-là tu prends tu
prends une une mobilette et bien euh tu seras tranquille oui mais Gérard la route n'appartient
non mais attends sur autoroute tu as quatre voix alors viens pas me dire à moi que tu peux tu peux
pas doubler parce que là moi je vais te dire une chose que t'as eu ton permis dans une pochette
surprise il n'y a pas besoin de permis pour la mobilité ouais non mais peut-être mais c'est pas
moi les routiers je les aime bien mais ils me font chier c'est tout ouais bah alors dans ces cas-là le
jour où tu vas te faire quoi c'est entre deux routiers hein et tu verras que qu'est-ce que ça
va te faire 35 tonnes 35 tonnes ouais alors moi je voudrais dire en fait que les routiers bah je
les aime bien quoi parce que bon comme je suis comme je suis cibiste et tout bon des fois on
discute ensemble non mais attends est-ce que est-ce que t'es routier ou pas non non je suis
pas routier je suis cibiste moi c'est pas pareil non mais attends faut pas qu'on qu'on fonde ton
tracule et on cule ta sœur exactement c'est la cibille avec les routiers je vois pas
le rapport moi je te parle que pensez-vous des routiers donc je te demande pas si t'es
cibiste ou pas moi je m'en fous tout les routiers ont une cibille j'ai une cibille donc j'écoute les
routiers donc on discute ensemble et donc je dis qu'ils sont sympas voilà ah ok arnett internet
pardon tu m'excuses mais je prends une question je prends les questions les plus importants sur internet
bah tu l'as dit oui en attendant sur IRC il y a je sais plus comment il s'appelle des mercelles qui
disaient que il y a des pistes cyclables pourquoi il ferait pas des pistes camionnables ça n'existe
pas et je pense pas qu'ils en feront et pourquoi non mais pourquoi ils en feraient pas non mais
il n'y a pas il n'y a pas des des commandes les accidents c'est pas les routiers qui les font faut
pas dire tout ça que ça soit il est routier en fin de compte ils ont ils sont au volant 24 heures sur
24 tu t'affirmes toi d'accord merci donc les les chauffeurs sont au volant 24 heures sur 24 derrière
leur camion et les mecs qui sont en bagnole ils sont même pas 24 heures sur 24 ils prennent leur
boulot pour aller pour aller ils prennent leur bagnole pour aller au boulot ils posent leur
bagnole ils vont bosser et ils ont
rien à foutre de ce qui se passe après les routiers les routiers les routiers c'est leur
boulot c'est leur game pain ok alors arnette ouais alors moi j'aime bien les routiers mais quand même
il ya des limites parce qu'un jour j'ai voulu aller au disney à cause de j'ai pas pu puisqu'ils
étaient en grève et ils ont bouché l'autoroute dans un temps arnette ouais arnette déjà pour
aller à euro disney tu as deux possibilités tu prends ou l'autoroute ou la nationale en
vient pas me dire vient pas me dire qu'ils ont bloqué l'autoroute et la nationale parce que je te dirai
tu as un menteur bah ouais mais moi j'ai une voiture c'est pas pour prendre les transports au commun donc
voilà dans ce cas là tu as une voiture tu peux prendre la nationale bah oui mais c'est plus
rapide par l'autoroute donc j'ai pas peur de mon temps non plus et alors bah dans ce cas là t'avais
qu'à prendre la nationale ouais mais l'autoroute et de manière l'autoroute et de manière la
nationale elle est pour tout le monde elle est aussi bien pour les routiers pour que pour les
voitures oui l'autoroute est pareil justement il y a des routiers sur les nationales et sur les
autoroutes oui pour le raisonnement de tout à l'heure pourquoi les routiers ne prennent pas
les transports au commun dans ce cas là mais attend mais les gens quand ils partent de chez
eux pour aller bosser ils y vont comment comment tu veux mettre un camion dans un bus ah c'est vrai
désolé les gars on peut mettre un camion sur un train non mais attendez non mais ça l'histoire
du camion sur les trains ça c'est une histoire du gouvernement je trouve que le gouvernement il
est un peu con parce que s'ils vont mettre des l'histoire du gouvernement je trouve que le gouvernement il est un peu con parce que s'ils vont mettre des l'histoire du gouvernement je trouve que le gouvernement il est un peu con parce que s'ils vont mettre des
camions sur les trains fais moi confiance qu'on n'aura plus de routiers en france pourquoi pas
mettre des trains sur des camions et pourquoi pas mettre ta cervelle d'en faire plus de
taffes pour les routiers à broutille tu peux faire du standard et un peu micro que j'ai déjà dit ça
voudra mieux je suis donc deuxième question combien coûte un permis vl un permis quoi vpl
vpl
je préviens et quoi ça c'est le nom d'un vaccin tu dégages bonne nuit à toi c'est qui c'est d'être
une meuf mais c'est plus laquelle non mais là tu es tu cherches au port et hop tu me vers n'importe
donc un permis pl je pense que c'est un permis poids lourd voilà voilà alors combien ça peut
coûter à votre avis on va demander à arnette d'après moi
ça doit coûter genre dans les dix ans francs comme un paquet d'euros d'accord
mais tu n'as pas de permis de voiture toi
mais je n'ai pas payé très cher puisque je n'ai pas c'est aux états unis
tu as passé ton permis aux états unis tu me mets tu me prends pour un con quoi
j'ai passé un an d'études aux états unis et j'en ai profité pour passer mon permis là bas puisque
c'est moins cher d'accord
35 tonnes ouais alors moi je pense que tu as approximativement je pense que ça doit coûter
dans les 1 franc 52 francs il est lourd et moi en toi 35 tonnes 35 tonnes 1 franc 52 francs
non non non mais attends c'est le prix d'une communication téléphonique hockey ouais mais
non anciens je te dis pas nouveau m'arrête on attend l'ancien permis ou nouveau permis
non mais de toute manière il n'y a pas d'ancien ou nouveau permis non mais ancien franc tu comprends
il n'y a pas d'ancien ou nouveau permis maintenant bah si non bah si t'as le permis euro et t'as le
permis franc mais attends abrouti toi qu'est-ce que tu me parles de l'euro il y a le permis euro
mais attends t'es complètement si t'as le permis euro la gaffe d'accord fume l'avocate
ok
tu me saoules
ouais je sais pas ça doit certainement coûter la peau des fesses parce que vu le nombre de
manifestations qu'il faut attendre je crois que tu étais à la plaque aussi toi tu es comme
35 tonnes vous y allez à la mouiquette 1 tu me saoules ah ouais non mais moi quand je t'écoute je
déconne pas tu me saoules ah ouais non mais moi quand je t'écoute je déconne pas tu me saoules ah ouais non mais moi quand je t'écoute je déconne pas
Ah ouais ben fume la moquette
Fume la moquette ça vaudra mieux
Horloge
Oui ben moi je pense que le permis tu l'as
C'est celui qui arrive à boire le plus de bière à la suite
D'accord horloge
Parce que les routiers c'est alcoolique quand même
Horloge c'est terminé pour toi bonne nuit
Horloge terminé
Hop ça y est il est parti
Non non mais c'est même plus la peine qu'il revienne
Ah ben il revient plus
Pour lui Arcachon ben tant pis pour lui
Dégage
Ben moi franchement j'ai pas vraiment d'idée
Mais je pense quand même que ça doit valoir un tout petit peu plus cher
Que le permis voiture
C'est à dire dans les alentours
Je sais pas du permis voiture quoi
Non mais attends un permis voiture vaut combien à l'heure actuelle
Ben moi j'ai payé ça 10 000 balles quoi
Hein
Ah ben oui avec les cours excuse moi
On se tait derrière
Attendez attendez
Tu dis 10 000 balles
Ouais
Tu déconnes
J'ai l'impression
Dégage
Dégage
Non mais attends dégage
Dégage dégage
Et derrière vous vous la fermez
Merci
Et dégage
Déjà
Rien que le prix que tu m'as annoncé
C'est rien que le prix d'un permis voiture
Et encore si tu l'as du premier coup
Avec les formations qu'ils font
C'est ce que je te dis Gérard
Tu m'as demandé le prix que j'ai payé pour mon permis voiture
Je t'ai dit 10 000 balles
Ok
Frigo
Je sais pas je vais dire 100 000 francs hors taxes
Non j'en sais pas du tout
Hé Frigo
Je pense que tu ferais mieux d'aller voir
S'il n'y a pas quelque chose dans ton camion
Ah mais j'ai pas de camion moi Gérard
Oui
C'était pour vous dire qu'on accueillait donc à la place d'horloge
On accueille un petit routier
Je crois qu'il a eu un accident
Un truc pas possible un truc pénible
Bonsoir
Il va vous raconter bonsoir
Oui bonsoir
Salut
Bonsoir
Salut à toi
Bonsoir
Alors ?
Quand tu veux
Il a eu un problème avec un routier donc laisse le se remettre quand même
Non mais attends tu réponds maintenant
C'est pas la peine qu'il passe
Appelle-le
Allo
Oui bonsoir
Je vous écoute
Moi je t'écoute
Bon bah hop
Mais non mais il est là
Attends mais oh
Je vais pas passer ma
Je dois répondre à la question ou ?
Bah oui
Bah je viens d'arriver donc
Ouais bah alors
Combien quoi
Combien coûte un permis PL ?
Euh
C'est-à-dire c'est du
C'est quoi c'est du sans plomb ça ?
C'est du
Je dirais euh
Ce soir on vous met
Ce soir on vous met le feu
Ouais non mais je crois que
Pour l'instant
Justement vous êtes en train de chanter une chanson
Qui fait bien penser que les routiers quand même sont des alcooliques
Ouais
Parce que moi j'ai eu un accident avec
Ouais
Un camion
Ouais
Il y a combien de temps ?
Il y a un an et demi
Un accident
Ouais
Un petit accident mais pas méchant quoi
Mais bon le
Le routier avait un peu bu
Vous parlez
Vous rigolez depuis tout à l'heure sur les routiers
Mais je pense qu'il y a beaucoup de routiers
Vous qui vivez dans
Qui roulent beaucoup
Mais qui ont de l'alcool
Qui boivent un peu
Et je pense qu'on n'en parle pas
Les routiers c'est très dangereux
Parce qu'un camion c'est très dangereux
Alors
Euh
La double est que
Il est fatigué
Qu'il a pas dormi depuis
48 heures
Parce que les routiers vous dites
Qu'il s'arrête pour dormir
Mais ça il faut
Il s'arrête pas pour dormir
C'est pas vrai
Quand ils sont en retard
Ils s'arrêtent pas
Ouais quand ils sont en retard
Non mais attends
Il accélère
Attendez
Attendez
Attends
On va
Je vais répondre à la question
A Fildar
Alors Fildar
Moi je peux te dire une chose
Que si le patron
Lui dit
Tu vas
Qui va
C'est que c'est
Le patron
C'est de la faute du patron
Parce que le mec
Il risque sa vie aussi
C'est peut-être la faute du patron
Mais c'est pas le patron
Qui va tuer des gens
Le patron qui va tuer
Non mais attendez
Là je suis d'accord
Avec tout
Avec
Qui c'est qui vient de répondre
Aussi derrière
C'est Antti Routier
Et Trigo
Trigo qui a dit
C'est pas le patron
Qui va prendre
Oui
Ouais mais d'accord
Mais là-dedans
C'est pas le patron
Qui prend
Si
C'est Contribab
Non non non
Parce qu'il faut dire
Attends que toi le tronc
Contribu
Contribu
Oui oui
Il a raison
Attends
Mais attends
Tu crois que c'est le Contribab
Qui va redonner
Antti Routier
Antti Routier
Non mais je vais répondre
A la nana
Qui m'a dit
Ça coûte
1000 francs quoi
Ouais 1000 balles
Un permis poids lourd
Alors avec toi
Ça vaut
400 000 francs
Hein ?
400 000 francs
Bah oui bah voyons
Moi j'ai une question Gérard
Est-ce que dans le permis poids lourd
Il y a le camion
Qui est compris avec
Dans le prix
Quand t'achètes le permis
T'as le camion avec non ?
Non
En plus ou que t'achètes le camion ?
Non ça dépend
Moi j'ai la remorque en plus
Non mais attends
T'as l'air
Je vais t'acheter ta remorque
Je vais t'acheter
Que tu as dégagé
Non mais je me renseigne
C'est tout je sais pas
Ouais non mais moi je te dis
Tu as dégagé
Si tu continues
Pour le routier
C'est pas votre fort quand même
Non mais moi je peux vous dire
Moi je peux dire
Qu'un permis à l'heure actuelle
Coute plus de 20 000 balles
Euh Gérard
Non non non
Quoi non ?
Attends
T'es mieux renseigné que moi ?
Oui tout à fait monsieur
Je me suis renseigné
Tout à fait
Je peux vous dire
Qu'un permis à l'heure actuelle
On voit que ça fait longtemps
Que vous n'êtes plus routier
Ça vaut plus 20 000 francs
Ça vaut au moins
30 ou 40 000 francs
Ouais bah
Vous étiez peut-être routier
Vous vous êtes tout à fait
Le genre de routier
Le genre de routier
Des années 80
Mais aujourd'hui
On est à l'an 2000
Ouais mais non
Pour l'instant
On est en 1998
Ok ?
Non mais jouez pas sur les mots
Vous êtes bien routier
Ouais alors
La troisième question
La cible est-elle
Un moyen de communication ?
Ouais
Donc on va s'écouter
Gilbert
Bisous
Avec
Donne-moi
Du sud
Pour Noël
Et on se retrouve tout à l'heure
Pour la suite du débat
On doit marcher hein
Donc apparemment
Ça a l'air de bien fonctionner
Donc
C'est super ce soir
C'est super
C'est magnifique
Merci à tous
Sur internet
Ça a l'air de
De bien fonctionner
Aussi
Sur Minitel par contre
Là je suis pas content
Parce que
Sur Minitel
Y'a personne
C'est pas grave
Ça fait deux heures qu'on est là
Il a pas fonctionné
Donc on va attaquer
On va attaquer la troisième question
JG
Il m'énerve lui
Donc
Troisième question
La cible
Est-elle un moyen de communication ?
Donc 2h36
Et on est toujours
Sur le thème du débat des routiers
Donc on va demander à Arnett
Ouais
Tu sais
Tu peux me répéter la question
Non je sais
Non non non Arnett
C'est pas pour t'ennuyer
C'est pas pour t'ennuyer Gérard
Je te jure
Non non Arnett
Arnett
Je ne répète plus les questions
Moi je vais le répéter si tu veux
Merci Manu
T'es gentil
Alors vas-y
La cible est-elle un moyen de communication ?
Alors
Bah je pense que oui
Oui c'est sûr
Puisqu'on peut communiquer avec des gens en fait
D'accord
C'est automatiquement un moyen de communication
Ok
Ok
Donc pour toi
La cible c'est un moyen de communication ?
Oui
Ok
35 tonnes ?
Ouais bah je dirais un petit peu comme Arnett quoi en fait
C'est beaucoup de gens qui
Ouais non mais attends
35 tonnes
Ouais
Faut quand même essayer
Ouais non
De chercher
Non non mais vous avez eu le temps pendant la pause
Ouais ouais
De réfléchir
Faut pas dire
Tu t'fuis toi mais je suis
Ouais mais attends
35 tonnes tu permets ?
Ouais mais tout le monde est d'accord avec moi
C'est pour ça Gérard
Ouais mais attends Arnett
Arnett pour l'instant tu vas te taire s'il te plaît
Ah excuse-moi
Je suis pas d'accord moi
Non mais attends 35 tonnes
Ouais ouais je vais répéter
Bon et même les autres là qui sont pas d'accord
Ouais
Bon alors attends
Moi je te dis déjà
La cible à la base
C'est un moyen de communication
Tu vois comme le téléphone
Donc en fait ça c'est partagé
A plein de gens
De l'émotion quoi tu vois
Donc voilà c'est un moyen de communication
C'est tout
Ouais non mais
Donc tu reprends la question d'Arnett
Ben oui Arnett il t'a dit
Que c'était un moyen de communication
Non non non mais attendez
Attendez
Moi je vais vous dire une chose
Là si tout le monde me répond
Le même truc qu'Arnett
Je suis d'accord avec Tarnet
Ou avec toi 35 tonnes
Moi je vais vous dire une chose
Je vais zapper 8P
Les gens
Des questions
Allo c'est anti-routier là
Allo
Non non
Tu me saoules
Moi je trouve que la cible
C'est vachement important pour eux
Au moins quand il y a un contrôle
Tout de suite
Ben ils sont prévenus quoi
Parce que sinon
Non mais attends
Parce que j'ai pas
J'ai pas entendu
Ce que tu m'as dit
Parce qu'il y en a
Qui récanent derrière
Bon Arnett
Tu t'affirmes
C'est anti-routier
Bon alors anti-routier
Tu commences à me les gonfler
Sérieusement
Youpi
Parce que t'as pas laissé
Parler les hommes jusqu'au bout
Ouais mais attends
Moi je fais ce que je veux
D'accord
D'accord
En de bon entendeur
Salut
Alors pour l'instant
Tu t'écrases
Tu t'en vas ?
Non mais pour l'instant
Je t'ai pas demandé
Quelle heure il était
Ouais ben il y a eu 2h
Ouais ben quand je t'appelle
Avec Potium
Tu sortiras de sous le lit
Ok
Alors tu me saoules
Ouais donc je te disais
Que pour eux
Je trouve que c'est vachement
Important la cible
Parce que quand il y a
Des contrôles d'alco-test
Ils peuvent être prévenus
Et puis ça leur évite
De leur faire sauter
Leur permis
Ouais c'est ça
Non mais attendez
Attendez derrière
S'il vous plaît
Ils arrivent pas de boire
Oui mais Gérard
Mais qui ?
La sortie routier
Tu comprends que c'est normal
Vraiment qu'avec la cible
Justement qu'elle dit
Comme ça ça permet
Les routiers entre eux
D'éviter de prévenir l'autre
Pour que justement
Il y a des contrôles d'alcool
Non non non
Mais attendez
Attendez
Attendez
Attends
Tu es routier
Ça veut dire que
Un mec qui a bu au volant
Et on va le prévenir
Qu'attention il y a des flics
Donc on va essayer d'éviter
Qu'il puisse se faire arrêter
Donc il va continuer à conduire
Avec l'alcool au volant
Ah bah c'est ce que les routiers font
Ils continuent à conduire
Bah allez oh
C'est inadmissible
Oh tu me
Oh
Anti-routier
Tu me saoules s'il vous plaît
Vous vous calmez
Mais attends
Tu me saoules aussi
Anti-routier
Si ça te plaît pas
Tu dégages
Tu m'accroches
Je sais que c'était à moi
Que tu parlais
Anti-routier
Si ça te plaît pas
Tu t'écrases
Tu t'écrases
Bah Gérard
Ok
Gérard
Oui
Ouais c'est Frigaud
Je peux répondre
Non mais attends
On va demander
Je vais
On va demander
Dégage
Bah bon écoute
Gérard moi je crois
Que c'est quand même
Un moyen de communication
Vu le nombre de personnes
Qui ont la civile
Même dans les voitures
Moi je suis tout à fait d'accord
Parce que c'est quand même
Un moyen
Pour les routiers
De communiquer
Parce qu'à part
Le camion
Ils n'ont rien d'autre
Donc moi je suis tout à fait d'accord
Manu
Tu me dégages
En anti-routier
Là parce que ça
Y'a pas de merde
On peut même pas discuter
Ouais y'a pas de merde
Ok
Ah mais c'est incroyable
La vulgarité
Dans ce débat
Ah bah lui
Gérard
Gérard sur hier
C'est y'a Dav
Qui te demande
S'il est quitte main libre
Sibi dans un camion
Est-ce que c'est dangereux ?
Quitte main libre
Sur Sibi
Pour l'instant
J'en ai jamais
Entendu parler
Ça existe aux Etats-Unis
Ah si tu viens
D'en entendre parler là
Oh non mais
Avec ce qu'aux Etats-Unis
Non mais ça
Pour l'instant
Aux Etats-Unis
On me confirme
Aux Etats-Unis
En fait tu peux
Te masturber
Conduire
Et faire de la Sibi
Non c'est pas ça
Non
Non mais attends
Parce que toi
Tu te masturbes
En conduisant ta voiture
Et en faisant
Pourquoi les routiers
Ils font que ça
Puisqu'ils sont jamais
Avec leur femme
Alors attends
Alors là
Je vais te dire une chose
Qui c'est qui vient de dire ça ?
Eh oh
Alors tu es routier
Alors je vais te dire une chose
Que tu vois
La question que tu viens de dire
Non mais c'est pas une question
C'est une affirmation
Oui non mais moi
Je peux te dire une chose
Moi je vais te répondre
A ta question
Pendant que ta femme
Elle était au boulot
C'est ça ?
Oui non mais moi
Je vais te dire une chose
Attends
Je vais te dire une chose
Que tu crois
Que les routiers
Ont que ça à foutre
De se masturber
Dans leur camion
Non non non
Si si
Si si
Avec la main libre
Avec le système de main libre
Mais attends
Tu crois
Tu crois qu'ils ont
Ils ont des trucs
Automatiques
Non pas tout le temps
Je pense qu'ils sont
Suissis par des bruits
Mais par exemple
Au lieu de mettre
De la cibille
Il faudrait mieux
De mettre l'internet
Ouais
D'ailleurs
D'ailleurs
J'ai quelqu'un
Je vais te mettre
Un gros doigt dans le cul
Aussi
Pour toi
Ça c'est toi
Qui balance l'info
Là t'es bien routier
T'es bien vulgaire
T'es bien routier là
Attendez
S'il vous plaît
J'ai une question internet
Non c'est pas une question
C'était juste pour dire
Qu'il y a un certain Yoda
Sur IRC
Qui est en direct
Dans son camion
Bon
Il est actuellement
En direction vers Rouen
Direction vers Rouen
Est-ce que
Est-ce que l'internet
Ça vous sert
Est-ce que
Pardon
La cibille
Ça vous sert pas
Justement à savoir
Où est-ce qu'il peut
Voudrer du carré de vigne
Il y a deux heures du mat
Allez dégage toi
Allez
C'est terminé
C'est terminé
J'ai un petit frigo
Je peux répondre
GG
Ouais frigo
Ouais
Donc moi
Je trouve que c'est un bon moyen
De communication
La cibille
Puis ça permet aux routiers
De prévenir
Quand il y a un accident
Sur leur route
Ouais mais ça
Ça de toute manière
La cibille
Je pense que
Moi j'en ai fait
Je peux vous dire une chose
Que la cibille
Bon tu vas te calmer toi
Ok
Donc moi je peux vous dire
Une chose
Que la cibille
C'est un moyen de communication
Pour savoir
Où sont les radars
Et de savoir
Comment que ça roule
GG
Oui
J'ai une question internet
De la part d'Anakin
Qui me demande
Si t'as des calendriers
De femmes nues
Dans ta caisse de camion
Oui
Alors toi tu dégages
Non mais il est sur internet
En plus
Mais c'est pas lui
Qui doit dégager
C'est le mec sur internet
Ouais non mais lui
Tu lui dis
On lui répond plus
Gérard
Mais non
Il est sur internet
Gérard excuse-moi
On va accueillir deux personnes
On va accueillir Goldo
Ouais
Et on va accueillir Tam Tam
Salut
Salut GG
Il était temps
Qu'on va se...
Salut à tous
Salut Sean
Salut Arnett
Salut Goldo
Salut Goldo
Salut tout le monde
Bonsoir Gérard
Bonsoir
On se calme
Non c'est Gérard
Non c'est Gérard
Ben vas-y vas-y
Pose ta...
Tam Tam
Tam Tam ouais
Bonsoir
Salut Tam Tam
Bonsoir
Donc t'as entendu la question là ?
Oui
Donc je la répète pour Goldo et Tam Tam
Donc la Cibie était la moyenne de communication
En...
Pas 50 ans
Tout à fait
Oui
Pour moi oui
Pour moi Tam Tam c'est la moyenne de communication
Ça permet effectivement
Lors des accidents
Des contrôles radars
De prévenir
Voilà
Donc tu reviens à ce que
Ce que je disais
À l'instant
Attends 5 minutes Tam Tam
Oui sur IRC
On me demande
Si tu connais la mini Cibie
Mini Cibie
Oui c'est
Non c'est un petit truc
De poche
Ouais c'est un petit truc de poche
Un genre de portable
De toute manière
C'est ici
C'est ici
D'accord
C'est ici
Ouais ouais c'est des Cibie portables
Non non
Non non
Non non
Non non tu rigoles Pildar
Mais moi je réponds
Je réponds
Moi je vais dire une chose
Que la Cibie portable
Tu n'entends même pas
La personne que t'as
Ouais
Et t'es capable
Donc en fait t'es capable
T'es capable
De l'avoir dans la main
Ouais non mais
C'est comme un téléphone portable
Mais sauf
Sauf que
T'as les canaux
Qui s'affichent
C'est un peu incroyable non ?
La distance du portable
C'est à combien de distance ?
Euh
Sur la Cibie portable
Je pense que
C'est à peu près
La même distance
Que le portable
2 mètres 50
Ouais non même pas
Même pas
Mais il paraît que
Il paraît que le son
Est excès crabe
Ouais ben ça
Ça dépend de l'antenne qu'on a
Ça dépend des country bab
Non non non non
Ça dépend de l'antenne
Qu'on met dessus
Ça dépend de l'antenne
Non non mais stop
Là on va
On va couper
Parce qu'il est quand même
3h
2h45
Salut à tous
Merci en tout cas
C'est qui ?
Ah c'est pas fini ?
Là tu dis qu'on coupe
Alors non
Non non mais
On va abréger sur la question
Maintenant moi je vais
Une question
Qui m'est revenue
Et il y a
Il y a un auditeur
Qui est là
Et il y a un auditeur
Et qui m'a demandé
De la poser
Combien coûte
Pour faire décorer
Son camion ?
Oh là là
J'ai vu un reportage
Par exemple
Non non ouais ouais
Un reportage
Ouais voilà
Ouais
C'est qui ?
C'est qui là ?
Tam Tam
J'ai vu le reportage
Ouais
Arlette aussi je l'ai vu
Et c'est hallucinant
Ce que ça coûte cher
A ton avis
Non non mais
Grosso modo
On va
On va pas
S'acharner
Sur ça
A ton avis
Combien que ça peut coûter ?
Parce que
Manu m'a dit
Qu'il fallait que je réponde
En euros
C'est obligé ?
Non non non
Pas en euros
C'est mieux
C'est la nouvelle norme
Éteins s'il te plaît
Manu merci
Non non
Non non
Tam Tam
Non non mais sans
Sans parler d'euros
En franc français
Ouais
Je dirais
30 000 francs
30 ?
Ouais
30 000
Qui dit mieux
Donc pour toi
Ça coûterait
30 millions
Avec toutes les guirlandes
Et tout
A peu près
Non non non
Simplement
Pour faire décorer
L'extérieur
Pas l'intérieur
Ah pardon
Je dirais 100 000 francs
Ouais mais le tout
Grosso modo
Qui me dit
100 000 francs
100 000 francs alors
Pardon
Avec la peinture
100 000 francs
Avec 50 000 francs
Avec la peinture
Je te fais un prix
GG
Je te fais un prix moi
Ok
Attendez
Tam Tam
Tu me dis
50 ?
50 000 francs
Avec la peinture
50 000 avec la peinture
Ouais
Goldo
Ouais bah moi je te disais
Je te fais un prix
Si tu veux pour écrire
Un poste d'André
Ou un camion
C'est un camion
Pas de problème
Je te fais ça pour
Ouais bah Goldo
Goldo
Goldo
Au revoir
Va va va
Va va
Essaye de
De continuer
Non mais continue
Continue à voyager
Mais c'est une décoration
Non non non
Allez hop
Goldo terminé
C'est qu'il a pas compris
C'est pas les écritures
C'est les peintures
Les dessins
Tu parles de publicité
Tout ça
Poissonnerie
Boucherie
Pour les livraisons
Excuse moi
J'ai pas compris
Mais attends
Faut pas qu'on confonde
Tu veux dire
Genre un dessin
Genre tu te fais dessiner
Un cow-boy
Un indien
Un truc comme ça
Un paysage
Non mais n'importe
T'as pas besoin
De dessiner ce que tu veux
Qu'est-ce que tu dessinerais
Toi GG
Si tu pouvais décorer
Non non mais on va demander
A Prigo
Ouais moi je dirais
20 000 francs
20 000
Ouais ouais
Moi je dirais 10 000
Euh dégage
30 000
30 000
J'ai rien fait
Euh tu me saoules
Ah s'il vous plaît
Derrière merci
Tu me saoules aussi
Et oh
383,44
Oh quel écho
Bon allez dégage
Allez dégage
Allez dégage
Dégage moi ça
Dégage moi ça
Dégage
Allez hop
Bonne nuit
Euh 35 tonnes
Ah il est lourd celui-là
35 tonnes
Il est parti
C'est Goldo à la plage
Je te l'ai dit tout à l'heure
Ah bon
35 tonnes est parti
Alors avec qui
Euh Arnett
Euh ouais moi je pense
Que ça doit coûter
Aux alentours de 10 000 francs
Ah bah
Ah bah
Non non
Grosso modo
Je pense que
Ça c'est dommage
Que j'ai pas un routier
Qui pourrait me le confirmer
Mais c'est pas grave
Je le serai
Et puis je vous donnerai
Le prix réel
Il y en a un sur IRC
Il peut te répondre tout de suite
Si tu lui poses la question
Bah qu'il me dise
Quoi ?
Bah
Le prix
Que ça peut y coûter
S'il est sur IRC
Ça dépend ce que tu dis
Non mais
Le prix que
Que ça coûte
Un ordinateur
De francs
Ou 1500
Un truc comme ça
Non non non
29 la minute
Ça dépend si tu prends le clavier
Il est sur la route
Ça met un peu de temps à répondre
Il me dit
50 000 euros
Euh
Non mais ça
Non moi je peux vous dire
Eh je pense que
Je pense que
De toute manière
Tout le monde a regardé
Leur poste
Leur reportage
De la semaine dernière
Je pense
Tu ne l'as pas vu ?
Combien mais combien Gérard ?
Combien ?
Moi je peux vous dire que
Ça coûte plus de
10 000 balles
Gérard
À peu près
10 000 francs
À peu près
Non mais attendez
Pour nous renseigner
On a Marcel
Un routier là
Qui nous a appelé
Marcel salut
Oui bonsoir
Salut Marcel
Salut Marcel
Moi j'ai fait décorer mon camion
Là justement
Ça tombe vachement bien
Et là j'ai la facture
Sous le nez
J'en ai eu pour
25 367 francs
Acheté
Avec la TVA ou pas ?
Non non non
Non mais attends
Marcel
Oui
Non mais attendez
Les autres s'il vous plaît
Derrière
Vous me laissez
Vous me laissez parler
Oh
Avec ou sans TVA ?
Oh
Avec ou sans TVA
Toi tu as
T'as permis pour l'instant
Je vais discuter un peu
Avec Marcel
Oui
Bon toi Marcel
Tu me dis
25 367 francs
Acheté
Acheté
Donc hors taxe
Oui
Ok
Mais
T'as fait
L'extérieur
Ou l'intérieur
De ta cabine ?
La totale
Donc
La totale
Donc
T'as le volant
Avec
Oh attends
Il y a le volant
Tu me calmes
Seul qui régale
Comme une
Comme une bécasse
Parce que ça m'énerve
Tu as mis la photo
De ta femme
Sur le
Le volant
J'ai un volant
Le vis vitesse
Fildar
Attendez
Attendez
S'il vous plaît
Fildar
Tu me coupes tout le monde
Sauf
Je peux pas moi d'ici
C'est moi
C'est moi
Je vais le faire
Tu me laisses
Le dernier
Marcel
Donc pour toi
Marcel
Ça t'a coûté
25 000
267 francs
Quand même
25 300
Acheté
Attends
Attends
Marcel
Sur IRC
Donc il y a
Zioui
Qui te demande
Ce que tu préfères
Comme décoration
Sur un camion
Alors là
Ça c'est une très bonne question
Donc
La photo de Jacques Brel
Toi tu
Tu fermes ta gueule
Ça dépend du routier
Bon toi
Tu te la fermes aussi
C'est Marcel
Donc
Moi personnellement
Dessus
J'aurais bien vu
Mais je sais pas
Si ça existe
Le clos
Non
J'aurais bien vu
Ricky Martins
Non non
Un truc
Carrément
Avec
Un cibi président
Vas-y Gérard
Vas-y
T'en occupes pas
Donc
Moi je réponds
Donc c'est
C'est un truc
Avec carrément
La Formule 1 dessus
Non non mais
Mais
Mais peut-être
C'est un truc blaireau
Mais on peut dire une chose
Tu peux faire ça
En un poste
Comme ça
Tu mets
C'est là
Tu mets juste des briques
Ouais c'est ça
Alors bonne nuit à toi
Ok
Donc
Qui c'est
Comme on avait
Marcel ouais
Ouais
Donc
Ouais mais
T'as payé
Que l'extérieur
Toi pour toi
Ah non non
La totale
Donc
Intérieur et extérieur
Gérard
Tout routier qui se respecte
Et puis
Un petit frigo
Pour mettre les bières
Ouais ça
Le frigo
De toute manière
Tu peux le mettre
A l'extérieur
Oui
Quand tu dis
Que tu veux repeindre ton truc
En Formule 1
Parce que t'as l'impression
D'aller plus vite ou pas
Ou c'est juste pour un hommage
Non non non
Mais ça maintenant
Tu peux mettre n'importe quoi
Pour un hommage
Non mais je veux pas
Rendre hommage
A Arteon Senna
Ou autre
Non mais moi
Je te dis
Tu peux très bien
Tu peux très bien décorer
Ta cabine
Avec un truc de Formule 1
Pourquoi
Si t'as pas l'argent
Bah dans ce cas là
Tu le fais
Sur ton camion
Tu pourrais très bien marquer
Vroom
Quoi ?
Vroom
Bah ouais
Vroom
Ça veut dire quoi ?
Bah pour aller vite
Bah ouais
Non je suis pas d'accord
Formule 1
Ça fait
Vroom
Non non
Non non
Oui
Moi je veux bien te refaire ton intérieur
Y'a pas de problème
Bon bah toi
Toi tu t'appelles
Euh
Bon de toute manière
On s'écoute
Le
Dernier disque
Bah tu vas peut-être poser une question
Y'a encore des questions
Ouais
Bah
La dernière
C'est
Les routiers sur la route
Comment ?
Est-ce que les routiers
Quand vous faites la nuit
Quand vous roulez la nuit
Vous êtes obligés de vous arrêter
Sur l'autoroutier
Sur les aires d'autoroute
La nuit
Est-ce que vous vous arrêtez
Pour voir des putes
Dans les camionnettes
Dans les camionnettes
Dans les camionnettes
Oh là là
Il va dégager
Alors toi tu vas dégager
Tout de suite
Parce que
C'est pas le thème
Du débat
Bah si les routiers
Ah bah Gérard sur IRC
Yoda qui est dans son camion
Il me dit qu'il en a vu une
Tout à l'heure
Oh bah ça
Sur l'autoroute
Il pense qu'il vole
Alors la dernière question
C'est
Il n'a pas préparé son débat
Si si si
Il va la retrouver
Attends
Tu connais pas Gérard toi ?
Non
Non
Euh
Au hasard
Qui c'est qu'a une
Oui t'fais Alei
Ouais allez
Pourquoi les routiers
Sont trop cons ?
Non
Alors toi tu dégages
Pourquoi les routiers
N'ont pas de cuit ?
Non
Plus de routiers
Y a-t-il une différence ?
Non
Gérard sur IRC
La question
Attends y en avait une bien là
Y en avait une bien
Ouais
Eh salope
Merci
Merci
Alors
Malcavienne
Qui demande si
Ah bah c'est trop tard
Je l'ai raté
Non mais
Je pense que ça défile
Et j'ai pas eu le temps de le voir
Non
Est-ce que les routiers
Peuvent devenir des stars ?
Que font les routiers
Partant de Verglas ?
Non
Est-ce que
Le parc soleil vert
Transparent
Avec l'équipe
De faute préférée
Marquée dessus
Est obligatoire ?
Merci
C'était la question de Malcavienne
Voilà
Alors donc
La question
C'est combien de temps
Les routiers passent-ils sur la route
Et on se retrouve juste après
C'est naze
C'est naze
Attends
Tu l'as posé tout à l'heure
Tu l'as déjà posé
Oh mais merde
Derrière
C'est nul
C'est nul
Vous la fermez ou sinon
Allez hop
Conclusion
Non attends
Non non non
Ça y est j'ai une question
C'est peu
Allez
Calme-moi tout le monde
On va passer au séminaire
Gérard
Bon
Routier c'est un métier dur
On est d'accord
Combien de temps
Votre avis un routier
Peut-il exercer dans la profession de routier ?
Voilà
Ça c'est une bonne question
Voilà
Et on se retrouve après
On va s'écouter
Roger
Pussot
Avec ma sœur
Elle joue du pipo
C'est nul
Oh donc
Vous pouvez toujours nous appeler
Au 0800
08 5000
On est toujours dans le débat des routiers
Et la dernière question
C'était donc
A votre avis les auditeurs
Combien de temps
Un routier peut-il exercer
Dans cette profession si belle ?
Voilà
Tam Tam
Bah déjà
Moi je sais pas
Mais je pense qu'un routier
Peut tenir facilement
Jusqu'à
Bah
Les routiers de la retraite
C'est à quel âge Gérard ?
Euh ça je peux
Je peux
Non c'est la question je crois
Non non mais moi je te demande
Jusqu'à quel âge
Un routier peut-il continuer
De rouler ?
Un routier ça doit
La retraite ça doit être vers 55 ans
Non
Non 55 ans ça c'est
Ça c'est
C'est les mecs qui
Qui travaillent
Dans
À la retape
Moi je pense que bon
Les routiers c'est quand même
Un métier assez simple
Parce que tu fais que de la route
T'en balades et tout
Ouais
Je pense que ça devrait travailler
Jusqu'à peu près 70-75 ans
Parce que c'est quand même
Une profession de feignant
Ouais c'est facile ouais
Ouais non mais attends
Une profession de feignant
Fais-moi confiance
Non non mais attends
Celui qui vient de dire
Que c'est une profession de feignant
Fais-moi confiance
C'est Tam Tam
Celui qui vient de dire ça
Déjà c'est un con
Ouais
Et un boulot de feignant
C'est pas vrai
Parce qu'il faut dire une chose
Que les mecs
Vous allez voir
On bosse comme des tarés
Ouais
Comme des tarés
Ouais bah attends
Si t'es pas content
Tam Tam
Non mais d'accord
Non mais c'était pas Tam Tam
D'accord ok
Vous bossez 15h par jour
Mais je trouve que
Bosser 15h par jour
C'est quand même des feignants
Quand même
Attends
Tu crois que dans les bureaux
Ils comptent 15h par jour
Non mais c'est pas des feignants
Attends
Ils arrivent
Attends
Non mais attends
Attends Tam Tam
Moi je vais te répondre
A ta question
Le lundi ils arrivent
Hop
Ils commencent déjà
Par leur petit café
On parle des routiers
On parle des routiers
Non non non
Non mais attends
Non non non
Stop
Stop
Stop
Stop
Maintenant Tam Tam
Tu as bien m'écouté
Ouais
Tu as bien tout ouvert
Tes gourdes
Tes oreilles
Ouais ça tu dis
Qu'il est en train de boire
C'est tout ce que tu dis
Bon alors moi je peux te dire
Une chose
Que déjà
Les routiers
Ils commencent le dimanche soir
A 22h
Ils n'ont pas le droit
De rouler le week-end
Ils commencent le dimanche
A 22h
C'est pour arrêter
Le lendemain
Mon cul Pildar
Les routiers
Commencent à partir
De 22h
Ils n'ont pas le droit
Ils n'ont pas le droit
Aux autoroutes
Le lundi je fais
S'il vous plaît
Ouais mais non
Mais le lundi
Oh Tam Tam
Tam Tam
Oui
Tu t'écrases
Je vais te répondre moi
Alors déjà
Dans les bureaux
Ils ne font pas 55h
Non mais oui
Ils commencent à 8h du matin
Et pas à 22h
Ouais
Ah ouais
Alors dans ces cas-là
A 8h du matin
Le chauffeur
Il est déjà sur la route
On est bien d'accord
Alors à 8h du matin
La nana elle arrive au bureau
Elle dit à son copain
Oh ouais mais tu sais
A sa copine
Oh ouais mais tu sais
Mon mec il m'a bien
Baisé et tout
Hein
Alors
Que les routiers
Que les routiers
Les routiers
Partent
Non non
Non que les routiers
Que les routiers
Attendez s'il vous plaît
Que les routiers
Partent le dimanche soir
A 22h
Et ils disent
Au regard à leur femme
Ils ne savent même pas
S'ils vont rentrer
Ok
Ok
Alors on te parle
Tom Tom
Tu te la perds
Stop
Stop
Stop
Stop
Stop
J'ai une question
Un tarot
Il y a une question
Sur les tarots
Allez allez
Coupe-moi
Coupe-moi tout ça là
Je coupe qui ?
Enfin
Alors Hugo
Oui
Alors Hugo
S'il te plaît
C'est allé trop vite
C'est allé trop vite encore
J'ai vraiment pas le temps de lire
Vu qu'il y a environ 418 connectés
Et tu vois les
Je peux t'aider
Vas-y je t'écoute
C'était qui ?
C'était qui ?
C'était
Je crois que c'était ce nul
Je sais plus
Il y avait une question intéressante
Et j'ai pas eu le temps de la voir
C'est pas grave
Tu vas la retrouver
Frigo
Frigo
Oui je crois que les routiers
Peuvent conduire jusqu'à l'âge de 50 ans
Ah non
C'est des conneries ça
Bon attends
Je suis d'accord
J'ai lu un bouquin moi
Sur les routiers
Ouais
Et je peux te dire que dedans
Bon c'est
Le mec
Bon il disait que
Les routiers pouvaient rouler
Jusqu'à l'âge de 50 ans
Mais après au-dessus
Interdit
Ça dépend
Je pense pas
Je pense pas
Je pense pas à mon avis
Parce que moi
Moi je peux te dire une chose
C'est
C'est
C'est bête
Parce que à chaque fois
Je vais dire
Je vais reparler de Titi
Mais lui ça fait
Ça fait
Ça fait plus de 22 ans
Qu'il fait de la route
Et est-ce que t'as vu son gros nez ?
Et t'as vu déjà quel âge ?
Non mais
Ça
Son âge
Ça vous regarde pas
Gérard
Euh
Rigo
Rigo
Oui
Question internet pour finir
Non ?
Le point commun entre une femme
Non non
Non non
Allez
Allez
Non non non
Allez
Non non
Conclusion
Conclusion
Gégé
Gégé
J'ai une question internet
Je suis pas tous en même temps s'il vous plaît
Gégé
J'ai une question intéressante sur internet
Pourquoi les hommes éculent-ils par saccades ?
Ah là j'ai la même là
Tu vois
C'est pas le thème du débat
Parce que Gérard avale par gorgée
Gérard
Oui tu me le dégages
Hop là
Il y a terminé
On fait la conclusion là ?
Ouais
Ouais bah on fait conclusion
Parce qu'on arrête
Ouais
Bah moi ce que je conclue de ce débat
Bon c'est intéressant pour les routiers
Ce que je constate c'est que bon
Vous êtes
Vous écoutez que du Johnny et du Coluche
Et vous êtes des feignants
Non mais de toute manière
En plus c'était pas
C'est un débat
Un improvisé qu'on a fait
Ouais bah ça c'est bien entendu
On sent que tu connais pas le sujet
Tu nous fais croire que t'as été routier
Mais on se le demande
Euh
Alors je vais te dire une chose
Ouais ouais
Tu la diras tout à l'heure
Ouais bah
Honnêtement
Non c'est pas moi
Non mais je pense que
Celui qui s'amuse à faire des conneries comme ça
Va se calmer
Ouais
Bon est-ce que t'as été routier pour de vrai ou pas ?
Oui
Trouve-le
Non il a été routier sur internet
Est-ce que tu as glissé sur du verglas ?
Oui ou non ?
Non
Alors toi tu as
Non mais sérieusement
Est-ce que t'as été routier ?
Oui
Combien d'années ?
J'ai fait deux ans de route
Combien de kilomètres t'as fait ?
Euh
22
22
Non
J'ai fait
Plus de 10 000 bornes
Combien de putes ?
C'est tout
Combien de putes est ta soeur ?
Ta soeur elle est en train de se pas enculer
Non non non
Toi tu dégages
Il n'a pas de soeur
Il n'a pas de soeur
C'est un imbécile
Allez hop
Terminé pour celui-là
Ça y est
Ça y est
Ça y est
Allez on y va
La conclusion
Allez vite vite vite vite vite
Allez
Allez
Allez hop
Hop
Terminé
Terminé
Terminé
T'envoies le
Attends t'as conclu
10 000 kilomètres en deux ans
Comment ?
10 000 kilomètres en deux ans
C'est pas beaucoup quand même
Gérard
Oui
T'es un feignant
Ouais ben
Euh
Réveille-toi
Un broutier
Je vais te donner ma conclusion
Ouais
Alors je pense que
Je pense que les routiers
Ça peut
Ils travaillent dur
Et ils peuvent conduire encore longtemps
Nous en tout cas
On a fait ça sur la route
Toute la journée
Et on a mis
Beaucoup de routiers
On a la photo de toi Gérard
Pour se soutenir
Pour essayer d'aller
D'aller plus vite
D'aller plus vite
Parce que
Pour nous
T'es un symbole de réussite
Quoi quand même
Parce que tu fais de la radio maintenant
On va bien être tous à ta place
Ouais mais de toute manière
Faut dire une chose
Que grâce
Grâce aux routiers
Grâce
Grâce aux routiers
Qui nous écoutent encore
À l'heure actuelle
Et je sais que
Ils sont nombreux
Ils sont nombreux
Même les chopeurs de taxi
Tout ça
Grâce
Grâce à tout ça
Grâce à ces gens-là
C'est grâce à eux
Quand même si on peut
Même malgré les grèves
Qu'on peut
Qu'on puisse rentrer chez nous
Avec les chopeurs de taxi
Mais grâce aux routiers
Si
Oh s'il vous plaît
Laissez-le finir
Laissez-le finir
Grâce aux routiers
C'est grâce à eux
Si on mange
Quand même
Que les grandes surpasses
Soient
Ravitaillées
Si on n'a rien
Dans les grandes surpasses
On ne peut pas manger
Alors qu'est-ce que c'est vous ?
Qu'est-ce que c'est vous ?
Vous savez
Vous savez pas
Oui Rigo
Deux secondes
Sur IRC
Je trouve qu'il y a
Une conclusion intéressante
Si tu es routier
Que tu sors en boîte
Que tu sais mixer
Que tu mets un costard-cravate
Et qu'en plus
Tu as une CB
Avec un kit main libre
Et bien ça veut dire
Que tu deviendras
Un pote de GG
C'est pas possible
J'applaudis Dave
Sur l'IRC
De toute manière
Sur la CB
Sur la CB
C'est quand même aussi
Grâce
Il y a la CB
Il faut dire une chose
Avec la CB
On peut savoir
Pas mal de choses
Mais il faut dire une chose
Qu'à force
La CB
Ça commence
A devenir rengaine
Parce que sur le canal 19
C'est qu'il y en a
Qui s'amusent
A s'amuser
A nous mettre
De la radio constamment
Et on peut pas savoir
Où sont les barrages
Ni rien
Donc
Alors maintenant
Ceux qui s'amusent
A faire ça
Sur la CB
C'est pas possible
Pour moi
C'est des petits cons
C'est des petits branleurs
Alors maintenant
Qu'on respecte
Qu'on respecte
Le métier
Des routiers
Et des chauffeurs de taxi
Et des animateurs radio
C'est tout ce que j'ai à vous dire
En devant d'entendeurs
Salut
Vous allez
Vous allez retrouver
Danan
Danan ça y est
Ça y est c'est fini
J'ai pas fait ma conclusion
C'est bon
J'ai rien dans les conclusions
Alors allez-y vite fait
Alors c'est vrai
Ouais
Je te kiffe
Parce que franchement
Ce que t'as fait c'était bien
Non mais attends
Moi je te kiffe pas
Ok
Mais alors
Les routiers
C'est n'importe quoi
Le seul truc qu'ils savent faire
C'est se branler dans leur cabine
Alors Arnett
C'est terminé
C'est même pas la peine de continuer
Parce qu'il y a des routiers
Qui nous écoutent
Ok
Et qui se font la confiance
Qu'il y en a qui sont
À m'attendre
Ok
Salut Bouffon
Ouais bah Bouffon
Toi-même les connards
Ouais
GG c'est Goldo
Ouais
Je peux faire ma conclusion
Vas-y
Bah je voulais dire que déjà
Je suis derrière toi à fond
À 100% tout profond
Et que je voulais dire que
Bah les routiers
C'est quand même
Comme a dit Arnett
Un métier de feignasse
Qui s'ignole
Et t'es un digne représentant
De cette profession
Alors Goldo
Dégage
Bonne nuit
C'est terminé pour ta conclusion
Bonne soirée
Au revoir
Au revoir
Guérisse
Dégage
Ouais bah écoute
Moi je trouve que
Je savais pas grand chose
Sur les routiers
Mais j'en ai appris quelques-unes
Mais alors par contre
Il y a un truc que je reproche
Dans ce débat
C'est qu'il y a énormément
De vulgarité
Et j'aime pas ça
Et bah
C'est dommage parce que
C'est comme ça
C'est comme ça
C'est les routiers
Bah ouais mais c'est pas bien
Moi je trouve pas
Parce que franchement
Votre débat il est bien
Et s'il y avait un peu moins
De vulgarité
Je trouve que ça serait pas bien
Bah ouais mais dans ces cas là
Les routiers
Faut bien comprendre
C'est Max
Que c'est quelque chose de viril
On l'a compris encore par Gérard
Ce soir c'est normal
Et quand c'est routier
Que c'est viril
Forcément ça amène un peu
Au lieu d'en venir aux mains
Ça en vient un peu aux mots
Et même si ça a été un peu vulgaire
Je pense que ça a apporté beaucoup
Ah mais c'est sûr
C'est ce que j'ai dit à Gérard
J'ai appris beaucoup de choses
Ça vient du cœur
Et quand t'es un passionné
Le routier c'est un peu
Comme un animateur radio
C'est une passion
Et quand t'as une passion
Tu la défends
Et donc très vite
Tu peux devenir agressif
Parce que tu défends
Ta profession que tu aimes
Gérard
Je suis tout à fait d'accord
Avec Gérard
Ça c'est sûr
Non mais ça à toute manière
Moi c'est un truc
Que je défendrais jusqu'au bout
Et moi j'ai routier
Chapeau pour ce que vous faites
Je sais qu'il y en a
Qui sont là-haut
Il y a NJ qui est venu
Et qui m'a dit
Qu'ils étaient en haut
Et qu'ils voulaient me voir
Mais t'es d'accord avec moi
Comme quoi c'est une passion
Et que c'est normal qu'on s'énerve
Une passion de toute manière
Tu es obligé de la défendre
C'est un gain de pain
C'est tout ce que tu veux pour toi
C'est comme toi animateur radio
C'est comme
Quand on parle des passions
C'est aussi dépassionné que le papillon
C'est un gain de pain
Ça dépend des personnes
Vas-y
Didi
Didi
Dis ce que tu as à dire
Je n'ai pas besoin d'avoir le casque
Tu parles dans le micro
Je fais exactement ce que tu viens de faire
Il flippe
C'est pas grave
Vas-y c'est pas grave
Donc ta conclusion Gérard ?
Donc ma conclusion c'est dommage que
Je n'ai pas préparé ce débat là
Parce que ce n'était pas prévu
Pour une fois il était bien
C'est pas mal
A part qu'il y a eu des petits emmerdes
Non mais c'est normal
C'est un métier de passion
Mais donc
On vous retrouve
Jeudi prochain
Déjà pour les débats
Voilà
Donc
Ça s'apportera sur quoi d'ailleurs ?
On peut savoir les thèmes ou pas ?
T'avais pensé tout à l'heure au synthétiseur
Alors
Donc on va parler sur les synthés
Et sur le harcèlement sexuel
Donc on va se quitter
J'ai hâte d'écouter le débat sur le synthétiseur
C'est qu'il y a de la question quand même
Tu ne manges pas aux derniers moments
Comme d'habitude
Ou le mercredi
Tu viens me voir en me disant
Qu'est-ce que c'est ?
Que finalement tu n'y arrives pas
T'es sûr ?
C'est un débat sur le synthétiseur
Ah ouais
Alors là le synthé
T'as intérêt de me trouver
Du Jean-Michel Georges
J'en ai moi à la maison
On va s'en écouter
Un la semaine prochaine
Si si si
Le truc de la coupe du monde
Le coupe d'Europe
Coupe du monde
Ouais
J'en ai même plus
Que ça
Tu vas t'écouter
Donc
On se quitte
Et donc
Je vous retrouve jeudi prochain
Donc bonne nuit à tous
Et vous allez retrouver
Rousseau
Rousseau pour la nuit sans pub
Et on va se quitter avec la bande
C'est ça
Avec la bande de Billy
Du slip
Avec les cochons
On les grillons
Ah c'est bien ça
Qui chauffent
Vas-y
On le groin qui chauffe
Les cochons
C'est un groin
C'est pas un grillon
Bon attends
T'avais qu'à l'annoncer
Toi-même
Après tout
C'est toi qui fais la raya
Et puis c'est tout
Alors
Poupouille à toi
Ok
De bonheur
Sendeur
Salut
Et de la clinique
== Le débat sur les synthétiseurs ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Pas de radio et pas d'insultes de Gérard
Bienvenue sur Fun Radio, donc 0h37, c'est toujours Fun Radio que vous écoutez
Vous pouvez nous appeler si vous voulez participer toujours au débat sur les synthétiseurs
On va dire la musique électronique parce que si on dit que les synthés vont avoir peur
Sur la musique synthé, tout ce qu'on peut entendre joué par Jean-Michel Jarre
Ou autre comme chanteur
Donc on va accueillir Citron 19 ans de Mazanet
Bonsoir Gérard
Bonsoir
Et alors Tupu
Bonsoir Gérard, bonsoir Sandy, bonsoir Yargla
Non mais Sandy elle n'est pas à côté de moi donc désolé pour toi
Pardon
Elle est là mais elle ne veut pas venir écouter
On embrasse là pour moi
Ongle de pied
Bonsoir Gérard
Bonsoir
Machat
Bonsoir Gérard
Salut
Guillaume, Guimauve
Bonsoir
On va parler un peu plus fort déjà
Bonsoir
Bonsoir et Trou Noir
Bonsoir Gérard
Bonsoir
Donc premier débat, on va parler sur la musique des synthétiseurs
Donc il y a toujours le site internet
Non c'est moi qui parle à Manu Oranten, excuse-moi
Donc il y a toujours le...
L'internet
L'internet www.fr
Voilà, tout à fait
Double slash
Il y a déjà beaucoup de connectés
Donc voilà
Donc alors en gros
Aimez-vous la musique
Aimez-vous la musique jouée au synthé ?
Qui ça ?
Ben qui ça ?
La main de ma soeur dans les culottes d'un zouave qui joue
Oui ça commence
Non mais Gérard comme à chaque fois tu débutes tes débats
Tu dis jamais à qui tu t'adresses
Tu demandes à un auditeur de répondre
Alors ongle de pied
Moi j'adore franchement
Je trouve que c'est de la bonne musique
Mais bon chacun son style
Mais moi j'aime bien
Non mais toi dans l'ensemble
T'aimes bien
Ouais moi je trouve que c'est de l'ambiance
C'est bien au moins
Ouais ouais
D'accord
Tu pues ?
Ouais ben moi je pense que ce gars-là
C'est un peu comme Francis Cabrel
Il a su toujours se renouveler
C'est vraiment
Je trouve ça très fort
Non mais attends
Francis Cabrel il a jamais joué du synthé
Il a toujours joué de la guitare
Non attends
Faux
Il a fait des morceaux au synthé
Ouais mais je voudrais bien savoir quel morceau
C'était des sons de guitare
Mais c'était au synthé
Ouais
Ouais non mais
Non si
Gérard t'es d'accord avec nous
Qu'au synthé on peut faire
Plusieurs sons
On n'est pas obligé de faire
Plus de son canot
Ouais mais ça c'est
C'est une autre question
On verra par la suite
Ne vous inquiétez pas
Il a tout prévu Gérard
Citron
Oui
Oui moi j'aime bien aussi
Ouais
Par ordinateur aussi
Ouais mais
Ben synthé c'est quoi ?
Ça peut être très bien aussi
Sur ordinateur
Comme Jean-Michel Jarre
Il a fait
Lors du concert
Au Wembley
Le 14 juillet
A Wembley
Non à Paris
Ah ouais j'ai pas vu
Je l'enregistrerai
Faudrait que tu me le prêtes alors
Non non
Moi je prête pas
J'aimerais que cette vidéo
Que j'enregistre comme ça
Ben j'aimerais le voir chez toi
Non
Il est en deux questions
Attends
Euh
Machat
Ouais ouais
Ben moi je kiffe ça
Ouais j'adore
Techno House
Trouble ou Acide
Transdip Deepcore
Adfitcore
Tout ça ouais
Ouais j'aime bien ouais
Non mais je te parle
De la musique du santé
Ah ouais ben
C'est de la musique électronique
Ben c'est pareil
Ah bon ?
Ouais
Non mais ouais je kiffe
Ouais c'est bien
Ouais tu kiffes
Ouais je kiffe à mort
Euh Guimauve
Euh non moi j'aime pas
Ça me prend la tête
Et dans
Dans quel sens
S'il te plaît
Ça te prend la tête
Dans tous les sens du terme
C'est à dire
Ouais non mais attends
Tu vas répondre aux questions
Que je te pose
C'est tout
D'accord
Alors pourquoi que ça te prend la tête
Et dans quel sens
C'est tout
Parce que je trouve que
C'est pas de la musique
C'est pas de la musique pour moi
Bon alors c'est quoi alors ?
Ben alors
C'est des sons inventés
Sur des machines
Pour moi
Ben alors le synthétiseur
C'est quoi ?
C'est des
On invente des sons
Me dis pas
Me dis pas de conneries
Guimauve s'il te plaît
S'il te plaît
Ok
Non je suis pas d'accord
Bon d'accord
Ben pourquoi ?
Trou noir
Ah ben moi j'adore
Le synthé Gérard
Et puis je suis moi-même
Joueur de synthé
Ah c'est bien ça
Ok
Ben tiens ben justement
C'est une question
Peut-être sur IRC
Oui sur IRC
Déjà on te demande Gérard
Qu'est-ce que c'est un synthétiseur ?
Un synthé c'est une musique
Comme t'as là
Toi attends
Tu prendrais ça
Et que
Et on voit pas nous
Non mais vous voyez pas
Vous avez pas besoin de voir
Ah d'accord
Donc
Donc ça serait
Un genre d'appareil
Comme tu tapes
Sur un clavier
C'est-à-dire que là
Attends je vais essayer
De jouer un morceau
Voilà
Et dedans
Mais là
T'as l'écran
Et dessus
T'as toute la musique
Qui ressort
Mais bien sûr
Là t'as des noms
Mais ils peuvent modifier
Le truc
Ah c'est ça un synthétiseur alors ?
C'est pas comme un piano
Alors c'est différent
Ben le piano c'est
Le piano c'est le piano
Ouais mais ça c'est pas pareil
C'est-à-dire ?
C'est quoi la différence
Entre un synthé et un piano ?
Non mais justement
Arrêtez de me bouffer
Les questions
Ah merde
On s'intéresse
On s'intéresse
Ouais non mais attendez
On a faim
Donc comme un trou noir
Comme toi
Tu joues de
Donc jouez-vous
Du synthétiseur chez vous
Donc c'est une question
Qui est pour toi ?
Ah ben moi je joue
Du synthétiseur
Oui Gérard
Et puis
Ben synthétiseur
Ouais c'est loin d'être un piano
Mais comme je crois
Que c'est une de tes
Prochaines questions
Gris pas les questions
Trou noir s'il te plaît
Non non non
Par contre je vais dire
Quand même qu'un synthétiseur
Ben ouais c'est un générateur
De son
Et puis ça existe
Sous forme de sampleur
Maintenant sur pas mal de choses
C'est vrai que
Maintenant
Tout le monde
Tout le monde joue
Sur
Sur du
Des synthés
Ou sur
Des
Des genres de
Wetman
Spécialisés pour
Pour ça
Ouais ouais
Et même Francis Cabral
Gérard
Je confirme
Oh non mais ça
Je m'en fous moi
Personnellement
Tu vois c'est pas un chanteur
Qui m'intéresse
Gingmove
Bon toi je sais que ça
Ça t'intéresse pas
Non non moi j'en joue pas
Je préfère casser des assiettes
Et des verres
Ça fait le même bruit
Bon ben alors tu vois
Gingmove
Tu vas aller casser tes assiettes
Et tes verres
Chez toi
Parce que dans ce cas là
Je sais pas pourquoi
Qu'on t'a sélectionné
Bonne nuit
Bonne nuit
Il en faut qui aime
Et qui aime pas
Non mais attends
Non mais attends
Si toutes les questions
Je te les pose
Et que tu me dises
Moi j'aime pas
Je préfère casser ceci cela
Ben dans ce cas là
Tu restes chez toi
A écouter la radio
Ou si t'aimes pas
Les débats
Tu zappes
Tu vas sur une autre radio
C'est tout
Point final à la ligne
En devant d'entendeurs
Salut
Gérard
Gérard un débat
C'est des pour et des contre
Non non mais attends
Elle aime pas
Elle aime pas
La première question
Attends s'il te plaît
C'est moi qui fais les débats
C'est pas toi qui vas me commander
Ok ?
Ok
Donc vas-y explique
Donc la première question
T'as pas voulu me répondre
La deuxième je te demande
Jouez-vous du santé
Tu me dis non
Je préfère casser des assiettes
Alors si je te demande
Combien coûte un synthétiseur
Tu vas me dire
Ah ben je préfère acheter
Des assiettes et des verres
Alors dans ce cas là
C'est pas la peine
Mais non mais non
Alors si je te dis
La quatrième
Connaissez-vous le fonctionnement
Des synthés
Gris pas tes questions Gérard
Bon alors
Non mais moi je vois pas
Une nana comme ça
Qui
Non mais Gérard
Laisse-moi parler 30 secondes
Et après tu jugeras par toi-même
Je ne critique absolument pas
Les synthétiseurs
Je t'explique simplement
Que pour moi
Que je casse des assiettes
Ou que je joue sur un synthé
Ca fait exactement le même bruit
Mais non
Voilà c'est tout
Ouais mais attends
En tout cas c'est
Le synthé
Tu peux le faire réparer
Les assiettes
Faut que t'en rachètes
Alors attends
C'est pas con
La guimauve
Là je crois que
Moi qui t'as un peu de colle
Ouais
De la superglue
C'est ça
Ouais mais enfin
Dis-toi que
Ca revient moins cher
D'acheter les assiettes
Qu'un synthé quoi
Ouais bah justement
On verra ça tout à l'heure
Donc
Machette
Ouais bah moi je joue pas de synthé
Mais j'aimerais bien en jouer
C'est un instrument
Qui me plairait bien
La question c'était quoi Gérard
Ta question
Est-ce qu'on peut jouer du synthé
Chez soi
Jouez-vous du synthétiseur
Chez vous
Mais est-ce qu'on peut jouer
Du synthétiseur
Ailleurs que chez soi
Si je demande chez vous
Pour l'instant
J'ai pas dit où
Je pose chez vous
C'est tout
Ah d'accord
Mais tu vas
Tu vas
Après on peut peut-être
Par exemple savoir
Si on peut emmener un synthé
Si c'est
On peut en jouer en plein air
Ouais on peut en jouer en plein air
Si ça est portable
Si on en joue
Quand on fait des soirées
Automatiquement
Le synthétiseur
Tu vas pas le lécher chez toi
Tu vas l'emmener
Ah ouais
Donc il est portable
Ouais voilà
Ah d'accord
Sur IRC
Il y a Vatou
Qui demande
Si le synthé
Fait autant de bien
Que le synthol
Ah
Je vois pas du tout
Le rapport avec
Le synthol et le synthé
C'est pas grave
Bah si parce que
Le synthol ça relaxe
Aussi bien que
Le synthé
Quand on joue
Ah c'est ce qu'il nous dit
Ça s'écrit presque pareil
En plus ouais
Oncle de pied
Donc toi
Non bah moi malheureusement
J'ai pas l'occasion d'en jouer
Mais c'est vrai que j'aimerais bien
D'accord
Tu pues ?
Bah moi non
Tu sais j'habite à Gap
Et je sais
Bon
J'ai pas
J'ai pas le loisir
De pouvoir
T'es dans une cabine téléphonique ?
Je suis chez moi
Je suis désolé
Ça c'est bizarre
On vient d'entendre
Un genre de
De corne
De corne ?
Ouais c'est le groupe fun
Ah non c'est pas moi ça
Ah c'est pas moi
Ça doit être quelqu'un
Qui trafique dans les studios encore
Moi non mais je me doute
Qui c'est
Mais c'est pas grave
Citron
Oui alors moi
J'en joue pas chez moi
J'en joue chez ma tante
Parce qu'elle a un synthé
Donc comme j'ai joué
Un peu de synthé
Bah j'en joue chez ma tante
Ça se prête pas un synthé normalement ?
Bah je sais c'est personnel
Mais bon
Je l'ai dit
Normalement
Tous les appareils électroniques
C'est que
Ça se prête pas
C'est comme une femme
Une femme ça se prête pas
C'est à dire
Tu prêtes pas ton tatou
Tu prêtes pas ton portable
Une femme ?
Mais non mais tu dis
Tous les instruments électroniques
Ne se prêtent pas
Une femme
Une femme
Une femme
C'est pas électronique
Une femme ça se prête pas
Mais c'est pas électronique une femme
Ça dépend
Mais tu peux en mettre une
Sur Poupée Gonflop
Pour toi ça y est
Si tu veux
Gonflop
Gonflop ouais
Je me doute où que c'est maintenant
Ça doit être Trou Noir
Non non non
C'est pas Trou Noir
Tu vois c'est Olivier Dapro
Qui est en train de me brancher
Le synthé que vous avez
De l'autre côté
Me prends pas pour un compte
Tu veux ?
Ok
Non non je n'en serai surtout pas
Non non mais tu m'y laisseras
D'accord ?
Olivier
Olivier
Olivier
Il paraît que tu as un synthé là-bas
Ah ouais non
C'est n'importe quoi
T'as grillé Gérard
Il t'a grillé
Tiens tiens tiens
Ouais ouais t'es là
T'es en train de chercher
Pour en venir au débat
Pour en venir au débat
La plupart des gens sur IRC
Préfèrent les 3T au 5T
Je vois rien
Je vois pas le rapport
Avec le débat
Donc alors maintenant
Ta réponse à toi
C'est au standard
Ça se voit que c'est au standard
C'est un auditeur qui fait ça
Bah oui c'est ça
T'as raison
Prends-moi pour un compte aussi toi
Bon le synthé Gérard
Pour toi alors
Est-ce qu'il faut en jouer chez soi
Ou on peut en jouer ailleurs
Ta réponse
Bon celui qui s'est mis à ça
Arrête parce que ça commence
A me prendre la tête
Ouais
Donc
En plus il sait même pas bien jouer
C'est vrai
Ce serait agréable
Ça c'est un truc
On peut le prendre
Tu peux le transporter comme tu veux
A une condition
Que là où tu veux jouer
T'as
Une batterie
Non mais t'as la vide
Qui te donne le feu vert
Pour pouvoir brancher
Alors celui
Celui qui s'est mis à ça
Qui s'amuse à faire ça
Arrête ça
Parce que ça commence à me gonfler
Je sens que tu auras pas
L'éducation ce soir là
Ah si
Alors
Qu'il arrête tout de suite
Ça vaudra mieux
Donc troisième
Combien peut coûter
Un synthétiseur ?
Ouais
Bon Manu
Tu vas me gérer ça
Parce que sinon
Je vais te gaufrer
Oui mais le problème
C'est qu'ils me disent
Que personne n'a de synthé
Au standard
Ouais non mais personne
Ils se foutent de toi
Ils se foutent de toi
Les auditeurs Manu
Non mais c'est pas sûr
Non plus que ça vienne
Du standard
Ça peut venir de n'importe où
Ouais ouais
Non non non
C'est du standard
C'est sûr et certain
Gérard c'est quand tu veux
Citron
Oui
Comment ça coûte
Je sais pas
Entre 150 balles
Un bon tant pis
Et puis 30 ou 40 balles
Un bon synthé
Non mais attends
Tu sais ce que c'est
Un synthétiseur ?
Oui
Pas de marque
Oui oui je sais
Alors c'est quoi ?
Bah c'est un instrument
Sur lequel tu fais
De la musique électronique
Ouais
Et tu crois que ça vaut
150 balles ?
Un bon tant pis
Ouais un vrai bon
Un bon tant pis
Non mais là je crois
Non non là je crois
Que tu te mets de loin dans l'œil
Ah bah écoute non
Je pourrais t'apporter des preuves
Ouais bah tu les envoies à la radio
Y'a pas de problème
Tu pues ?
J'ai pas trop
Moi tu sais comme je te dis
J'habite un peu à Gap
Et donc j'ai
Enfin je sais pas
Un citron
Bah attends
Non non mais attends
Tu pues
Quand je demande un citron
Quoi ?
Le nom de la personne
Parce que ça c'est des
C'est des habituels
Qui ont compris les autres noms
Parce qu'hier ils étaient là
Ils étaient là
C'est Goldo, Arnett et Tony
Oh n'importe quoi
Ils ont voulu
Ouais non mais attends
Des noms comme ça
Ongdopi et Machat
Faudrait quand même
Vraiment parano
Hein ?
Ouais bah parano
Prenez des noms
Autrement que des noms
Qu'on a l'habitude d'employer
Parce qu'on veut
On veut jouer sur moi
Ok ?
Gérard il est pas parano
Il est perno
Hein ?
Alors maintenant
Réponds toi
Qui ça moi ?
Ouais tu pues
D'accord
Bah moi je sais pas
Je pense entre 100 ou 150 francs
Mais des francs anciens
Je sais pas trop exactement moi
Ouais d'accord
Apparemment
Tu dis que
Tu penses
Je suis pas de Paris moi
Je connais pas bien les prix
Je suis en haut dans la montagne
Je connais pas
C'est où que c'est ?
C'est derrière
Non mais de toute façon
Maintenant il faut se dire un truc
C'est qu'à Paris
On vend des synthés en euros
Ouais ouais
Non non attends
Pour l'instant l'euro
Ça sort pas encore
Ça sort pas avant l'année prochaine
Non mais il commence
Ongdopi
Bah écoute moi
J'ai pas vraiment d'idée
Mais je pense que ça doit
Tourner dans les alentours
De 10 000 francs
Je sais pas du tout
Combien ?
10 000 francs
Ah enfin
Une
Une qui répond à peu près
A la question
Parce que les deux autres
On met genoux
On peut avoir des synthés
De casse aussi
On est pas obligé
De l'acheter neuf
Attends un synthé
Tu vas trouver un synthé
Pour combien toi
De casse ?
Bah peut-être 150 balles
Bah ouais t'as raison
Bah c'est clair
Justement
Y'en a un qui va pouvoir
Nous répondre
Après
Il va venir
Il va venir
Et il va nous répondre
Machette
Ouais bah on va dire
2000 roubles
Bon alors toi
Toi ça va être pareil
Que Gimbaub
Soit tu vas répondre
Correctement aux questions
Soit tu vas virer
Pour 15 000 francs
Les bancos
15 000
15 000
15 000
Tu les fais cher toi
On est loin
Du prix encore
Génial
Toi
Oncle de pied
T'as dit 10 000
Ouais dans les alentours
Dans les alentours
De 10 000
10 000
Y'a combien de 0,4 ?
Guimauve
Si elle est encore là
Ouais je suis là
J'espère que je vais pas
Te décevoir dans ma réponse
Mais je dirais
5-6 000 francs
Ah bah d'accord
Ça c'est un truc
D'occasion pour moi
Bah ouais
Ça c'est clair
Non mais tout dépend
Si tu prends un matériel
De haute gamme
Ou un matériel
De gamme moyenne
Ouais mais de toute manière
Tout ça dépend
De la perfection
Que vous pouvez
Avoir pour en jouer
C'est-à-dire ?
Alors on va demander
Un trou noir
Est-ce que tu pourrais
Expliquer ça Gérard ?
Non non mais on va finir
Au moins répéter
Au moins répéter ta phrase
Parce qu'elle était très forte
Tout ça dépend
De la perfection
Que vous avez
Pour taper sur un synthé
Qu'est-ce que t'entends dire
Par perfection Gérard ?
Non non mais
Y'a y'a
C'est pas évident
C'est un genre de piano
Y'a quand même
Les touches noires et blanches
Donc faut bien savoir
Prendre dessus
Y'a peut-être une question
IRC
Sur IRC
Ils me disent
Qu'ils connaissent
Saint-Michel
Saint-François
Mais ils connaissent pas du tout
Synthétiseur
Bon bah ça
Trou noir
Oui donc
Bah moi Gérard
Ouais t'es quand même
Pas loin du vrai
Les synthétiseurs
T'en as à bas prix
Bon 150 francs
C'est n'importe quoi
Mais t'en as à 3500
Et puis ça peut aller
Jusqu'à 50 000 francs
T'as Jean-Michel Jarre
Qui avait un synthé
Qui coûtait 750 000 francs
Dans ses débuts
Aux époques
Des premiers albums
Oh mais
Qui c'est
Qui s'amuse avec ça là ?
C'est bizarre
Quand on se gueule
Ça s'arrête
Ah bah oui
Mais il peut pas t'entendre
Les jouets
Non ouais
Je me doute
D'où que ça devient
Olivier
Ça peut pas être Olivier
Gérard il est là
Attends ouais ouais
Dégage
Non non dégage
Je sais qui c'est
Qui a la roue
Non non
Non non
Dans ton studio
Y'a qui ?
Y'a un synthé
Y'a Max et Jean-Marie
Qui viennent d'arriver
Mais pas du tout
Ils sont en train justement
De préparer la soirée
De la loco demain
Donc Trou noir
Oui
Ils viennent de répondre Gérard
Donc toi tu me dis à peu près
Bah vas-y
Y'en a à tous les prix
Ça commence
Ça commence de 3 500
Jusqu'à 750 000 francs
Pour le Fairlight
Que Jean-Michel Jarre
A utilisé pour la Chine
Par exemple
C'est comme les prostituées
Non non non
Attends
Parce que là
Faut quand même pas confondre
Synthé et pute
Et une pute
Parce que la pute
A 100 balles
T'as quelque chose
Dans un synthé
Pour 100 balles
Tu l'auras pas
Et puis surtout
Elle fait pas le même bruit
Ma pierre elle balle pas
Non mais
Donc c'est Trou noir
T'aimes bien un peu
Jean-Michel Jarre quoi
Ah bah oui
Tiens
Je vais même te dire un truc
J'étais le voir
A un concert
Que t'étais même peut-être
Pas au courant
Le 18 septembre
Ça se passait
Dans un salon
D'une marque informatique
Que je vais peut-être
Pas citer à l'antenne
Ouais je sais
Il avait fait un salon
Au mois de septembre
Ouais c'était à la porte
De Versailles
Moi je l'ai vu
C'était sur Invitation
Alors donc
Attends
Je vais te
Redonne-moi le
Ah ouais
Parce qu'en fait
Gérard nous a mis
Un CD de Jean-Michel Jarre
Oxygène
Donc toi
Toi tu dois connaître
Parce que comme ça fait
Sur synthé
Tu connais à peu près
Tous les
Tous les oxygènes
Il y a oxygène
Il y en a beaucoup
J'ai l'oxygène
J'ai même
J'ai tout
Ouais ouais
J'ai même l'oxyde de carbone
Il y a tout
Non non non
Non mais attends
Trou noir
Je te parle
De Jean-Michel Jarre
Parce que moi
Moi une question
Que je voulais poser
Et c'est dommage
Parce qu'elle est pas
Elle sera pas dedans
Mais on
Donc tu la poses pas
Bah la pose pas
Si si
On va la poser
Donc pour moi
Pour vous
Est-ce qu'un synthétiseur
Comme Jean-Michel Jarre
Parce que Trou noir
Toi qui l'as
Qui l'as vu
A peu près jouer
Oui
Donc t'as vu
Qu'il joue avec des gants
Il a un genre de casque
C'est pour pas se brûler
Ah non non
Quand il joue avec des gants
C'est quand il joue
Avec l'harpe laser
Ouais bah
Donc le harpe laser
Donc c'est branché
Aussi sur santé
C'est branché sur synthétiseur
Mais c'est très technique
Je vais pas faire
Un cours de technique
À ce temps-là
Non non non
C'est pas le but du débat
Non non mais
Je te pose la question
Parce que toi
Je sais que
Apparemment
T'es un fan de
Jean-Michel Jarre
Comme moi
Donc c'est pour ça
Que je voulais te demander
Ah bah oui oui
Non mais quand il met les gants
Et les lunettes
C'est pour l'harpe laser
C'est pas de la frime
C'est parce que l'harpe laser
C'est quand même
Des lasers assez puissants
Et ça brûle un petit peu
Et puis bon
Les lunettes
Pour la protection des yeux
Et ça déclenche des synthés
Par un système midi
Mais c'est assez compliqué
Ok
Gérard
Oui
C'est Machat
Je voulais te poser une question
Est-ce que tu penses
Que le synthétiseur
C'est la musique du futur ?
Ça
À l'heure actuelle
Je ne sais pas
Parce qu'il faudrait
On est pas dans le futur encore
Non mais il faudrait voir
S'il y a des personnes
Qu'on a chez eux
Et qui pourraient
Nous le confirmer
Ah bah moi
J'ai des synthés chez moi
Bah ouais
Non mais
Par exemple
Des gens
Qui ont l'habitude
D'en jouer
Ou qui ont déjà été
Dans le futur
Et qui savent
Si ou non
Les synthés existent là-bas
Dans le futur
Je ne sais pas
Mais certainement oui
Donc
Je vais poser
La quatrième question
Et vous allez
Y réfléchir
Y réfléchir
Et on s'écoutera un disque
Donc connaissez-vous
Le fonctionnement
D'un synthétiseur
Et on va s'écouter
Gilbert Stradus
Avec
Au bébé
Mets-toi
De la crème
Sur les genoux
Toujours nous appeler
Au 0875000
Et donc
Il est 1h du matin
Et toujours
Le site internet
Donc
www.fr
www.fr
Et il y a
Environ
Je vais demander
Aux gens de l'IRC
De me dire
Combien il y a de connectés
Parce que je ne peux pas le voir
527 connectés
Ah c'est pas mal déjà
527
Déjà
La semaine dernière
Au premier débat
On était
On n'était même pas
A tout ça
On est meilleur
Et on aura peut-être
Une surprise
D'ici une dizaine de minutes
D'ici 10 minutes
On aura
Un spécialiste
Du débat
Sur le synthé
Donc la personne en question
Donc
Jean-Michel Jarre
Et par contre
S'il y en a
Qui s'y connaissent
En synthé
Donc n'hésitez pas
A nous appeler
Manu se fera un plaisir
De me gérer ça
Pas de problème
Je suis là
Je vous attends
Donc
Quatrième question
Connaissez-vous
Le fonctionnement
D'un synthé
Mais je vais répondre
Quand même à la question
Là tout à l'heure
Combien peut coûter
Un synthétiseur
Donc on va reprendre
Trou noir
Guignol
Machette
Ongle de pied
Tupu
Et citron
Donc
J'ai vu
Avec Jean-Marie K
Comme il est
Comme il est parmi nous
Là dans les studios
Pour une soirée spéciale
Une soirée spéciale
Anniversaire
Du Star System
Donc
Que j'y ai demandé
Donc en fin de compte
Si
Selon
Ce que vous voulez faire
C'est vrai
Que ça peut varier
Jusqu'à
750 000 francs
Ah ouais
Le synthé
Ouais ouais ouais
Et bah tu vois
Sinon
Sinon on peut tourner
Entre 5
Et 3 000 balles
Et en euros
5 balles ?
Non non
5
Entre 5 000
Et 3
Entre 3 000
5 000
Et 750 000 francs
Pour
Là 750 000 francs
Faut quand même
Avoir
Les moyens
En euros
Ça fait combien Gérard ?
Ça j'en sais rien
Mais Gérard
Gérard moi je voulais te demander
Ça fonctionne à quoi un synthé ?
C'est de l'essence ?
C'est du
Non non
Truc électrique
Ton micro
Ton micro devant la bouche
Non non c'est électrique
C'est électrique ?
Ça marche à pile
Non non ça marche pas à pile
Désolé
Le mien marche à pile
Donc
Ouais bah tiens
Il fonctionne à pile
Mais le mien il fonctionne pas à pile
Le mien j'en ai pas
Donc connaissez-vous
Le fonctionnement d'un synthétiseur ?
On va demander à Citron
Oui
Ouais bah t'appuies sur on
Ouais
Et après ça joue
Ah ouais
D'accord
T'appuies sur on
Après ça joue
Donc tu crois que
Alors tu vas
T'appuies sur on par exemple
Moi j'appuie sur le Minitel on
Et puis j'attends que
Que le Minitel il fonctionne
Bah voilà
Après tu joues
Tu joues avec tes doigts
Bah alors tu dis
J'attends qu'il fonctionne
Non je dis après tu joues
Bah ouais mais là
Tout le monde a entendu dans le studio
T'as dit
J'appuie sur on
Et après j'attends que ça joue
Ah non et après j'ai dit
Après ça joue
Après ça joue
Tu joues quoi
Donc
Par contre
J'ai eu un
Un petit sondage là
En même temps
Donc on va
On va prendre Tupu
Juste après
La question
Que pensez-vous
Des synthétiseurs
Donc il y a
40%
40% des gens
Qui ont
40% des gens
On dit
Qu'avec
Leur mode
103
Alliant
Plus vite
Allez plus vite
Allez plus vite
C'est pas ça du tout
C'est 40%
On pense avec
Avec leur synthé
Il y en a
Avec leur mob
Leur mob 103
Allez plus vite
Donc je vois
Pas le rapport
Là je vois pas le rapport
Avec le synthétiseur
Tu te sers du synthé
Comme kit
Non non mais attends
Et une mob
Tu sais c'est quoi
C'est une mobilette
Ok
Eh bah oui
Bon alors
60%
Non tu permets
60% des gens
On dit qu'ils aimaient
Qu'ils aimaient bien
Mais que
Jean-Michel Jarre
C'était de la merde
En boîte
Alors là
J'ai jamais vu
Jean-Michel Jarre
En boîte
Bon ça
Pour moi
Je continue même pas
Mais si
Après il y avait
Jean-Michel Jarre
Mais c'était
Non non
Non non
Non non
Ça tu vois
Hop
Voilà
Voilà
On rigole bien quand même
Enfin
J'ai un air d'emploi
Gérard deux secondes
Je voudrais préciser quelque chose
Aux gens de l'IRC
JMJ
JMJ
C'est Jean-Michel Jarre
C'est pas les journées mondiales
De la jeunesse
Merci
Voilà
Alors donc
Tu pues toi
Moi je connais pas exactement bien
Le mode de fonctionnement
Mais je pense que ça va être
Une histoire de multiplexeur
De bascule
De résistance en parallèle
Et de polymultiplier indexé
Oh la la la
C'est le genre de truc
Qui marche avec
Non mais attends
Le synthé
Tu le branches sur courant
T'as même pas besoin
D'une table de mixage
Tu branches ça
T'essayes de
Avec les enceintes
Mais en fait
Faut avoir des bonnes enceintes
Parce que si tu prends
Des petites enceintes de caca
Là je crois que tes enceintes
Elles crament
Tout à fait
Même ton appareil
Il crame derrière
D'accord
Ça dépend de ce que tu utilises
En série
Ouais mais
De toute manière
On va pas préciser les marques
Non mais ça dépend
Ça dépend si tu le branches
Dans le synthé en dérivation aussi
Ça c'est important
Ouais
Ok
Tu vois la différence
J'irai en série en dérivation ou pas ?
Non
Je t'expliquerai après
On va écouter les questions
Sur l'IRC
Il y a Ziwi
Qui te demande
Vu que sur son téléphone
Il a des touches noires
Et des touches blanches
Est-ce que son
Et qu'il fait des sons
Quand il appuie
Est-ce que c'est un synthétiseur ?
Non
Si c'en est un
Ah bon
C'est un synthétiseur
Par exemple
T'appuies sur une touche
Sur un téléphone
C'est un synthétiseur pour toi
Bah non
N'importe quoi
Ça remplit
Ça remplit le rôle
D'un synthétiseur
Mais oui
Les touches noires
Les touches blanches
Ça fait de la musique
C'est un synthé
Alors attends
Moi j'ai un téléphone
Quand j'appelle quelqu'un
Ça me fait pas de musique
Comme tu me dis
C'est très simple
Les auditeurs
Ils ont des téléphones
Ils ont qu'à essayer
De nous faire un morceau
Avec leur téléphone
Ouais bah on va voir
Non c'est pas un synthé
Si c'est un son de synthé ça
C'est bon c'est bon
C'est bon arrêtez
Arrêtez
Arrêtez
Arrêtez
J'ai reconnu
Ils jouent la marseillaise quand même
Putain mais hey
Tu vas où ?
Donc c'est bon tu vois
Ils t'ont fait
Ils t'ont montré
Ils t'ont fait l'exemple que
Oncle de pied
On peut se servir d'un téléphone comme synthé
Moi Gérard
J'ai jamais eu l'occasion
De toucher un synthé
Donc je peux vraiment pas te dire
Comment ça marche
D'accord
Ma chatte
Ouais alors c'est tout simple
Tu prends ton synthé play school
Tu le branches sur le gris peint
Tu mets une biscotte dedans
Dès que t'envoies la biscotte
Ça marche
Et si je mets ta connerie
Dans le gris peint
Dans le gris peint
Est-ce que
Est-ce que ta connerie
Va ressortir ?
Non je crois que ça marchera pas Gérard
Non ça marche pas
J'ai un synthé play school
Si tu veux
Bon j'ai plus de pied
J'ai plus de courant chez moi
Bon je m'éclaire la bougie
Est-ce que je peux
Attends t'as plus de courant
Et tu permets de nous appeler
Abrouti
Bah oui mais je t'appelle
D'un téléphone play school
Que je branche
Sur le frigo
C'est ça allez
Bah ouais le frigo
Ça marche au courant
Espèce de petit con
Non il pédale
Allez allez allez
Il peut très bien avoir
Des vietnamiens chez lui
Qui pédalent
C'est ça
Guillemove
D'après ce que je sais
Je crois que c'est
Des composants électroniques
Tu vois c'est des puces
Intégrées au synthé
Qui sont reliées
Par les électrodes
Au système central
Tu peux appuyer
Sur les touches
T'as les sons
Qui se forment
A l'aide d'un amplificateur
D'écoute
Ouais tout à fait
N'importe quoi
Elle a du coup quoi
Trou noir
Désolé
Moi je connais
Le fonctionnement d'un synthé
Mais tu veux savoir quoi
Exactement comment ça marche
Bah oui
Bah tu branches sur le courant
Tu branches un ampli
Une table de mixage
Des bonnes
Enfermes
Comme tu dis
Et t'appuies sur
Bah voilà
Mais moi ce que
J'aimerais bien comprendre
Gérard
J'aimerais bien que tu expliques
Aux auditeurs
Et ainsi qu'à moi-même
C'est comment
En appuyant sur une touche
Tu fais un son
Mais ça c'est
C'est à toi de le gérer
Pourtant vous en avez un
Synthé
Bah oui mais ça m'explique
Comment ça marche
Mais alors
Mais de toute manière
Vous avez différents sons
Donc c'est à vous
De choisir
Ce que vous voulez
Non mais
Je vais te l'expliquer
Non mais attends
Attends
Attends
Toi ça fait combien de temps
Que tu travailles à la radio ?
Je sais pas
Mais je vois pas
Non mais attends
Depuis le temps
Que tu es à la radio
Le synthé
Tu le connais pas ?
Oui mais moi
J'en ai déjà fait
Mais attends
Mais Max le matin
Lui ça fait plus longtemps
Qu'il est à la radio
Il connait comment
Il fonctionne le synthé
Alors toi
T'es à moitié cab
Bah non mais je le sais
T'es comme les auditeurs
T'es une cab
C'est tout
Vous avez entendu les auditeurs ?
Gérard
Gérard
Gérard
Oui
C'est Machat
Je voulais savoir
Si tu te foutais le synthé
Dans le cul
Est-ce que ça le faisait marcher ?
Alors toi Machat
Tu dégages
Au revoir pour toi
Bonne nuit
Ça y est
Terminé pour lui
Liquidé
C'est même pas la peine
Qu'il revienne sous un autre nom
Rasé
Direct
Je dégage Machat
Alors vas-y
Rien
Continue
Donc qu'est-ce qui vous plaît
Dans un synthé ?
Son cul
Oh non
Là sérieux
Fille d'air
Fais gaffe
Parce que tout à l'heure
Tu as dégagé plus vite
Chez toi
Qu'autre chose
D'accord
On va demander à Trou Noir
Qu'est-ce qui me plaît
Dans un synthé ?
Je parlais de cul
J'ai raison
C'est sensuel
Un synthé
C'est sensuel
Non mais qu'est-ce
Non mais qu'est-ce
Qu'est-ce qui te plaît
Toi dedans ?
Ah bah moi
Qu'est-ce qui me plaît
C'est les sons
C'est tout
Mais moi je te dis
Je suis joueur de synthé
Donc c'est les sons
C'est fabriquer ses sons
Faire sa musique
Et tout ça
Moi je dis
Tu peux
Oui
Moi je veux dire
Que ce qui est bien
Avec un synthé
C'est que vraiment
T'en fais ce que tu veux
Il t'obéit au doigt
Et à l'œil
Tu le manipules
C'est ça qui est vraiment
C'est ça qui est un peu jouissif
Tu vois
Non mais attends
Le synthé
Tu ne le manipules pas
C'est toi
C'est toi
Avec tes doigts
Avec tes mains
Qui le fais fonctionner
Ne me dis pas de conneries
Il y a des programmes aussi
Le synthé
On appuie sur une touche
Il marche tout seul
Ouais mais ça
Peut-être que
De toute manière
Il y aura sûrement
Une question là-dessus
Que je vais faire
Il y a peut-être
Une petite surprise
Bah voilà
La surprise que t'avais annoncée
Est arrivée
Donc tu peux dire bonjour
Au monsieur
Que
Tu peux dire bonjour
Au monsieur
Mais tu idolâtres
Donc JM
Oui bonsoir
C'est Jean-Michel Jarre
Oui bonsoir
Bonsoir à tous
Donc j'ai écouté le débat
Actuellement
Bon en jouant
Quelques petits morceaux synthétiques
Et j'en déduis
Que monsieur Gérard
Dit de Suren
Avait raison
Puisque
Un synthétiseur
Fonctionne bien
Par courant électrique
Et non pas à pile
Comme j'ai pu entendre
Dans ce débat
Et ma foi
Si vous voulez
Que je réagisse
Sur vos questions
Il n'y a pas de problème
Déjà je voulais quand même
Remercier Jean-Michel Jarre
D'être délégué
Avec nous ce soir
Oui je sais
J'ai un emploi
Le temps très chargé
Mais je me suis
Alors donc
Une question
Que je voulais te poser
Combien coûte un synthé ?
Un synthétiseur
Peut coûter environ
150 000 francs
C'est un bon synthé
C'est le synthé
Dont tu te sers Jean-Michel
Quand tu fais des concerts ?
Voilà
Non mais ça c'est
Le mien je le paye
Exactement 20 millions de francs
Mais un synthétiseur
D'occasion
150 000 francs
D'accord
Ok
Alors
Oui
Ça fait cher quand même
Je veux dire pour moi
Je sais que je pourrais
Jamais me payer
Un truc comme ça
Non mais donnez bon nom
Quand vous posez des questions
Excuse-moi
C'est Tupu
Je sais que bon
Quelle que soit
Ma future vie
Je pourrais pas me payer
Un truc comme ça
C'est beaucoup trop cher
Oui mais c'est normal
Vous vous utilisez
Du matériel de merde
Moi je me sers
De produits
Qui sont professionnels
Il y a une question
Hier c'est
Une question pour
Jean-Michel Jarre
Les gens de l'IRC
Se demandent
Si c'est le frère
De Maurice B. Jarre
Je vois pas du tout
Le rapport avec
La question sur les synthés
Excuse-nous Jean-Michel
Pour la question
Il y a pas le mal
Il y a pas le mal
Donc la question
Qu'on va poser aux auditeurs
Donc qu'est-ce qui vous plaît
Dans un synthé
Donc on va demander
Un citron
J'ai dit son cul
Alors moi ce qui me plaît
C'est que tu peux jouer
De la trompette
Sans avoir besoin
De savoir jouer
De la trompette
Je vois pas
Je vois pas tellement
Le rapport avec
Tu mets sur le programme
Trompette
Et tu joues du piano
Tu pianotes
Et ça fait de la trompette
Ah bon
T'as le son de trompette
En fait
Tu peux faire de la harpe
Tu peux faire des maracas
Tu peux faire du triangle
Tu peux faire
Je sais pas moi
Du piano
Tu peux faire du synthé techno
Du synthé moins techno
Non mais
Et là je pense que
Là t'es en train de nous citer
Pas mal de trucs
Donc ça
Je pense que
Jean-Michel pourra nous répondre
Là-dessus
Sur techno
Je me demande
Si on peut faire quelque chose
De potable
Même en house
En house
Oui c'est possible
Effectivement sur un synthétiseur
Mais techno
Je ne pense pas
House
Oui plutôt oui
Après on rajoute des voix dessus
Et on peut faire quelque chose
Exceptionnellement bien
Oui tout à fait
Ok
Tu pues ?
Moi je viens de te répondre
Je te l'ai dit tout à l'heure
Attends
T'as répondu
Ongle de pied
Ongle de pied est parti se coucher
Excuse-moi
Et entre temps
Donc j'ai rappelé
Comme t'as fait ton annonce tout à l'heure
Pour des gens qui s'occupaient de ça
Il y a Bernard
Qui est responsable d'un magasin
Il était sur Minitel
Et on l'a rappelé
Bernard
Voilà
Allo
Bonsoir
Bonsoir Bernard
Bonsoir
T'appelles d'où ?
De Saint-Etienne
Et on écoute Fun sur
Sur une radio pareil
Sur la radio
Sur la radio ouais
Non mais je demande à Manu la fréquence
Attends bouge pas je te trouve ça
Bah j'essaye
Donc bah
Ma chatte elle est partie
Game over
Moi je trouve
C'est l'esthétique
C'est vraiment joli
En plus genre
Faut que ta chatte elle est à l'accueil non ?
Gare à celui qui s'amuse à dire des conneries
Parce que ça va virer
Il va casser
Moi j'ai pas dit
J'ai pas dit pour lui Gérard
Donc game over
Ouais moi je t'ai dis
Donc c'est l'esthétique de la machine
T'as plein de touches
C'est vachement joli
C'est très esthétique
T'as des touches noires
Des touches blanches et tout
Ouais mais c'est ce que j'ai dit tout à l'heure
Je pense
Mais c'est toujours pareil en fait
C'est Bernard là
Oui Bernard
J'ai pas entendu la fréquence de Saint-Etienne
Non moi non plus
La fréquence de Saint-Etienne
86.3
Et non c'est 104.7
Ouais ça a changé
Ah mince
Bravo Manu
Bravo Manu
Bravo Manu hein
Je sais pas si ça a changé
Si ça a changé
Tu demandes à ce qu'on
Mette ton tableau à jour
Donc Bernard
Oui donc moi je tiens un magasin
De Saint-Et plus
A Saint-Et
Et je tiens à dire
Qu'il n'y a plus que des touches
Noires et blanches
Qu'on peut les faire
De couleurs différentes
Les gens peuvent demander
Aujourd'hui de faire des synthétiseurs
A la couleur dont ils veulent
Comme on fait les matriculations
Des voitures
Donc si on veut avoir
Les touches jaunes
Et je sais pas moi
La place des touches noires
On peut avoir les touches noires
Oranges
Non mais Bernard
Oui
Quel est le
Je vois pas le
Le rapport avec la question
Non parce que
T'as l'air
Non mais Bernard
Bernard
Bernard
Quel est le rapport
Avec la question
Tu peux m'appeler Nanar
Enfin bon comme Bernard
Non non mais
Non non mais
Je vois pas le rapport
Parce qu'on parlait
Des touches noires
On a
C'est pas parce que j'ai dit
Qu'il y avait des touches noires
Et blanches
Sur un Saint-Et
Je vois pas le rapport
Avec le thème du
Le thème du débat
Sur les Saint-Et
Non mais c'était juste
En jaune
En jaune
Ou
Orange
Orange
Ou bleu
Ou vert si tu veux
C'est pas grave
C'est Jean-Michel
Je voulais préciser que
Moi je connais
C'est Bernard
Pardon
C'est Bernard
C'est Bernard à l'appareil
Ouais bah Bernard
Tu te calmes
C'est le passé versé
Jean-Michel avait
Jean-Michel avait déjà acheté
Du matériel chez moi à l'époque
Quand il travaillait
Oui c'est vrai
Tu sais on se connait bien
Moi je voulais préciser d'ailleurs
Que bon
Moi je connais
Des joueurs de synthétiseur
Qui sont racistes
Et qui jouent
Que des touches blanches
Il fallait le préciser ce soir
C'est vrai
C'est bien placé pour
Pour le
C'est pour ça
C'est pour ça que des fois
On m'a demandé
Est-ce que les touches noires
Soient jaunes ou oranges
Voilà
Les jaunes c'est des chinois
D'accord
Non mais on fait pas du monde
Là-dessus
Donc moi
Il y a une question
Il y a une question IRC
Une question IRC
Non non pas du tout
Ils ont marre des synthétiseurs
Ça les fait chier
Ah bah ça les fait chier
Qu'ils arrêtent
Et puis qu'ils aillent se coucher
Gérard
Ça me prend les vacances
Gérard
Oui
Oui donc c'est Bernard
Parce que moi je suis
Donc je tiens un magasin
Où je ne fais que du synthé
Et de l'orgue
Et j'ai entendu quand même
Beaucoup de choses
Assez absurdes ce soir
Heureusement que Jean-Michel Jarre
Est venu intervenir
Alors il est vrai
Qu'il y a des synthés
Qui peuvent coûter 150 francs
Mais bon ce sont des synthés
Qui ne contiennent plus qu'une note
Oui mais ça existe
Oui mais seulement
Tu peux choisir la note
Do ou ré
Mais bon ça ne te fait pas
Non plus le
Voir le la
Le la
Et effectivement
Il y a des synthés
Qui coûtent très très cher
Alors il y a aussi
Ce qu'on appelle
Les systèmes de disquettes
Incorporés en fusion
C'est-à-dire que là
Par contre c'est directement
Avec un ordinateur
Et là ça coûte
Oui on parle en euros
Ou pas non ?
Non pas ce soir
Bon si Jean-Michel est d'accord
On peut parler en euros
Gérard on peut parler en euros
Oui on peut parler en euros
Ce soir c'est important
Bon bah d'accord alors
Je peux préciser
Ça vaut à peu près
150 000 euros
Donc on multiplie par 6
Ça vous donne
Bon c'est pas très très cher
Il y en a pour 250 000 francs
D'accord
Ok
Donc prochaine question
Donc
Que peut-on rajouter
Comme musique
Sur un synthé ?
Ah c'est une bonne question ça
Pour 250 000 francs
Ça peut paraître cher
Mais bon
Mais
Oui
C'est Jean-Michel Gérard
Je peux répondre à cette question
Oui
Peut-être que Bernard
A pas terminé la question d'avant
Je pense
Non non mais c'est bon
On va pas s'éterniser
Sur une question
Ça me semble cher
250 000 francs
Mais c'est vrai qu'il y a des gens
Qui viennent acheter
Pour 250 000 francs
Non mais attends
Il revient sur la troisième
Alors qu'on est déjà
A la septième
Ah Bernard
Non mais c'était juste
Pour préciser quoi
Non mais non mais
Il y a un curé qui est venu
Qui voulait acheter un orgue
Parce qu'on parle des synthés
Mais on parle pas des orgues
Mais qu'est-ce que j'en ai à foutre moi
Des curés
Des
Des curés
Qui a des camarades
Qui a des coups qui vendent
C'est tout
Gérard c'est Jean-Michel
C'est vulgaire
Oui c'est vrai c'est vulgaire
Oui donc
Vous posez la question
Sur les
Avec un synthétiseur
On peut rajouter des bruits
De paix
De rot
Ou de tout ce qui s'ensuit
Voir une chiasse
Ou quelque chose
Dans ce genre là
On peut faire tout
Avec un synthétiseur
Des pets de fous
Oui d'accord
Des pets de fous
Ok
Bernard
Bernard
Bernard
Oui non mais
Je sais pas
Je suis un peu déçu
Parce que j'ai l'impression
Que le débat
Bon moi je suis
Un responsable d'un magasin
Qui ne fait que du synthétiseur
Et avec ce débat de ce sort
Malheureusement
Vous ne donnez pas
Une belle image
De cet instrument
Qui est comme l'avait
Très bien dit
Un de vos réalisateurs
L'instrument du futur
Et j'ai l'impression
Que vous en parlez
Comme si c'était
Une vieille harpe
Alors que
Je trouve ça un peu dur
Pour tous les fans
De synthétiseurs
Non mais Bernard
On va essayer de se rattraper
Gérard il faut que tu remontes
Le truc là
Non mais le problème
C'est que bon
C'est bien de faire un débat
Sur les synthétiseurs
Mais quand on
En animateur
Quand on n'est pas
Le sujet
Je pense qu'il vaut mieux
Non je connais pas
Le synthé
Je connais pas
La musique du synthé
Non mais vous connaissez
Non mais je connais pas
La musique
Non presque pas
Mais tout à l'heure
J'entendais
Vous voulez savoir
Comment fonctionnaient
Les sons de synthé
Je veux dire
Et alors
Parce que
C'est moi qui fais
Les débats
C'est tout
Oui mais d'accord
Mais si ça vous plaît pas
Dans ce cas là
Vous faites une chose
Vous raccrochez votre téléphone
Et vous changez de radio
Vous écoutez
Vous écoutez ça chez vous
Et c'est tout
Ça sert à rien
De réagir comme ça
Guimauve
Je pense que ce débat
Peut apporter beaucoup
Pour les novices
En la matière du synthétiseur
Complètement
Jean-Michel a raison
Guimauve
Vous demandez des réactions
Quand même de spécialistes
Moi personnellement
Je pense qu'il n'y a pas besoin
De rajouter d'autres instruments
Parce que le synthé
C'est quand même quelque chose
D'assez complet
Non mais comme musique
Ouais
Comme musique
Guimauve
Parle devant ton téléphone
Ma chérie
Mais j'ose pas
Je suis un peu inquiétée
Ouais mais fais-le quand même
C'est encore Bernard là
Parce que
On
On parle des synthés
Mais on peut y faire des violons
On peut mettre des violons dedans
On peut mettre toutes les machines
On peut mettre d'autres instruments
Pour en faire plus qu'un
Aujourd'hui il y a des gens
Des artistes
Qui vont mettre par exemple
Un bruit de
Un bruit d'orgue dans le synthé
Un bruit de violon
Et qui vont faire des violons
Avec des synthés
Donc avec un synthé
On peut faire un morceau
Comme s'il y avait
150 000 instruments
Et 250 000 personnes
Je veux dire
Non mais à ce compte là
A ce compte là
Bernard et Jean-Michel
Je pense qu'ils seraient d'accord avec nous
C'est qu'il faut avoir une remorque
Une remorque pour synthé
Oui
C'est une remorque
Américaine d'ailleurs
Exceptionnellement pardon
Dans les magasins
Qui vendent des synthétiseurs
Bah chez moi par exemple
Mais tu vends des remorques
Bernard ?
Ah ça c'est plus
Oui alors le problème
C'est pas trop de pub Bernard quand même
Je lui en ai déjà acheté
Plus ou moins
Parce que Gérard
Il va te choper ça
Non mais
Tu pues
Oui
Toi même
Oui c'était quoi ta question ?
Je suis désolé mais j'ai
On parlait des remorques
Des synthés
Que peut-on ajouter
Comme musique sur un synthé ?
Bah je pense qu'on peut
On peut rajouter tout ce qui nous passe
Par la tête quoi
Non non non
Une sonnerie de voiture
Enfin une sonnerie
N'importe quoi non ?
Moi je connais pas très bien
Vous savez
J'aimerais bien
J'aimerais bien connaître un peu plus
Citron ?
Oui
Tu peux mettre des animaux
Qui font des bruits
Ou tu peux mettre
Le bruit de la mer
Ou tu peux mettre ce que tu veux
C'est vrai
C'est tellement facile
Elle est toute naze elle
C'est pas possible
Il faut la vivre elle
Elle ne connait rien
Non moi dans mon magasin
Saint-Etienne
Pas de marque
Bernard ça commence à bien perdre
Parce que je voudrais
Quoi ?
Je vais préciser Gérard
Car moi j'ai besoin
De faire un peu de pub
Pour acheter des synthés
Dont je me sers
Ouais mais toi
Toi Jean-Michel
C'est pas pareil
Donc on va passer
A une autre question
Non mais Gérard
T'es en train de bâcler le débat là
Non mais c'est une erreur
Parce qu'il y a des mecs
Qui écoutent
Et qui sont intéressés du synthé
On a des professionnels
En plus on a Jean-Michel Jarre
Quand même
Ouais Bernard est là
Et on attend lui
Lui pour l'instant
Il est en train de me sortir
Son truc de Saint-Etienne
On en a rien à foutre
A Saint-Etienne
Vous pouvez m'appeler Jean-Mich
Bon
Bernard
Oui
Il faut que tu donnes envie
A Gérard
De continuer le débat
Et d'intéresser les gens du synthé
Moi ce que je peux dire
C'est que je l'invite
De venir à mon magasin
A Synthé Plus
Magmar
De toute manière
J'irai jamais à Saint-Etienne
Allez hop
Quel genre de musique
Peut-on jouer sur un synthé ?
Ah bah du synthé
Qui ?
Bernard du synthé
Bah tout le monde
Bah d'accord
On appelle ça
Une musique synthétique Gérard
Voilà
En fait c'est quoi
Le nom de ton magasin ?
Non mais attends
Le nom du magasin
Si vous voulez
Des renseignements
Vous attendez hors antenne
S'il vous plaît
Merci
8 Avenue du Mer
Ouais bah alors Bernard
Bonne nuit
Gérard
A quel coin ?
Hop
Pour l'adresse c'est très bien
Lui tu peux l'envoyer se coucher
Synthé Plus
8 Boulevard du Mer
D'accord merci
Avenue du Mer
Avenue du Mer pardon
Non mais c'est bien pour lui
Hop
Terminé pour lui
Comme ça il comprendra
Sa douleur aussi celui-là
Ça en fait déjà
Trois
On me souvient
Trois dans un premier débat
Faut le faire
Gérard c'est trop noir
Oui
Oui et tu m'as pas laissé répondre
A la question tout à l'heure
Tu m'as un petit peu oublié
A la première
A ta question d'avant
Que peut-on
Que peut-on rajouter
Comme musique sur un synthé ?
Ouais bah moi je voulais dire
Qu'on peut pas rajouter de musique
Sur un synthé
Un synthé ça sert à rajouter
Par dessus de la musique
Normalement
Non c'est faux monsieur
Bah si
C'est tout à fait
Maintenant
On prend les vieux disques
Pas tous en même temps
C'est pas
C'est pas un champ de bagarre
Maintenant
On prend les vieux disques
On les sample
Ça c'est des boîtes à rythme
Actuellement
C'est des boîtes à rythme
C'est des boîtes à rythme
C'est des boîtes à rythme
C'est même pas la musique électronique
En elle-même
Non non ça y est c'est bon
On se calme
Parce que moi je tiens un magasin
Également à cette année
Qui s'appelle Rythme Plus
Non mais ça y est
On se calme
On se calme
C'est Bernard ou quoi là ?
Oui
Boîte à rythme plus
C'est encore lui ?
J'avais repris un autre
Mais je sais pas
Je me suis fait blouser quoi
C'est quoi la rue ?
Il doit repasser sur les lits
7 avenue du maire
C'est même pas la peine
Il parlera pas lui
Parce que
Je lui laisse pas la parole
Donc la question suivante
Maintenant c'est
Quel genre de musique
Peut-on jouer
Au santé ?
Au santé ?
Oui
Bah sur un synthétiseur
On peut jouer
On peut jouer à la musique synthétique
Je viens de vous le dire
C'est qui ?
C'est Jean-Michel
C'est à dire plusieurs styles de musique
On peut jouer de la techno
Comme de la house
Comme du rock
Comme du rap
Oui de la house
Si vous voulez
Ok
Au standard
Oui un autre professionnel du synthé
Qui s'appelle Tristan
Et j'ai pas eu le temps de lui demander
D'où il...
Ah je le connais aussi
Bonsoir
Bonsoir Tristan
Bonsoir
T'appelles d'où Tristan ?
De Lyon
De Lyon d'accord
Et tu fais quoi ?
Je travaille également
Dans la musique
Je travaille pour un magasin
Et la fréquence de Lyon ?
C'est quoi le nom de ton magasin ?
Non non mais c'est
On va pas commencer comme ça
Musique plus à Lyon
Oui voilà
Je connais bien lui aussi
C'est quoi la rue ?
Bon
Citron
Guillaume
Je sens que pour vous
Ça va mal s'écarmer
On n'a rien fait
Alors nous on voit
Également des guitares électroniques
Non mais c'est pas
Je crois que c'est pas
Le thème du débat
Donc c'est quel
Quel jour
On parle de la musique
On parle de synthé
Mais c'est la musique électronique
Et il y a également
Des saxophones électroniques
Des
Même des accordéons
Des accordéons électroniques
Il y a même aujourd'hui
Le nouveau
Comment on appelle ça
Les
On se fout là
L'harmonica électronique
Les putain bec électronique
Également
Voilà donc
Bon bah moi je vous invite
Tous à venir à
Où ça ?
Non non il n'y a pas
D'où ça
Pas de pub
Tristan fais gaffe
Gigmove
Moi je vous invite
A Musique Plus à Lyon
Gigmove
Oui mais en fait
Je ne coupe pas la parole
Il est en train de parler
Non non mais
Maintenant tu réponds
Tu réponds à la question
Je te demande de répondre
D'accord
C'est celui du général Leclerc
Alors lui
Tristan terminé
Lui
Au revoir Tristan
Salut
Ça en fait 4
C'est bien
Continuez comme ça
Bien manu
Contre le deuxième débat
Il n'y en aura pas
Ah tiens c'est nous
Attention
Je dirais
Toutes les
Toutes les personnes
Qui sont intéressantes
Qui parlent de synthétiseurs
Sans donner
Sans préciser
Les adresses où qu'ils sont
Donc ça fait déjà le deuxième
Qui s'amuse comme ça
Donc moi j'aime pas
Ça leur apporte beaucoup
Pour leur magasin
Oui mais peut-être
Peut-être pour eux
Mais pas pour moi
Je dois seulement te dire
Gérard tu n'es pas très crédible
Par rapport à Jean-Michel Gérard
Qui est avec nous
Gigmove
Oui alors
On peut faire de la musique techno
Oui
La house
Tout ça
Et on peut même faire
De la musique classique
Et puis on peut faire
Un peu tous
Tous les styles de musique
Il y a même la musique orientale
Maintenant
Qui se fait sur synthétiseur
Oui d'accord
Tu peux ?
Moi je crois que
Comme l'a dit Jean-Michel
Oui Jean-Michel
Je n'ai pas ma place
Excuse-moi Jean-Michel
Tout le monde l'a dit
Juste après
On peut vraiment jouer
Quasiment de tout
De la techno
De la house
De la synthétise
De rien ajouter
Là on va
Sur
IRC
Non au standard
Ou non IRC
Tout de suite
C'est juste une conclusion
IRC
Bon on va attendre un peu
Alors on va prendre
Au standard
On va prendre Guillaume
Qui est musicien lui-même
Qui voulait réagir
Genre de synthé aussi non ?
Oui oui oui
Tout à fait musicien
Il est d'où ?
Il est de Limoges
Et la fréquence
Je vais vous la dire tout de suite
A moins que Guillaume
Veuille la dire lui-même
Je la connais pas
Ah mince
Alors tu habites Limoges
Et tu connais pas
La fréquence de
De fin de radio
Je suis pas de Limoges
Je suis en concert en ce moment
Là-bas
Je travaille
Enfin mon nom d'artiste
C'est Bébert
Ah Guillaume
Je le connais bien lui aussi
92.2 FM à Limoges
Pourquoi ?
On m'a dit
C'était 93.4 moi
Ah putain Manu
Mais c'est pas vrai
C'est lui qui fait une erreur
Vous pourrez
Peut-être accorder
Vos violons
Guillaume
Guillaume
Bonsoir
Donc pour toi
Alors moi je travaille
Dans un
Je peux juste dire
Que je travaille
Avec un groupe
Qui s'appelle
Les Electrochocs
Ouais alors vas-y
La Russe s'il te plaît
Non non mais
Sinon ça va
Je sens que
De toute manière
On va faire conclusion
Comme ça
Mais c'est un groupe
En fait qui
Non mais écoutez
Laissez parler
Moi je travaille
Dans l'électronique
Je sais pas que je
Moi je travaille
Sur un synthé
Toyota 130
Voilà pour bien préciser
La marque
C'est important
Parce qu'il en existe
Plusieurs marques
Et c'est une marque
Que j'affectionne
Tout particulièrement
Moi j'ai testé
Plusieurs synthés
Et c'est vrai
Je connais d'ailleurs
Musique Plus
Là de Lyon
Je connais bien
Mais ça on en a rien à foutre
Guillaume
Et je trouve
Oui
D'abord
Grand respect à Jean-Michel
Je passerai
Samedi
Prendre mes bons tempis
Oui
Non mais ça
Vous règlez
Votre popote
Hors antenne
Ah oui mais je suis
Overbooké
Il faut que je règle
Donc Citron
Oui
Donc toi
Vite parce qu'elle est
Assez pressée
C'était quoi déjà
Excuse-moi
La question
Quel genre de musique
Peut-on jouer
Sur un synthé
Tout
Surtout la musique
Faut que je fasse vite
Parce qu'il faut que je répète
Là
Ouais ben
Magne-toi de poser des questions
Tout
Non mais
Magne-toi de poser des questions
Si je veux Guillaume
Tu peux m'appeler Bébert
Ouais non mais
Tu vas te calmer
Mon ascard
Parce que
Sinon tu vas aller vite
Répéter
Je peux juste faire un peu de pub
Pour le groupe
Les électrochats
Non non non
Y'a pas de pub à faire
Ils se produisent où ?
Ouais
Donc
Le 27 octobre
On reste à Limoges
Oh
Tu
Quoi mais quoi ?
Les plats sont de 20
Mais t'es con
Pourquoi t'es un connard ?
Mais Manu
C'est toi
C'est toi qui gère les auditeurs
Fil d'art
Pas connard
En plus
Pauvre con va
T'es vraiment
Une bite
Une bite con
Putain
C'est pas bon
C'est pas vrai
De devoir
Travailler avec
Une équipe de cons
C'est fou ça
Je crois que vous avez
Un petit en besogne
Monsieur Gérard
Mais
Terminé
Conclusion
Orgue plus à Paris
Pour mon frère
Bon Gérard
Je vais faire la conclusion
De l'IRC
Vas-y
Fais conclusion
Tous les gens de l'IRC
Sont d'accord
Ils savaient que
Tu étais un gros teaser
Et maintenant
Ils savent que tu n'es pas sain
Voilà
C'est bien
Donc Citron pour toi
Oui conclusion
Oui
Je vais continuer à jouer
Sur l'orgue de ma tante
Ah non
Faut jouer avec un Toyota 130
Ouais mais j'ai un bon tampi
Moi à 150 balles
Mais moi je possède
Des
Tu viens de la part de Bébert
Tu viens
Mon Bébert
Tu fermes
Tu fermes
Ta goule
Vous venez de la part du groupe
Les électrochocs
Vous avez 5%
Bon Manu
Tu me le vire
Lui c'est terminé
C'est le boulevard de Clichy
Ouais
Dans le 18ème
Ok
Il a été vachement viré
Bravo Manu
C'est le standard
Tactile
J'arrive pas
Oui oui oui
C'est là
Je vais te calculer quelque chose
Moi mon con
Mon con je pense
Tu pubs pour finir
Conclusion
Oui bah moi je voulais dire
Que j'étais très content
Quand même de parler
Avec
Jean-Michel Jarre
Et je suis aussi content
D'avoir plein d'adresses
Maintenant pour les
Saintes
Ouais mais
Vérifie bien
Vérifie bien
Que c'est des bonnes adresses
Parce qu'à mon avis
C'est des fausses adresses
Alors Manu
Tu dégages
Tu fais pas le deuxième débat
Je te veux plus au standard
D'accord
Tu peux prendre ton VTT
Non mais faites pas de pub comme ça
Tu prends ton VTT
Et tu te passes
Ok
Allez Gérard
Y'a Jean-Michel Jarre
Qui s'en passe
Game over
Ouais bah moi je vais continuer
A casser mes assiettes
D'accord bah c'est bien
Maintenant on rachètera
Sur le marché
La semaine prochaine
Exactement
Jean-Michel Jarre
Pourquoi la conclusion ?
Le débat n'a rien apporté
Vu qu'on a entendu
Un mec bourré comme vous
Qui a porté des choses
Complètement abstraites
Envers la musique synthétisante
Non
Et je ne vous salue pas
Monsieur Gérard
Et bah c'est bien
Dans ce cas là
On va s'écouter
Je vous mets une quexotte
Dans le cul
Et bah c'est bien
Vous pouvez garder
Vos musiques de naze alors
Et continuer
On va pas l'écouter alors
On va peut-être pas en mettre
Un de morceau
On va pas l'écouter
Si c'est prévu
Sur la fin du débat
Il t'a insulté ?
On va s'écouter
Surtout toi
Tu fais pas de conclusion
Bah moi conclusion
Conclusion c'est que toi
Ouais
T'as d'habitude
Quand c'est Max
Ça se passe impeccable
Là tu m'as fait des conneries
Tu l'as
T'as laissé les gens en parler
Mais c'est pas moi
Qui tire les gens
C'est Manu
Non mais lui
Lui de toute manière
Il va reprendre son VTT
Il va rentrer chez lui
C'est moi qui vais rentrer chez moi
Et puis toi aussi
Comme ça je vais être tranquille
Comme ça Rigo
Va passer au standard
Et sur l'IRC
On aura personne
Et Olivia la prend
Si il faut quelqu'un sur l'IRC
Ah non
Personne à l'IRC
Donc pour le deuxième débat
Il y a 800 connectés
Je peux pas les laisser
C'est vrai
Donc conclusion c'est con
Parce que Manu
Tu m'as fait du boulot dégueulasse
Ça c'est un peu de ta faute
Pour moi je suis désolé
Je savais pas que ça allait partir en couille
Avec Jean-Michel
Mais non
Mais non
T'es jamais au courant
Abrouti
La semaine dernière
Tu me fais du boulot
Du bon boulot
Cette semaine
Tu m'as fait du boulot
Tu me fais de la merde
Mais ça arrive
Maintenant si c'est pour me faire de la merde
Tous les jeudis
C'est pas la peine
Je t'ai commis vu
Tu viens jusqu'à minuit
Et après minuit
Dès que tu me vois
Tu te casses
Ça vaudra mieux pour toi
Il y a un niveau du débat
Sur les synthés
Toi le synthé
Moi le synthé
C'est une musique que j'adore
C'est ta passion
Moi j'aime bien
La musique
C'est tout
D'accord
Donc le synthé
C'est bien
Voilà
D'accord
Donc on va se quitter
Enfin on va finir le débat
Avec un morceau
De Jean-Michel Jarre
C'est lequel ?
C'est toi qui as choisi
C'est la plage 2
C'est la plage 2
Et sur la plage 2
J'ai
Oxygène numéro 8
Et on se retrouve tout de suite après
Pour le deuxième débat
Qui va porter sur
L'harcèlement sexuel
L'harcèlement sexuel
Les numéros
0875000
Et toujours l'IRC
Pour un peu le radio
Et 0803
Aussi 085000
Au cas où le numéro vert
Ne fonctionne plus bien sûr
== Le débat sur le harcèlement sexuel ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Et voilà, vous m'avez écouté Jean-Michel Jarre, donc Oxygène 8, et donc pour l'instant on va attendre qu'au standard on me donne les auditeurs, donc le débat, ça porte sur les harcèlements sexuels, alors donc on va déjà poser, comme on attend, je vais attendre encore un petit peu,
donc la première c'est, que veut dire, alors on a Marmite, on a Frisbee, Cassoulet, on a Bidon d'huile, on a Point Noir, attends, Ericou est en train de gérer parce que c'est pas son taf, donc t'as voulu que ce soit rigolo, ça a l'air sérieux c'est les casques, et Point Noir.
Sinon, moi je peux peut-être dire un petit truc sur l'IRC, on est 858.
Eh ben c'est bien, voilà.
Ok.
Alors donc, Marmite, bah d'accord ça commence déjà bien.
C'est pas très professionnel ça quand même.
Donc Marmite, bonsoir, donc on écoute Fun Radio à Rouen sur 104.8.
Ouais c'est ça, ouais.
Et toi là, comme d'habitude.
Ah ouais, c'est vrai avec...
D'accord, dégage.
Ah mais ça va ?
Dégage, dégage.
Mais ça va pas, t'es fou ?
Dégage un maximum.
Ah mais oui, je dégage.
Dégage.
Un maximum, ça vaudra mieux pour toi.
Donc Marmite, on peut écouter Rouen, à Rouen, Fun Radio sur 104.8.
Ouais c'est ça.
Donc Frisbee's, 22 ans de Bordeaux sur 101.7, Fun Radio.
C'est exact, j'écoute sur Internet, c'est exactement ça.
C'est pas sur Internet, c'est sur l'AFM, d'accord ?
Pardon.
C'est pas du tout pareil.
Cassoulet, Disneyland, Seine-et-Marne...
Je gère Cassoulet, pour l'instant elle est pas là.
Ah d'accord.
Donc Bidon d'huile, on peut écouter Fun Radio...
C'est Bidon d'huile qui a raccroché.
Non mais hé, oh !
Tu vas pas commencer à foutre ta merde avant que je te gouffe, toi !
Moi je suis pas là, c'est la merde au standard.
C'est de ma faute, c'est la première fois que je fais le standard, excuse-moi Gérard.
Alors c'est qui qui est parti ?
Donc Bidon d'huile est parti, et je suis en train de gérer Cassoulet.
Et je rappelle des gens.
Ah bah là, ça commence bien.
On a Poupon, on a Poupon aussi.
Bonsoir Poupon.
Poupon, bonsoir.
Oui, salut, bonsoir.
Donc t'es d'où ?
Je suis de Paris, je suis de Paris.
Donc t'as quel âge ?
J'ai 23 ans.
23, et on écoute...
101.9.
101.9.
Et on accueille aussi...
On accueille aussi Point Noir.
Bonsoir Gérard, bonsoir Manu, bonsoir tout le monde.
Bonsoir.
Alors donc, première question.
Donc que veut dire le mot harcèlement sexuel ?
On va demander à Marmite.
Ouais, ça veut dire quand t'es harcelé sexuellement.
Ouais mais...
Que veut dire exactement ce mot ?
Ouais bah ça veut dire que t'es un canon,
et puis tu te prends plein de mains au cul.
Ouais non mais attends, t'es un canon,
tu veux dire un top modèle ?
Ah non, t'es un canon.
Non mais attends, un canon, un canon, un canon,
tu veux dire quoi dans...
Bah t'es un canon, t'es super belle.
Ah bah donc, je viens de te dire,
un top modèle, tu me dis non.
Ah non mais t'es pas forcément top belle.
Bah mais attends, un canon pour moi c'est un top modèle,
je suis désolé.
Ah bah ouais d'accord,
mais on n'avait pas le même mot alors.
Bah oui mais un canon ça veut dire ça pour moi.
Ah d'accord.
J'ai récupéré le bidon d'huile.
Salut Jean.
Salut le bidon d'huile.
Donc cassoulet...
J'ai trouvé quelqu'un d'autre.
Ok, donc on n'a pas de cassoulet, c'est bon.
C'est pas grave, j'ai trouvé une choucroute.
Bah tiens, on a une choucroute là,
comme elle veut faire partie du deuxième débat.
Ah non, non, non.
Quoi non, si.
L'invité mystère.
Le bulldog.
Le bulldog.
Le bulldog il t'emmerde.
Putain.
Tu vois, comme ça t'es tout de suite servi là toi.
Alors attends, celui qui vient de dire le bulldog,
maintenant tu vas répondre à la question.
Ça va t'apprendre à ouvrir ta gueule.
Allô ?
Bah qu'il réponde.
Ouais bah qu'il réponde, alors c'est qui ?
Entre Poupou, Point Noir, Bidon d'huile ?
Ah c'est pas Poupou.
C'est pas Bidon d'huile Jean.
Non et c'est pas Point Noir.
Ah non, non, j'ai rien dit moi.
Ouais c'est Pierrot.
Hein ?
Ouais c'est Pierrot qui a dit ça.
Non mais attends,
il sort d'où celui-là là ?
Bah excuse,
je suis arrivé,
on va pas avancer.
Il sort d'où, il sort d'où lui ?
Non c'est Bidon d'huile.
Non c'est pas moi Jean.
Excusez-moi,
pour répondre à la question c'est...
Eh moi je suis...
Eh Gérard,
c'est le bordel hein,
quand c'est Rigaud.
Eh mais c'est pas là,
allez, allez, allez,
Rigaud,
tu retombes là,
quand tu retombes là-bas,
non non,
parce que là c'est le bordel.
Si je peux me permettre quelque chose,
excusez-moi,
on nous dit un canon,
on nous dit un canon,
c'est fun,
et on nous dit que le boulet c'est Gérard,
merci Jean-Denis.
Non pas t'es fatigué,
tu rentres chez toi.
Ah ouais,
j'ai compris là.
Hein, t'es fatigué,
tu rentres chez toi toi.
C'est chaud là.
Hein,
parce que là,
c'est le vrai bordel.
Là c'est...
Je peux pas,
je peux pas commencer le premier débat,
le deuxième débat,
dans des conditions de merde.
Ouais.
Alors Pildar,
Pildar.
Bon les mecs.
Pildar.
Calme-toi.
Dégage chez toi,
t'es fatigué.
Allez hop.
Manu au standard.
Manu au standard.
Manu au standard.
Allez c'est bon,
ça y est,
on se calme.
Pildar,
tu rentres chez toi,
t'es fatigué.
Allez hop.
Ça vaudra mieux.
Alors donc,
pour toi Marmite,
toi,
le moins harcèlement sexuel,
pour toi c'est un canon.
Bah ouais.
Donc canon,
donc c'est comme j'ai dit tout à l'heure,
c'est un top modèle,
tu m'as démenti.
Ouais d'accord.
Hein ?
D'accord,
on est bien d'accord.
Oui d'accord.
C'est ta réponse.
Ouais.
Frisbee.
Euh oui,
je crois que l'harcèlement sexuel,
ça doit avoir un rapport avec Binkington,
non ?
Non mais attends.
Non.
Eh Frisbee.
Oui ?
Oui,
je suis là.
Que veut dire le mot harcèlement sexuel ?
C'est pas de savoir si Bill Clinton,
il a été harcelé,
ça on en a rien à foutre.
On est bien d'accord.
Quand même,
il a été harcelé quand même.
Non mais attends,
ça c'est son problème,
c'est sa vie privée,
c'est pas la mienne.
D'accord.
Gérard,
on va accueillir le dernier auditeur,
il s'appelle Sifflet.
Allo ?
Salut.
Bonsoir.
Bonsoir.
Salut Sifflet.
T'appelles d'où ?
De nulle part.
De nulle part.
Alors donc,
la fréquence c'est nulle part,
d'accord.
Dis-moi Sifflet,
je peux t'y faire dedans ?
Bidon d'huile.
Ouais,
donc pour moi,
le mot harcèlement sexuel en lui-même,
pour moi,
c'est les gens qui ont des problèmes
à faire l'amour.
Non mais attends.
Je crois que c'est ça.
On te demande,
je te pose la question
parce que je commence à en avoir marre.
Que veut dire le mot harcèlement sexuel ?
Je vais te le dire,
c'est les gens qui n'arrivent pas à baiser.
Non mais attends,
toi t'es con.
Il n'a rien compris.
Non,
il ne comprend pas lui.
Non mais attends,
prends-le hors antenne
et explique plus sur lui.
Je vais m'expliquer
parce qu'ils ne sont pas capables.
Prends-le bien.
T'es même plus capable
de faire des débats correctement
à part faire la réa,
c'est tout ce que t'es capable de faire.
Ouais.
Bidon d'huile.
C'était lui,
c'était lui.
Je viens de le dire Gérard.
Non,
c'était Frisbee
qui ne comprenait pas.
Frisbee,
je suis toujours là.
Mais alors toi,
pour toi ?
Mais je viens de répondre.
Mais c'est quoi là ce bordel ?
Ah,
ce n'est pas moi,
je ne suis plus là-bas.
C'est quoi là ce bordel ?
Frisbee vient de répondre,
bidon d'huile.
Eh,
il faudrait peut-être savoir.
Il est bidon d'huile.
Mais je suis là Gérard.
Alors pour toi ?
Ouais,
donc en fait,
le harcèlement sexuel,
c'est ceux qui sont harcelés sexuellement.
C'est ceux qui sont,
on va dire,
comment je pourrais t'expliquer ça ?
C'est par exemple,
c'est comme l'affaire Big Litton,
voilà.
Bon,
non,
je ne vois pas du tout le rapport.
Point noir,
tu es là toujours ?
Ouais,
je suis là.
Donc pour toi ?
C'est persécuter quelqu'un
physiquement et moralement
pour avoir son cul.
Ouais,
c'est ce que je voulais dire.
Ouais,
mais toi,
de toute manière,
tu veux toujours dire
ce que les gens
ils répondent avant toi.
Il est heureux.
Poupou ?
Ouais,
ben en fait,
le harcèlement sexuel,
c'est,
tu as une fille,
elle est là.
Ok,
après tu as un mec,
il est là.
La fille,
elle se met comme ça.
Et puis le mec,
il arrive comme ça.
Et puis il lui met là.
Et puis la fille,
elle dit ça.
Oh non,
ben attends.
C'est aussi dans l'autre sens
quand même.
Oh non,
mais il peut y avoir des variables.
Attendez,
il y a une question IRC.
Oui,
sur IRC,
on me demande
pourquoi le harcèlement sexuel
est-il sexuel ?
Ça,
tu vois,
c'est une question
qu'on m'avait demandé
de poser
et que je ne poserai pas
parce que je ne vois pas
du tout le rapport.
Parce que si on parle
de l'harcèlement sexuel,
de toute manière,
automatiquement,
harcèlement sexuel
est sexuel.
Donc,
je ne vois pas du tout
la question
de poser aux gens
parce que
si je demande
à une personne
de me répondre
sur cette question-là,
qu'est-ce qu'elle va me répondre ?
Parce que c'est sexuel.
C'est sexuel,
c'est tout.
C'est tout.
C'est Frisby, là.
Je crois qu'on peut
faire un harcèlement sexuel
avec les pieds,
par exemple.
Mais non,
mais est-ce que
t'as compris
la question IRC
qu'on a eue ?
Je crois.
Répète-la-moi
si je me suis perdu.
Alors,
la question,
c'était
est-ce que
l'harcèlement sexuel
est sexuel ?
Pourquoi est-il sexuel ?
Pourquoi est-il sexuel ?
Moi, je peux répondre.
Qui ?
C'est Point Noir.
Oui.
Parce qu'il n'y a pas
que l'harcèlement sexuel.
Il y a tout le sexe allemand aussi.
Mais attends,
dans ce cas-là,
pourquoi est-ce qu'il est sexuel
si c'est sexuel ?
Automatiquement,
si on parle
de l'harcèlement sexuel,
de toute manière,
on va parler de sexe.
Donc,
l'autre,
avec sa question,
je voyais pas le rapport.
Si, Gérard,
regarde-moi.
Moi, sur l'IRC,
c'est du harcèlement textuel.
Oui, mais c'est pas pareil, toi.
S'il te plaît.
Oui, moi...
Attendez, attendez, attendez.
Quand même pas tout le temps les mêmes.
Moi, je considère
que l'harcèlement sexuel
peut être vécu comme un viol.
Oui, mais ça...
Parce que si la personne
ou si la nana
n'est pas consentante,
c'est considéré comme un viol
et comme un crime.
Oui, alors,
dans ce cas-là,
moi, la question que je vais poser,
parce que là,
je pense que je vais pas faire
toutes les questions,
on n'aura pas le temps.
Donc, moi,
je vais déjà attaquer
sur la 3.
C'est pas grave
si on a 2.
C'était quoi, la 2 ?
C'était quoi ?
Non, c'est curieuse que ton
en pratiquant
le harcèlement sexuel,
mais ça...
C'est un déclin.
C'est pas mal.
Oui, alors,
qui veut répondre ?
Tiens, ben, Poupon ?
Non, s'il te plaît,
s'il te plaît, pardon,
Poupon.
S'il te plaît.
Moi, je pense que
les personnes qui font ça,
qui violent des personnes
ou qui font
du harcèlement sexuel
peuvent faire au moins
de la prison
et peuvent avoir aussi
des amendes.
Donc,
je suis d'accord
avec toi, s'il te plaît.
Là, il y a...
On m'a donné un...
un sondage.
Donc, alors,
sur la question
le harcèlement sexuel,
donc,
que pensez-vous
du harcèlement sexuel ?
Donc, il y a 20%
des gens
n'ont jamais fait l'amour.
30% des gens
sont puceaux
et 50%
des gens
sont vierges.
Oh, Gérard !
Oui ?
Moi, j'avais entendu dire
que 70% des gens
étaient valences.
À 100%,
dans le cancer.
Alors, attends.
Là, je vais te dire une chose.
C'est qui qui vient dire ça ?
C'est Bidon d'huile.
Alors, Bidon d'huile.
Et Bidon.
Et Bidon.
Et Bidon.
Bidon d'huile.
Ouais.
Tu vois, ton nom,
il porte bien.
Bah, t'es vraiment Bidon.
Parce que là,
tu viens de jouer
sur le signe astrologique
du CEP.
Il a pas entendu.
J'ai entendu vierge.
Donc, moi, je pensais
que c'était
le signe astrologique.
Bah, ouais, attends.
Et la main de ma soeur
dans la culotte d'un zouave,
c'est astrologique, ça ?
Bon, ça, c'est pour problème, hein ?
Bravo.
Bravo.
Alors, Bidon d'huile,
adieu pour toi.
Bon, j'ai eu le choix.
Gérard,
il y a Devi1
sur l'IRC
qui te demande,
alors,
est-ce qu'il y a
des endroits spécifiques
pour se faire harceler
et est-ce que tu peux
donner les adresses ?
Euh, non, je donne...
Je connais tes adresses, oui.
Non, non, mais ça, je...
On parle pas de la vie privée.
Loco ?
Ah, non.
Frisbeez,
tu vas te calmer.
Bah, moi, j'ai dit
qu'on parlait pas de la loco, moi.
Marmite ou Point Noir,
vous allez vous calmer
toutes les deux parce que...
Non, non, j'ai rien dit,
tu plaisantes ou quoi ?
Oui, c'est une fille,
elle a été sifflée, alors.
Bon.
Donc, que risque-t-on
en pratiquement
le harcèlement sexuel ?
On va demander à Poupon.
Ouais, bah, déjà,
je voulais dire à Sifflé
qu'il y a une différence
entre se faire violer
et se faire ploter les fesses,
par exemple, tu vois,
une main aux fesses
ou un viol,
c'est pas la même chose.
Et deuxièmement,
bon, bah, tu risques
une bonne paire de claques,
quand même.
Ouais, mais attends,
alors, moi,
je vais te renvoyer la balle.
Vas-y, renvoie.
Par exemple,
si la personne n'est pas consentante
et qu'elle n'est même pas capable
de te mettre une claque
dans la figure,
comme tu viens de dire,
et qu'elle porte plainte.
Pourquoi ?
T'as parlé de mettre
la main aux fesses à des manchots ?
Pourquoi elle peut pas
me mettre de claques ?
Non, mais attends,
Sifflé, elle t'a bien dit,
c'est entre ces deux trucs-là.
Par exemple,
si la personne ne peut pas,
comment que tu vas faire ?
Tu peux me la faire décoder,
j'ai pas...
Attends, toi, bidon d'huile,
tu la permes.
Oui, je sais.
Je t'ai dit de dégager.
Alors, lui, il dégage pour de bon.
Ouais, je parlais avec mon professeur.
Ok, je l'avais calmé,
mais bon, je vois que
c'est pas calmé,
donc hop, il dégage.
Hop, terminé pour lui,
c'est même pas la peine
qu'il revienne sous un autre nom.
Ouais.
Donc, point noir.
Bah, au pire,
ce qui peut arriver au gars,
c'est de se faire du bien, quoi.
S'il arrive assez fin.
C'est-à-dire,
ouais, mais tu crois que
en harcelant une nana
dans la rue,
tu crois qu'il va pouvoir
coucher avec ?
Bah, attends, Gérard,
il y en a qui aiment ça.
Bon, bah, attends,
peut-être des nanas
qui aiment ça.
Bah, des mecs aussi, hein.
Bah, ouais.
Non, non, non, non, non, non, non, non.
En vrai, c'est...
Non, non, qui, qui, qui, qui, qui, qui ?
Non, mais ça peut être du jeu, Gérard.
Ouais.
Non, mais attendez,
attendez, attendez, attendez,
pas tous à la fois.
Qui est pas d'accord
avec moi ?
Moi, moi, moi, moi.
Poupon, poupon.
Poupon, bah, moi, je dis,
s'il y a des punis
qui a des filles,
il y a forcément des garçons avec.
Elles sont pas toutes seules.
Elles se produisent pas toutes seules.
D'accord.
S'il plaît,
tu voulais peut-être répondre
à la...
sur ce qu'elle vient de dire,
là, Point Noir ?
Euh, non, pas du tout, non.
Non ?
Euh...
Oui ?
Couscous ?
Bonjour, Gérard.
Bonsoir à tous.
C'est Gérard.
J'aime bien tes débats.
Bonjour, Couscous.
Salut, Couscous.
Salut, Gérard.
Ça va ?
Ça va, ça va, Couscous.
Y a pas de problème.
J'ai pas regardé ce matin, quand même,
mais ça va, carrément.
OK.
Bon, Gérard, on y va, là, un peu.
Alors, euh...
Donc, Prisby...
Euh...
Prisby ?
Oui ?
Donc, toi ?
Vas-y, pose-moi...
Oh, non, mais attends, hé, oh !
Tu l'as entendu ?
Je vais pas m'amuser, là, hein.
La deuxième ou la troisième ?
Non, non, c'est la deux.
Que risque-t-on
en pratiquant le harcèlement sexuel ?
Hop.
Ben...
En même temps, Couscous,
tu réfléchis à la question, hein.
D'accord, Gérard.
Je pense que c'est vrai.
On peut passer devant les tribunaux
et puis se faire emprisonner, quoi.
C'est risqué, hein.
Faut faire attention, hein.
Faut vraiment bien prévoir
ce harcèlement, hein.
Sinon, bon, on risque,
comme je t'ai dit,
voire même de se faire, après,
harceler en prison, aussi.
Et ça, c'est plus...
De toute manière,
c'est ce qui est arrivé
à je sais plus qui.
Je veux pas en citer de nom,
parce que, de toute manière,
ça me regarde pas.
Ouais, non.
Tapis ?
Non, non, non, non, non, non.
Sur celui qui a voulu jouer le con
avec ses enfants,
c'est ce qu'il y a.
Lui, il s'est fait prendre...
Il s'est fait tabasser dessus.
Marmite ?
Oui ?
Donc, pour toi ?
Tu risques gros
et dans certains pays,
tu peux même te faire couper les couilles.
Ouais, non, mais ça, je pense...
Ouais, non, mais ça,
je pense qu'en France,
c'est ce qu'on devrait faire
sur ceux qui pratiquent ça,
sur les mineurs.
Ça va pas ?
Ah oui, sur les mineurs,
mais c'est pas du harcèlement sexuel.
Non, mais alors, c'est quoi ?
Attends.
Non, non, mais attends.
Hé, Marmite !
Attendez, attendez, attendez.
Marmite, Marmite.
Attendez, attendez.
Marmite.
Oui ?
Moi, je vais te dire une chose.
Alors, si c'est pas de harcèlement sexuel
quand tu t'attaques sur un mineur,
sur une mineure de 15-16 ans,
alors c'est quoi pour toi ?
Moi, je pensais qu'on parlait
de harcèlement sexuel au travail.
Non, mais attends.
On parle pas aux fesses.
Non, mais que risque-t-on
en pratiquant le harcèlement sexuel ?
C'est-à-dire, si tu t'en prends
sur une jeune de 16 ans
dans la rue,
il faut pas qu'il arrête de parler de ça.
Bon, ben alors ?
Gégé, on parle pas des mineurs.
Euh, couscous.
Attends, attends, couscous.
Minitel.
Pas Minitel.
Oui, sur Internet.
Donc voilà, sur l'IRC.fanradio.fr,
je le rappelle quand même,
il y a Nesquik qui te demande
si le harcèlement sexuel
est une discipline olympique.
Je vois pas du tout le rapport.
C'est un tournoi de kékaraté.
Ouais, demande-lui
s'il y a pas un tournoi de kékaraté, lui,
pour dire des conneries comme ça.
Tu peux lui demander toi-même.
T'as juste à dire.
Tu peux lui dire dans le micro.
Ben, tu réponds à la question.
Est-ce que t'es ce tournoi de kékaraté
pour me sortir des conneries ?
Donc, couscous pour toi.
Ouais, ben moi, Gérard,
je pense qu'avec le harcèlement sexuel,
on peut prendre un grand coup de merguez
dans la boîte à smoules.
Ça, ça m'aurait étonné
que tu me sors pas
l'histoire de ta merguez
avec ton couscous.
Ah, ouais, il y avait longtemps
que j'étais pas passé sur l'antenne.
Eh ouais, mais si, t'es passé
il y a quand même 15 jours.
Ouais.
Qui c'est qui voulait réagir,
l'habitude ?
Moi, je voulais dire que
dans ton débat, là, quand même,
c'était un peu...
On se sent un peu chier,
et puis, bon, je raccroche.
C'est de la merde.
Au revoir.
Au revoir.
Au revoir, comme ça.
Bonne nuit.
C'était bien, Frisbee.
Frisbee.
Ah, ben, on se sent bien.
Frisbee, il est parti.
Une place de libre.
Ah, ben, c'est bien,
ça fait une place de libre
pour les autres.
Ouais.
Comme ça, si tout le monde
pouvait me dire que mes débats,
c'était de la merde,
eh ben, dans ce cas-là,
on fera plus de débats.
Non, non, Gérard,
c'est bon, il est là,
on pète les barres.
Très bien, Gérard.
Moi, je m'en fous, hein.
Non, mais j'adore tes débats, Gérard.
Moi, si tout le monde se plaint
que les débats,
c'est de la merde,
dans ce cas-là, moi,
je fais encore une question,
à deux heures,
je laisse la place à Rousseau,
je rentre chez moi,
et...
Non, il était gris,
il était gris,
je sais pas ce qu'il avait.
Non, mais on s'imagine, Gérard,
on reprend, on reprend tout.
Votre patron vous a-t-il
déjà harcelé ?
Donc, voilà,
on va revenir avec la question
que Marmite m'avait posée
en premier.
D'accord.
Donc, voilà.
Donc, je te pose
la même question aussi, toi.
D'accord.
Moi, ouais, ça m'est arrivé,
ça m'arrive encore, ouais.
Mais elle aime ça,
donc je dis rien, quoi,
au contraire.
Ah ouais, non, mais attends.
Attends, dans ces cas-là...
C'est une cochonne,
c'est une cochonne.
Non, non, attendez,
attendez, attendez,
attends, Poupou.
Ouais, Poupou.
Ouais, Poupou.
Ouais, bah, c'est qu'elle aime ça,
si elle dit rien,
c'est que ça lui plaît, en fait.
Bah, ouais, mais dans ces cas-là,
pourquoi...
Dans ces cas-là,
pour pas qu'ils viennent se plaindre,
après, ils t'ont...
Bah, ouais, mais dans ces cas-là,
si t'aimes ça,
c'est que t'as envie
d'avoir plus que les autres
qui travaillent avec toi,
c'est ça ?
Non, c'est pas ça,
c'est que ça permet de coucher
sans t'engager, quoi.
T'as pas de mec,
tu couches avec tes collègues,
comme ça.
Ouais, non, mais attends,
dans ces cas-là,
si tu couches avec ton patron,
c'est parce que tu veux avoir
un peu plus que les autres,
c'est tout.
Je suis désolé.
Si, si, je suis désolé.
Je suis désolé.
Je suis désolé.
Stop, stop, stop, parmi...
Non, juste, vite fait,
il y a Titus sur l'IRC,
il demande ton patron
ou ta patronne.
Ah ouais ?
Ouais, mais ça, ça...
Il a pas tort.
Ouais, j'aurais pu préciser.
Oui, Manu ?
Donc, à la place de Frisbee,
ce qui est raccroché,
on accueille Focu,
il appelle d'Angoulême
sur 92.4.
Bonsoir, Gérard.
Salut.
Focu.
93.4, voilà.
OK, donc...
Qu'est-ce qu'il nous reste ?
Bidon d'huile est parti.
Qui ?
Moi, j'ai couscous.
Ouais, il y a couscous à sa place.
Donc, point noir.
Ah ouais ?
Ben, moi, c'est pas mon patron
qui me harcèle,
c'est moi qui le harcèle.
Ben non, alors attends.
Encore une cochonne.
Ah non, non, attendez, attendez.
Il y a que des cochonnes.
Non, mais attends.
Il y a que des cochonnes.
Je suis désolé, regarde.
Il y en a une qui se laisse faire
et c'est l'autre qui harcèle son patron.
Ouais, non, mais attends.
Poupon, poupon, poupon.
Ouais, ouais, ouais.
C'est toi qui viens de réagir comme ça, non ?
C'est moi, ouais.
Non, mais attends.
Si.
Il y a que Sifflet qui n'est pas cochonne.
Il y a que Sifflet qui est normal.
Ouais, mais Sifflet,
ça, c'est son problème,
c'est pas le vôtre.
Elle va répondre, elle.
Le boss, il va être content.
Qui ?
Ben, rien, non, rien.
Ben si, fini ta pensée.
Ben rien, je sais pas.
Sifflet, elle a peut-être pas de boss,
c'est peut-être pour ça.
Moi, c'est mon cas, en fait.
Je suis chômeur,
donc j'ai pas de patron.
Ouais.
Ben, je peux pas me faire harceler, quoi.
En fait, c'est mon problème.
OK.
Alors, attends.
Point noir à 17 ans,
c'est toi qui te fais harceler par un patron ?
Ben oui.
C'est toi qui harcèles les patrons à 17 ans ?
Ben oui.
Non, mais tu me prends pour qui, là ?
Ben, pourquoi ?
Je fais un contrat d'apprentissage
dans une boulangerie, je travaille.
Ouais.
Et mon patron, il me plaît,
donc je fais du harcèlement sexuel.
Ah ouais ?
Ben, dans ces cas-là,
à 4 heures...
Attends, attendez, attendez.
Dans ces cas-là,
à 4 heures du matin,
tu te réveilles
et tu vas y ploter des...
des coucouillettes
alors qu'il fait sa baguette ?
Non, non, non.
Elle va lui ploter les pois chiches.
Je le touche pas, je le provoque.
Je le travaille au corps.
C'est pas pareil.
Non, mais alors, c'est pareil.
Non, c'est pas pareil.
C'est pareil, parce que tu...
En travaillant sur le corps,
tu peux descendre...
Mais pourquoi tu lui plotes les pois chiches ?
Le couscous, il a réponse à tout, hein.
Euh, s'il plaît.
Non, je pense que...
Non, attends, attends.
Poupon, poupon.
Ben, je t'ai déjà répondu,
moi, je t'ai dit, j'ai pas de boss,
donc au pire, je peux me faire harceler
par la nana de la NPE, quoi.
Mais, euh, non, je peux pas me faire harceler
par mon boss, y a pas rien.
T'aimerais ça si t'avais une patronne ?
Euh, si j'avais une patronne
ou un patron pas des masses.
Ouais.
Parce que je suis pas fan de l'usine à six fers, quoi,
mais une patronne, j'ai pas.
Pourquoi pas.
Euh, s'il plaît.
Non, je me suis jamais fait harceler
par un patron, ni rien du tout.
Oh, ben, c'est clair.
Non, mais pourquoi ?
Dans quel sens ?
Ben, elle a pas de patron.
Bah, parce que j'ai jamais eu l'occasion...
Elle travaille pas.
D'après moi, elle doit pas être bien belle.
Bon, toi, tu peux mieux te regarder ta montre, hein.
Oh, là.
Joli !
Joli, joli.
Je sais pas qui c'est qu'a voulu lui poser ce...
Je pense qu'elle a une voix bien mignonne.
Je l'habituerai bien, ma couscous par contre.
Elle a l'air sexy, hein.
Euh, couscous, pour toi.
Oui, ben, j'ai pas entendu la question, excuse-moi.
Oh, ben, d'accord.
Euh, votre patron vous a-t-il déjà harcelé ?
Ben, moi, je travaillais à l'usine.
Alors, mon patron, c'est un mec,
et moi, j'aime que les grosses Fatma.
Alors, je peux pas me faire harceler.
D'accord.
Euh...
Focu, pour terminer sur ce question...
Moi, Gérard, j'étais au standard avec Manu,
j'ai pas entendu la question.
Non, mais attends, ouais.
Non, c'est vrai, c'est vrai.
Non, mais t'aurais pu lui expliquer la question.
Je l'ai calmé, j'ai pas eu le temps, tu viens de l'appeler, donc...
Alors, Focu, pour la dernière fois, je répète la question.
Votre patron vous a-t-il déjà harcelé ?
Euh...
Non, j'ai pas de patron.
D'accord.
Et donc, tu t'es jamais fait harceler ?
Ben non, parce que je suis mon propre patron,
donc quand je me tape des branlettes,
à la rigueur, je me harcèle tout,
d'accord.
Et tu te tapes des branlettes avec...
Ah là là, il est chaud comme la braise.
Eh, eh, Focu,
à mon avis, tu te tapes des branlettes
avec tes secrétaires.
Ah non ?
Ah ben si, t'as quand même des secrétaires, si t'es patron.
Euh...
Non, des secrétaires, mais mal.
Ouais, des mauvaises, d'accord.
IRC, oui, sur IRC,
il y a Cab qui te demande s'il y a harcèlement sexuel
quand on branche son synthé.
Ah ben...
Rien à voir.
C'est pas du tout le...
Oui.
Alors, la question, peut-on...
On va réfléchir, vous allez réfléchir à la question.
Vous allez réfléchir à la question.
Peut-on dire que c'est un produit vendu en magasin
et on va s'écouter les gens débiles ?
Je respire la sardine.
Et on se retrouve tout de suite après.
Vous pouvez nous appeler au 0800 308 5000
et toujours le...
IRC.
IRC.
www.frfanradio.
A tout de suite.
Et voilà, vous venez d'écouter les gens débiles.
Je respire la sardine.
Je ne sais pas si c'est vraiment ça comme titre.
On nous a laissé ça, donc en...
Il est parti, donc il nous a laissé ça.
Donc maintenant, vous pouvez nous appeler au 0800 308 5000
et toujours le...
L'IRC qui marche...
Super bien, je crois.
Combien de connectés, à peu près ?
On a dépassé les 800.
J'espère atteindre les 1000 d'ici 3h du matin.
Combien ?
On me dit 989.
On y est presque.
Joli !
Attends, déjà, la semaine dernière, on était à 856.
On bat les records, ce soir encore.
C'est dommage que l'humidité ne fonctionne pas
parce que je crois qu'à partir de 200 connectés,
il n'y a plus personne.
Ça a sauté.
Ah ben alors, c'est dommage.
Donc, on va récupérer Marmite.
Marmite !
J'ai allumé, hein.
Oh !
Ouais, ouais.
Ouais, pardon, pardon.
C'est bon.
Marmite.
Bonsoir.
Rebonsoir.
Rebonsoir.
Point noir.
Salut.
Rebonsoir.
Poupon.
Oui, bonsoir à tous.
Rebonsoir.
Oui.
Sifflet.
Bonsoir.
Rebonsoir.
Qu'est-ce que ça a été, Merguez ?
Allô, vrai body.
Ah, c'est Ashley Body.
OK.
Faut que...
Faut que...
Oh, oui.
Faut que...
Je vais répéter la question pour qu'il la comprenne bien.
Non, non, mais quand je dis...
On reprend et on n'attend plus.
Faucu, t'es là ?
Ouais, ouais, tranquille.
OK, c'est bon.
Donc, la question, je ne vous la repose pas.
Ouais.
Donc, maintenant, on va demander...
Tiens, Faucu, comme t'étais au standard,
on va savoir ce que t'en penses, toi.
Moi, je ne suis pas trop d'accord, en fait.
Alors, explique.
Ça ne peut pas être une marque.
Non, mais attends.
Je te demande d'expliquer.
Si tu me dis que ça ne peut pas être une marque
et que tu me fais un blanc, ce n'est pas la peine.
C'est tout.
Non, mais je pense que ça ne peut pas être une marque
parce que je ne vais pas acheter
de harcèlement sexuel.
Mais est-ce que c'est un produit vendu en magasin,
c'est tout ?
Je ne te demande pas si c'est une marque.
Ben, si c'est un produit vendu en magasin,
tu vas acheter du harcèlement, toi ?
Je peux te dire, moi, je vais acheter du chewing-gum,
je ne sais pas quoi,
et dedans, on va me mettre du sperme
et je vais manger ça.
Bon, ben alors ?
Et alors ?
Et c'est un produit qui est vendu, quand même.
Je suis d'accord avec toi,
mais tu ne vas pas aller dans un magasin et dire
bonjour, je vais acheter un petit peu de harcèlement
et un petit peu de sexuel.
Euh, ok.
Couscous ?
Ouais, ben moi, j'achète du harcèlement sexuel
à l'épicerie de chez Bébé.
Ouais, ok. Tu achètes les couscous,
les pois chiches et les merguez ?
Ouais, ouais, il n'y a pas de problème, genre.
Le mouton et le poulet ?
Il n'y a pas de problème, mais fais quand tu veux
pour qu'on fasse une couscous party et je te mettrai la merguez.
D'accord.
Sifflez.
Oui, je pense que ça peut être un produit vendu en magasin
parce que l'église fait bien le viagra.
Ouais, non, mais attends,
toi, si tu commences à me bouffer les questions,
je pense que tu as passé...
Non, mais c'est vrai, Gérard, il exhibe bien le viagra,
donc pourquoi pas...
Non, mais ça, le viagra...
Le viagra, c'est pour ceux qui sont...
Oui, ceux qui sont impuissants.
Ouais, ben tiens, justement,
tu peux bien en parler, du viagra, tiens.
Voilà les deux thèmes de la semaine prochaine,
on les a trouvés.
Le viagra et le gras.
Donc pourquoi pas, hein ?
Ouais, pourquoi pas. Poupon ?
Ouais, ben le vieux gras, moi, j'aime pas trop, mais...
Non, non, non, mais attends, ça, c'est pour la semaine prochaine,
la question...
Le débat, c'est pas pour cette semaine.
C'est pas pour le vieux gras, c'est ça ?
Non, pour l'instant, c'est sur l'harcèlement sexuel,
c'est pas sur le vieux gras.
Alors, en supermarché, moi, je dis que vous avez rien compris,
si tu veux trouver du harcèlement sexuel en supermarché,
tu vas au rayon, je sais pas,
poissonnerie ou légumes, n'importe quoi,
et tu verras, ben, le chef de rayon,
s'il met la main aux fesses, ben, aux vendeuses
ou aux caissières, ben, là, il y a harcèlement, c'est tout.
Non, mais attends, comment tu peux...
C'est tout, c'est tout. Ben, écoute,
le harcèlement, c'est que tu veux le trouver, sinon.
Forcément, il y a des mains qui plotent des fesses
dans les supermarchés, donc il y a du harcèlement.
Non, mais moi, de toute manière, une fois,
je pense que, s'il plaît,
elle peut le dire, une fois, j'étais dans un supermarché...
Et tu t'es fait ploter les fesses.
Non, non, c'est pas ça, c'est qu'on était en train de boire
de l'eau, parce qu'il y a...
Il y avait de l'eau à dispo...
Attends, attends, attends...
Tu bois de l'eau, toi ? Toi, t'es allergique ?
Non, non, je bois de l'eau, tu vois,
alors me prends pas les...
Arrête, non, bah...
Non, tiens, Sifflé, elle peut te le dire,
sans le faire exprès, c'est elle qui...
Je sais pas comment j'y ai fait,
j'avais pas envie de finir mon verre,
et elle était juste derrière moi, je me suis retourné,
j'ai balancé le verre dans la tête.
Tu la connais ? Tu connais Sifflé ?
Tu connais Sifflé et Sifflé ?
Je me rappelle pas du tout, non.
Tu t'en souviens pas ? Bah, c'est pas grave.
Donc, à la question, comment faites-vous...
Comment faites-vous...
Comment vous vous faites harceler sexuellement ?
Donc, il y a 10% de gens qui se font
harceler sexuellement,
qui se font harceler sexuellement par téléphone.
Ça, c'est vrai que par téléphone, c'est...
Ça, c'est... Je pense qu'ils auraient été
un peu plus nombreux, ça aurait été mieux.
C'est horrible. 60% des gens
se font harceler par courrier.
Ça, j'en connais un qui est bien placé.
C'est clair.
Merci, chef, de mettre
la super musique de boîte de nuit.
30% des gens
se font harceler par des rapports.
1% des gens
ont dit...
Ils me mettent sa bite dans ma chatte.
Moi, j'aimerais bien avoir le numéro de téléphone
du 1%, là.
Ouais, bah...
Bah, Manu, il va se faire un plaisir de te trouver ça.
Je vais te trouver ça, il n'y a pas de souci.
Parce que là, je sais qu'il y en a une, pour l'instant,
elle attend encore mon chef, là-haut.
C'est grave, hein.
Elle est grave, elle, encore, là-haut.
Gérard, sur IRC, il y a 6 gars
qui te demandent si le harcèlement est héréditaire.
Comment ça ?
Impossible.
C'est des histoires de famille, ça.
C'est des histoires.
Tu m'éteins ça avant que...
Que je me déplace et que je t'éclate
tes petites lunettes.
Vite !
OK ?
Bon.
Bon, Gérard, t'as pas répondu à la question
est-ce que le harcèlement est héréditaire ?
Ça, je peux pas savoir,
parce que j'ai pas goûté à tout ça.
Donc, point noir.
Écoute-moi, en magasin, franchement, j'en ai jamais vu.
Par contre...
Toi, tu travailles en boulangerie,
donc en grande surface, ça m'étonnerait que tu puisses voir ça.
Ouais, non, mais attends,
je fais des courses quand même,
quoi, je veux dire.
Mais par contre, par correspondance,
oui. En fait, on te vend des cours,
donc c'est des cours qui sont payants,
et tu payes après les résultats.
Donc, si leur technique marche,
tu payes, et si ça marche pas...
Ouais, dans ces cas-là,
on vient sur les 60% qui sont harcelés
par courrier.
Ah non, non, non, absolument pas.
En fait, moi, j'ai fait appel
à une société
qui te vend des cours
d'harcèlement sexuel,
donc ils t'envoient
une technique de
savoir-faire, tout ça,
donc ils t'envoient ça par courrier,
donc tu suis à la lettre, toutes les instructions.
Ensuite, quand t'as envie de harceler quelqu'un,
comme moi, j'ai harcelé mon patron,
ça a marché, j'ai payé, et quand
la technique ne marche pas, tu payes pas.
Et si tu veux, je peux te donner
une adresse. Non, non, non, on s'en fout.
On s'en fout. Mais attends, point noir,
tu vas pas me dire que
t'as payé ton patron pour te faire harceler.
Non, mais attends, tu captes vraiment rien.
Non, c'est dalle. Attends, si je suis grave
dans ces cas-là, t'as qu'à pas dire de conneries, parce que j'ai bien
entendu dire que t'avais payé.
Gérard, elle a payé un organisme
pour lui harceler.
Non, non, elle a payé aussi le patron.
Bon, Marmite. Oui.
Moi, une fois, j'ai piqué un truc dans un magasin,
donc c'est pas bien, mais bon, je me suis
fait choper, donc j'ai été emmenée au directeur,
donc j'ai proposé de me harceler.
Et comme ça, on a annulé la situation.
Elle a assisté le vigile.
Elle a assisté le vigile et ça se fait pas.
Ouais, je pense.
Non, mais ça, je peux vous dire
une chose que je sais pas, parce que moi,
j'ai jamais eu l'occasion de me faire harceler
dans un magasin. Bah, t'as pas de chance.
Bah, je préfère.
Ah ouais. Alors, moi, je préfère
être tranquille que de me faire harceler
par des emmerdeuses. Ah ouais.
Voilà. Donc, moi, c'est pas moi
qui aurais payé pour
me faire harceler.
Ouais, ça, ça s'appelle une putain, quand même.
J'ai le droit de demander un truc ?
C'est qui, c'est qui, c'est qui ?
C'est Fokur.
Il y a Manuel sur Minitel
qui demande si tu fuches pour une binouze.
Bon, alors, Fokur,
Fokur, tu sais ce que tu as fait, alors, hein ?
Tu vas aller voir Manuel Standard parce que tu commences
à me gonfler avec tes conneries.
Il a raison, il a raison, c'est un message Minitel.
Ouais, non, non, mais attends, les messages
Minitel, pour l'instant, le Minitel,
il y a plus de 100 connectés, donc il fonctionne pas.
Donc, je vois pas pourquoi qu'il s'amuse
à me dire des conneries comme ça. Donc, Fokur, tu vas
voir Manuel Standard. Si ça va pas, tu vas
dégager. J'ai le calme, j'ai le calme.
Si ça va pas, tu vas dégager.
Donc, le harcèlement
sexuel, peut-il être
petit ? Peut-il être
consentant ?
Donc, je répète, le harcèlement sexuel
peut-il
être consentant ?
Fokur, écoute,
moi, j'ai un exemple. Je me souviens
il y a quelques années, je me suis
harcelé par une fille, donc une femme
qui était ma patronne à l'époque, et
elle sentait du con, donc elle avait le con
consentant, ouais. Ouais, non, mais
elle était consentante. J'allais la faire, merde.
Ah, je suis désolé.
Je suis désolé, Régo.
T'étais consentant ? Non, moi, j'étais juste d'accord.
Ah, t'étais d'accord, donc tu te sentais
consentant, tu te sentais bien
dans ta peau quand t'as proposé ? Ah, je me sentais
carrément con, ça c'est clair. Ah, bah ouais, d'accord.
Fokur, s'il s'est calmé ?
Ouais.
Oui, je me suis bien calmé. Donc, alors,
vas-y. Mais, je me suis
calmé, j'ai pas pu entendre rien.
Ouais, là, je crois qu'il y a... Ah, j'ai dû répéter,
il voulait savoir si t'étais consentant
pour te faire harceler dans le sexuel, voilà.
Ah, oui, mais, bah, vu que moi, je suis mon propre
patron, je peux pas être consentant ou pas, puisque
j'ai pas ce problème-là. Bah, si, ta main droite, elle est d'accord
avec ta main gauche quand tu te pignoles, donc t'es
consentant. Ouais.
Bah, ouais, donc... Bon, on est d'accord. Bah, oui.
Là, je pense que... Mais, le problème, c'est...
Non, c'est que j'ai pas de problème, en fait, de se
projeter là, puisque je suis mon propre boss.
Ouais, d'accord. Donc, voilà. Poupon, ça prend la peine
d'essayer d'y faire comprendre
parce qu'apparemment, il a l'air de nous prendre pour
des cons. Bah, j'essaye de l'aider, quoi.
Non, non, mais il nous... Non, non, mais il nous prend
pour des cons, donc...
Allez, tu me prends quelqu'un
d'autre à la place parce que ça vaudra mieux.
On va pas s'amuser avec...
J'arrête, je coupe, là.
Non, non. Euh... Couscous.
J'ai coupé.
Ah, Rachida, sur la couscous, hier, j'ai mis
un grand coup de chipolata, elle est consentante. Il y a pas de problème.
Non, mais attends, parce qu'Olivier, il vient
de reprendre la pro parce qu'il y en a un
qui était crevé, donc il commence à
s'amuser à me faire des conneries.
Donc...
Welcome back, Olivier.
Donc, pour toi, Couscous,
donc... Ah, il y a pas de problème.
Moi, je suis toujours consentant pour faire l'amour,
il y a pas de problème. Ok. Euh...
S'il plaît. Non, je pense que là, seulement
c'est seul, il peut pas être consentant.
Bon, ça va, là,
vous me laissez parler, un peu ?
Oh, Pascal !
Oh là là !
Olivier, tu commences pas, d'accord ?
J'ai rien fait. Non, non, t'as rien fait,
à peine. Et les autres,
vous vous tchalmez quand je pose une question, s'il plaît,
d'accord ? Y a pas de problème. Ouais. Bon.
Donc, je disais, non, le harcèlement sexuel
peut être considéré comme...
peut être consentant.
Oh, putain, moi, j'arrête, hein.
Oh là là ! Putain, elle a une belle voix,
c'est dommage. Oh, les charmes, Antoine !
Elle est pas conne, en plus.
Et voilà. Merci, merci !
Merci pour celui qui s'amuse
à faire cette connerie.
Donc, là, elle a arrêté, c'est même pas la peine d'essayer
de la rappeler, elle reprendra pas.
Alors, point noir. Je voulais juste dire que sur IRC,
tout le monde est content qu'il ait pu siffler.
Appelez l'invité mystère, soit fait l'invité mystère.
Sur IRC, moi, je les emmerde
que, s'il plaît, je sois plus là, c'est tout.
Gérard.
Au standard, à la place de
Faucu, qui était tout bidon, on accueille
Mathieu, lui, il s'est fait harceler
sexuellement par sa patronne, et en fait,
ça a fini par une belle histoire d'amour, quoi, en gros.
Non, mais attends, pour l'instant, on n'en est pas là-dessus,
on est sur le consentement.
Je t'annonce... Ben oui, mais
je t'explique ce qui s'est passé dans sa vie.
Ok. Point noir.
Est-ce que tu peux me répéter la question, s'il te plaît ?
Putain, mais vous allez faire ça
jusqu'à 3h du matin, là ?
Bon, les filles... Ben attends, c'est la première fois que je te demande de répéter.
Le harcèlement sexuel, petit L...
Petit L, consentant.
Euh, tout à fait, ouais.
Petit L, non.
Petit L, grand L.
C'est petit L, c'est ce que je voulais dire. Voilà.
D'accord. Donc, le harcèlement, petit L, consentant.
Voilà. Ouais, d'accord.
Ouais, moi, je pense que, ouais.
Enfin, c'est un avis personnel, mais ouais, je pense, ouais.
D'accord. Marnit ?
Ben oui, moi, oui, c'est clair.
Oui, je suis consentante.
Ça, de toute manière, je pense que les trois quarts
des personnes
sont toutes consentantes
sur des problèmes, comme ça, hein.
Le harcèlement ?
Euh, Mathieu ?
Oui, ben moi, j'étais complètement consentant,
puisque j'ai eu, donc, un harcèlement sexuel
de ma patronne, et ben maintenant,
je suis marié avec.
Ah, d'accord. Et ben oui.
Et t'as quel âge, sans indiscrétion ?
J'ai 23 ans.
Et t'appelles à elle d'où, sans...
D'un tourneur.
Bon, Olivier, tu vas commencer par t'écraser,
parce que tout à l'heure, tu l'as dégagé, ça va aller vite fait.
D'accord.
Donc, t'appelles d'où ?
De Toulouse.
De Toulouse, de la fréquence ?
Ben, moi, je sais pas, parce que je l'écoute sur Internet.
En 17.5.
Ouais, ben, non, je pense pas, hein.
Si, si, je crois pas, je sais pas, je dis ça comme ça, hein.
Non, parce que c'est pas la première fois qu'on a des gens de Toulouse.
C'est en 3 points de la fréquence, tu verras.
Non, mais moi, je pense que, si je la demande à Manu,
le temps qu'il achète, on verra.
Alors, donc, moi, je peux vous dire que je me suis jamais fait harceler,
donc, même le jour où ça arriverait, je sais pas si je serais consentant là-dessus.
Donc, voilà.
Pourquoi ? Ben, attends, explique-nous pourquoi.
Ben, parce que je veux pas me faire harceler par n'importe qui, déjà, pour commencer.
Ah, mais elle est mignonne.
Non, mais ça, ça dépendra de la personne.
Et tu donnerais pas ton consentement ?
Non.
Non.
Donc, les animaux pratiquent-ils le harcèlement sexuel ?
On va demander à Marmite.
Ouais, les chiens.
Il y en a plein, ils viennent sur moi,
puis ils frottent les cheveux.
Ils mettent leurs zigounettes sur ma jambe, c'est désagréable.
Moi, je vais te dire une chose, Marmite,
je pense que Point Noir...
Oui ?
Point Noir, ça va être pareil.
Ouais, ouais.
C'est surtout chez les bulldogs.
Oh là là !
Olivier, tu fais gaffe !
Il y a Gérard qui m'attaque.
Olivier, tu fais gaffe, c'est la dernière fois !
D'accord, d'accord.
On a Olivier, c'est content de t'avoir.
T'amuses pas à faire des conneries, toi.
Gérard ?
Oui ?
On accueille Casse-toi à la place de Sifflet.
Salut, Gérard.
Salut, Casse-toi.
Casse-toi, salut. T'appelles d'où ?
Et j'appelle de Seine-et-Marne.
Et la fréquence, c'est 101.9.
Ouais, voilà, 101.9.
Donc, on va demander à Point Noir.
Attends, Marmite, tu me disais, toi ?
Que j'étais sexuellement harcelée par les chiens.
Non, mais ça, je peux...
Maintenant, il y a quand même trois filles.
Trois filles et trois garçons.
Oui.
Je pense que...
Les trois quarts du temps, les nanas,
c'est quand vous avez vos règles.
Et ça, je peux vous le dire, moi, j'ai le...
J'ai le temps par les...
Non, non, non, mais attendez, attendez, attendez.
Je vais continuer.
Moi, j'ai le chien de ma copine, donc...
Il se frotte toujours à ta jambe quand t'attends.
Non, non, non.
Comme ça ?
Non, non.
Il va carrément sur sa sœur.
Ouh là !
Donc, je pense, à chaque fois, il va...
Dès qu'elle a ses règles, hop, tu peux être sûr
que t'as le clé barqué, là.
Il suffit juste de te laver, Gérard.
Tu sens pas, ça sent pas.
Faut te laver, c'est tout.
Non, mais c'est pas moi qui...
Non, mais dis-le à ta belle-sœur.
Non, mais de toute manière...
Ou à ta meuf.
Non, mais attends, ma meuf, attends, merde, toi.
D'accord ?
Tiens, ben, Poupon.
Oui.
Donc, pour toi ?
Ben, écoute, moi, bon, déjà, j'ai un gros problème.
Je sais que tu vas pas être d'accord,
mais moi, j'aime pas les animaux.
Donc, je vais te dire, le premier clé barqué,
qui vient se frotter sur ma jambe,
il prend un coup de savate, quoi.
Non, mais alors, dans ce cas-là,
je vais te dire une chose, que...
Non, non, non, non, non, non.
Ça dépend du chien, ça dépend du chien.
Non, mais t'es vraiment dégueulasse de dire ça, c'est tout.
Si t'es un gros rottweiler, je le laisse terminer.
Si t'es un caniche, je le fous.
Non, mais attends, moi...
Ah, c'est dégueulasse, là, franchement.
N'importe quoi.
Attends, j'ai pas envie de me faire spermer
par un clé bar sur la jambe.
Pousse, pousse.
Ouais, Gérard.
Moi, j'ai déjà vu deux dromadaires
qui se frottaient là-bas, aussi.
Ils étaient en train de se masturber, eux-mêmes.
Dans le désert du Sahara, en plus.
Attends, attends, hé, hé, hé, hé.
À la place des dromadaires,
il n'y avait pas des chameaux ?
Oui, il n'y a pas de problème,
mais c'est pas le même nombre de bosses,
donc ça fait pas le même effet.
Ouais, les chameaux, ils ont deux bosses ?
Ouais.
Non, une, une, une.
Non, ils en ont deux.
Non, ils en ont deux.
Les dromadaires, ils en ont une.
Oh, les filles, bravo.
Ça veut dire deux en arabe.
Mathieu ?
Ouais, bah moi, je pense pas
que les chiens et les animaux
sont capables de nous harceler sexuellement.
Je pense que c'est pas...
Ils ont tout ce qu'il faut, hein.
Ils ont une quéquette, ça suffit, hein.
Bah ouais, mais comment tu veux
qu'ils reproduisent, alors ?
Faut bien qu'ils aillent sur une femelle.
En plus, ils arrivent à se la lécher.
Bah ouais, c'est ça.
Oui, ça, oui.
Attends, moi, je sais qu'il y a déjà
des chiens qui m'ont mis des mains au cul.
C'est pas super agréable, quoi.
Attends, un chien te met une main, une couille.
Ouais, c'est ça.
Tu dirais qu'ils te mettent une patte, ouais.
C'est plutôt malin de te toucher une couille.
Moi, ça m'est déjà arrivé, un chien
qui me fait un clin d'œil, par contre.
Bon, toi...
Attends, Couscous.
L'autre, quand il me dit
qu'il y a un chien qui lui a fait un clin d'œil,
vu qu'il a ouvert ta tranche,
ça m'étonne pas de toi, hein.
Ça m'étonne pas de toi, hein.
Bravo.
Les premiers chiens que tu vois dans la rue,
ils sont pour toi, hein.
Casse-toi.
Gérard, sur IRC, on me demande
si tu t'es déjà toi-même harcelé sexuellement.
Non.
Avec ta main droite ou gauche ?
Non plus.
Alors, casse-toi.
Oui, ben, excuse-moi,
j'ai pas entendu la question.
Tu peux la répéter ?
Les animaux pratiquent-ils le harcèlement sexuel ?
Ah, j'y crois pas, là, du tout.
C'est quoi le débat, Gérard ?
Les animaux.
J'étais pas là au début.
Non, ben, toi, les oreilles,
c'est comme le cul, ça se lave.
T'étais dans l'ossidio en train de faire le con, alors...
C'est sur les animaux, les animaux.
Ils travaillaient.
Oh, non, ben, ils travaillaient,
mais ils n'avaient qu'à écouter.
Et tu m'éteins ce son,
parce que tout à l'heure,
je vais te faire du...
Je vais te mettre une barf.
Je vais te mettre une barf.
Alors, septième question, Manu,
tu m'éteins...
Tu veux répondre, moi ?
Qui ?
Point noir.
T'avais pas répondu, toi.
Non, j'ai pas répondu.
Tu m'as posé la question,
et puis tu m'as coupé en plein milieu.
Ah, bon, ben, alors, vas-y.
Ouais.
Donc, je voulais te dire que c'est vrai
qu'effectivement, les chiens sont réputés
pour faire du harcèlement sexuel,
et surtout la race des bulldogs.
Ouais, mais ça, c'est partout.
C'est pas drôle.
Donc, voilà.
Moi, je peux...
Oui ?
Non, rien, rien, rien.
Donc, je peux vous dire une chose,
que j'ai jamais vu des animaux le faire,
mais bon, peut-être que jour, je m'en verrai.
Donc, la question...
Avez-vous déjà été harcelé ?
Je pense que je l'avais posé, cette question-là.
Ouais.
Ouais, j'ai hâte.
Ouais, j'avais oublié de donner les sondages.
Donc, il y a 55% des gens qui répondent
qui ne sont pas bricoleurs.
Donc, je vois pas le rapport
avec le harcèlement.
40% des gens répondent
qu'ils préfèrent le foot.
Donc, je vois pas du tout le...
Le foot ?
Le foot.
Ah, pardon.
Le football.
Donc, je vois pas du tout
le rapport avec le harcèlement sexuel.
Ça, c'est les sondages.
Donc, 5% des gens répondent
qu'ils s'en foutent de la politique.
Je vois pas du tout le rapport
avec le harcèlement sexuel.
Rien à voir.
0% des gens n'ont pas compris la question.
Alors, s'ils n'ont pas compris
la question...
Donc, il y a 0%
qui n'ont pas compris la question.
C'est bien.
Comme ça, ça me fait plaisir.
Moi...
C'est des Mongols.
Pour moi, c'est des Mongols.
C'est des petits cons.
Ouais.
Sur Minital, il y a Caroline DS
qui dit qu'elle veut te voir à la loco.
Mais écoute, il n'y a personne.
Tiens.
Regarde.
Ah, il y a un connecté.
Deux.
Ah, un connecté.
Bah, allez, non, ça...
C'est les parents, Olivier, de toute façon.
Ah, bravo.
Non, je pense pas.
Le téléphone ne répond plus, Max.
Je te branche.
Bon, bon, d'accord.
Bon, bah...
OK.
Donc, septième question.
Avant qu'on fasse la pub.
Non, non, non, non, non, non.
La pub ?
Il n'y a pas de pub, Gérard.
Il n'y a pas de pub.
La pub, à 2h30 du matin.
Gérard, il veut de la pub.
Non, non, avant qu'on...
On va faire la pub.
Avant qu'on s'envoie à un petit disque.
Alors, être harcelé sexuellement
peut-il devenir une maladie ?
On va demander à...
Casse-toi.
J'ai pas compris ta question, Gérard.
Tu peux répéter.
J'ai rien compris.
Être harcelé sexuellement
peut-il devenir une maladie ?
Ah, pas du tout.
Bien sûr, bien sûr.
Mais alors, ça n'a aucun rapport, quoi, je veux dire.
Si, moi, je sais, moi, je sais, moi.
Qui ?
Poupon, Poupon, Poupon.
Ouais, vas-y, Poupon.
Bah, déjà, si tu penses que ça peut être une maladie,
il faut que tu vois ça, en fait, avec ton boss,
parce que ton boss, il a fait l'émission du dimanche soir,
c'est Malade Nocturne.
Ouais.
Et Malade Nocturne, c'est donc pour guérir, justement,
la maladie du harcèlement sexuel.
Non, mais attends, mon boss,
mon boss, déjà, il a un nom, il s'appelle Max.
Bon, Max.
Hein ?
Il a fait...
Il a fait...
Voilà, comme dit Couscous.
Mais il n'a pas fait ça dans le but de faire chier...
C'est tout.
Mais je ne t'ai pas dit dans le but de faire chier,
c'est pour soigner la maladie, c'est fait pour ça.
Mais attends, mais ce n'est pas avec la musique
que tu vas te faire harceler, espèce d'abruti.
Mais non, ça guérit du harcèlement,
et c'est pour ça que ça s'appelle...
Ah ouais, tu crois que la musique a guéri le harcèlement sexuel ?
C'est une nouvelle thérapie New Age Goer,
le malade nocturne.
Ouais, une malade nocturne.
Ok, une question IRC.
Oui, il y a Nostradaminus...
Nostradaminus ?
Non, Nostradaminus.
Il te demande s'il existe des traitements
à base de médicalement.
De médicament, non.
Pas de médicament, de médicalement.
Non, pas à ma connaissance.
Normal.
Qu'est-ce que c'est ?
Je t'ai répondu, Gérard.
Non, ce n'est pas toi qui...
Il vient de me répondre, c'est Poupon.
J'ai répondu juste avant que je disais
que ça n'avait aucun rapport.
Bon, ok. Mathieu ?
Moi, je pense que oui, ça peut être une maladie
de harcèler sexuellement.
Ok. Koskos ?
Ouais, ça peut être une maladie, mais il faut consulter
un bon médecin qui peut te traiter
au Koskos pour que tu te soignes.
Ouais, d'accord, avec les merguez,
les pois chiches...
Que la semoule. Pourquoi pas avec une carotte ?
Non, mais il la fume, la semoule, ou quoi, lui ?
Non, mais attends, il fait bien
et...
Il habite dans une couscoussière...
Non, non, mais lui...
Restez quand même polis,
parce que c'est quand même bien qu'il y ait un mec comme lui,
au moins pour nous donner un peu d'ambiance
dans les débats, parce qu'avec vous, je crois qu'on s'ennuie rien.
Je peux t'en mettre, si tu veux.
Moi, je suis gentil, Gérard.
C'est pas qu'une ambiance.
Poupon ?
Oui, je t'ai déjà répondu, je te dis malade nocturne.
Alors, point noir ?
Moi, je pense pas que ça peut devenir une maladie,
par contre, je pense que ça peut devenir un remède.
Ouais.
Euh, Marmite ?
Non, mais Olivier, c'est pas la peine
de t'amuser, parce que tout à l'heure,
je vais terminer à deux heures et demie, moi, ça va aller vite.
Oh non, oh non, oh non, oh non, oh non.
Marmite ? Oui ?
Oh non, Gérard. Marmite ?
Oh non, oh non. Non, Gérard.
Ah, s'il vous plaît, derrière, vous laissez...
Vous laissez finir
les questions, là. Marmite ?
Moi, ça me rend malade quand je me fais parceler, ouais.
Bon, ben, toi, c'est...
C'est carrément...
Ça, c'est carrément une maladie.
C'est une maladie pour toi.
Ouais, ben, toi, si t'en as pas,
t'es malade. Ben, carrément, ouais.
Donc, plus t'en as, plus t'en veux.
Ben, plus j'en ai, plus j'en ai, plus j'en veux, ouais.
Ouais, mais plus t'en... Si t'en as pas,
ça devient grave. C'est comme de la drogue.
Ouais, c'est une drogue, ouais.
Ouais, ben...
Tu la roules, tu la fumes ?
Mais attendez, attendez, il y a une question hier, c'est...
Oui, c'est une question, Gérard.
Alors, attends. Est-ce que lorsque
l'on pense à toi, Gérard, c'est du
harcèlement mental ?
C'est clair.
Ça, ça dépend
des nanas, et
c'est leur problème.
C'est leur problème, c'est pas le mien, et c'est tout.
Donc, je pose la huitième.
Pourquoi que les gens ont peur
de parler de ce problème, et on va s'écouter
les poules
qui puent avec...
J'ai un oeuf pourri dans le trou
d'épaisse, et vous pouvez
toujours nous appeler au 0803 085000
et toujours le Minitel
et à tout de suite.
... des débats
du jeudi avec Gérard, donc il est
2h31 et on vient
de s'écouter
les poules qui puent
avec... J'ai un oeuf
pourri dans le trou d'épaisse
et on va récupérer
Marmite.
Marmite !
Allô ?
Allô ?
Marmite !
Allô ?
Tu me les calmes, j'irai !
Allô ?
Allô ?
Manu ?
On n'entend plus rien.
On n'entend plus rien.
Vous m'entendez, moi, ou pas ?
Allô ? Allô ?
Allô ? Est-ce que vous m'entendez, moi ?
Gérard, essaye de parler pour voir s'il t'entend.
Il y avait un problème de micro.
Marmite !
Allô ?
J'entends rien.
Allô, couscous ?
Allô ?
Allô ?
Il est parti, Gérard ?
Attends, essaye.
Marmite !
Il a quitté le studio, Gérard ?
Bon, Olivier, tu me fais quoi, là ?
Je fais rien.
Et voilà, c'est pour moi.
Allô, Popan ?
Ça marche, là ?
Marmite !
Ah, ben voilà, ça y est, ça marche.
Marmite !
Ah, salut !
Marmite, rebonsoir.
T'étais où ?
J'étais là, mais c'est Olivier qui s'est mis à faire le con.
C'est pas grave.
Marmite, donc, tu es toujours là ?
Toujours là, ouais.
Point noir ?
Ouais, je suis là.
Toujours là.
Allô, Popan ?
Ouais, je suis là, ouais.
Toujours là.
Couscous ?
Toujours, fidèle.
Toujours là.
Mathieu ?
Encore là.
Toujours là.
Et Castoy ?
Salut, Gégé.
Salut, Castoy.
Donc, toujours là.
Donc, huitième question.
Pourquoi les gens ont peur de parler de ce problème ?
Mais de quel problème ?
On a...
Il y a Dark Vader qui vient d'arriver.
Oh là là !
Dark Vader.
Oh, la force de Dieu !
J'ai rien fait, moi.
Petit Jedi.
J'ai rien fait, moi, Gérard.
C'est quoi ?
C'est quoi, cette histoire de merde ?
Bah, allez, on continue, on continue.
Donc, Castoy ?
Oui, oui, oui, je suis là.
Castoy ?
Oui, Gérard.
Donc, pour toi ?
Bah, écoute, je sais pas du tout, moi.
Personnellement, c'est pas un problème pour moi d'en parler.
Donc, si des gens n'en parlent pas, c'est que ça les gêne, je sais pas, j'imagine.
Allô ?
Allô ?
Donc, Mathieu ?
Mathieu ?
Je vais calmer tout le monde.
Je vais calmer tout le monde, Gérard, c'est pour ça, excuse-moi.
Il est en train de me calmer.
Direct, il me calme.
Bon, alors, Mathieu, pourquoi ?
Bah, ouais, moi, je pense que c'est dur d'en parler, de harcèlement sexuel, quand même.
Parce que si on a peur de se faire harceler, on a automatiquement peur d'en parler.
Ouais, bah, ça, c'est un problème qui se passe à l'arrêt de cause, c'est que personne veut en parler.
Ouais, parce que les gens ont peur.
Non, moi, j'en parle.
Non, mais faut en parler, parce que sinon...
Attendez, attendez, attendez.
Attendez, parce que les gens de l'IRC n'ont pas entendu la question.
Alors, pourquoi les gens ont peur de parler de ce problème ?
Ah, ok, merci.
Gérard, c'est Couscous, je peux répondre ?
Ouais, Couscous.
Bah, moi, j'en parle pas, parce que si j'en parle, si tu parles d'harcèlement sexuel, tu te fais forcément harceler sexuellement.
Donc, j'en parle pas.
Non, mais je vois pas, mais si...
Bon, bah, toi, si tu te fais harceler sexuellement...
Mais si j'en parle à une personne, imaginons, j'en parle à Bébert et Rachida, ils vont m'harceler sexuellement.
Bah, non, si tu leur en parles, que t'as déjà eu des problèmes comme ça...
Ah, bah, ça se voit que tu les connais pas, hein.
Ah, non, mais...
Mais ça, je connais pas tes problèmes, moi.
Euh, Poupon ?
Bah, écoute, les gens ont peur d'en parler, parce que c'est dangereux, c'est une maladie, et...
Bah, y'a des médecins qui font une série, des psychologues, des harceleurs sexuels, des marabouts, tout ça.
Non, non, mais attends, là, Poupon, non, mais non, y'a d'autres personnes, bon, d'accord, tu peux aller...
C'est une peur, c'est une peur.
Non, mais si la personne a peur d'aller en parler à un psychologue ou autre, ça, c'est son problème.
Non, mais si c'est une peur, c'est une phobie, c'est un zombie...
C'est sexuel, donc forcément, tu vas voir un sexologue.
Ah, tiens, y'a une question, Colgate, alors là, elle commence à s'amuser.
Gérard, t'es déjà été harcelé dans un couscoussier par les merguez, alors après, t'as Gérard, t'es déjà harcelé...
Allô ? Allô ? Allô ?
Allô ? Allô, Gérard ? Allô, Gérard ?
J'ai rien fait.
Allô, j'entends ?
Est-ce qu'on m'entend, moi ? Allô ?
Allô, le micro, là, celui-là, il marche pas.
Non, non, mais si !
Celui-là, il marche pas.
Mais forcément, c'est toi.
Ben voilà, ben voilà, attends.
Ça va marcher, là.
Attendez, attendez, les auditeurs, ça va marcher, ça va marcher.
Vas-y, parle, Gérard.
Allô ? Allô ? Allô ?
Vous l'entendez, là, vous l'entendez, Gérard.
Ça marche.
Ça marche !
Gérard, t'as vu, toi ?
Si, vous l'entendez.
Ça marche.
Non, j'ai pas les CD, arrête !
Allô, j'ai pas les CD !
J'ai pas les CD, j'ai connu !
Voilà, ça y est, ça marche.
Parle dans ton micro, Gérard, parle dans ton micro.
Vous l'entendez, là.
Là, il va vous parler, il va vous parler, vous l'entendez, c'est sûr.
C'est toi qui arrête pas de déconner, Gérard !
J'ai rien fait !
On t'entend, même.
Hein ?
On t'entend, Gégé.
Ouais, y'a pas de problème, y'a pas de problème !
Eh, vous l'entendez, vous l'entendez, vous l'entendez.
Non, tout le monde !
Oui, je suis là.
Tout le monde ?
Oui, oui, oui, oui.
Ben, toi ?
Ben, tu peux m'éviter la question, parce qu'avec tout ce bazar,
avec les problèmes techniques, là, ça devient dur, hein.
Pourquoi que les gens ont peur de parler de ce problème ?
Ben, ce que je te disais, si t'as peur, t'as une phobie, ok ?
Ah, ben, ouais, t'avais déjà répondu quand je t'avais dit...
C'est sexuel, voilà, c'est bon.
Ok.
Point noir.
Ben, moi, j'ai pas peur d'en parler, au contraire, c'est Mexique.
Ben...
Non, mais attends...
Ouais, je pense, parce qu'à ton âge,
à ton âge, je pense que j'irais voir quelqu'un pour en parler quand même, hein.
Non, je préfère pas en parler, je préfère le faire.
Oh, là, non, d'accord.
N'importe quoi.
Marmite.
Ouais, ben, moi aussi, j'en parle, hein, je m'en fous, hein.
Oh, les cochons...
Ouais, mais t'en parles dans ton entourage.
Ouais, moi, j'en parle à tout le monde, t'as vu, là, je t'ai appelée pour t'en parler, hein.
Non, mais attends, c'est pas moi qui t'ai appelée, c'est au standard qu'on t'a appelée.
Non, c'est moi qui t'ai appelée.
Ouais, mais après, le standard t'a rappelée pour participer au débat.
On l'a harcelée.
On l'a harcelée.
Ils m'ont un peu harcelée sur la scène.
Non, je l'ai téléphoné uniquement.
Hum-hum.
Tu le disais, Couscous ?
Je disais qu'ils l'ont harcelée téléphoniquement.
Non, mais ça...
Ouais, mais c'est si bon.
On l'a bien fait, là, un peu !
Moi, je voulais juste rajouter que vous avez quand même harcelé le boss, quoi.
Ouais.
Ouais, on a harcelé le boss depuis le radio.
Je vais te dire que le boss, on a été à deux doigts de l'enlever, de le torturer, c'est clair.
C'est clair, c'est clair, quand même.
Ça, il sévire, quand même.
Moi, je l'ai harcelée à coups de saucisse dans le derrière.
Il a bien fait de lâcher... Oh, non !
Bon, on reprend pour ton débat.
Donc, neuvième question.
Devrais-t-on créer une école sur le harcèlement sexuel ?
Oh, oui !
On va demander ça, tiens, point noir, parce qu'à 17 ans...
Point noir, j'ai t'éclaté, ouais.
Ah, ouais, non, mais moi, je suis tout à fait d'accord pour cette initiative, ouais.
Ah, ouais, il n'y a aucun problème.
Bah, déjà, comme je te disais tout à l'heure, on fait des trucs par correspondance.
Mais alors, si on ouvre une école, ah, ouais, moi, j'arrête la boulangerie et je vais dedans, quoi, c'est clair.
Moi aussi, hein. Moi, je fais prof.
Qui, qui, qui, qui ?
J'en fais prof, j'harcèle tout le monde, hein.
Moi, je veux bien des cours particuliers, à ce moment-là.
Bah, il n'y a pas de problème.
Ah, moi aussi, hein.
Non, mais attendez, attendez, attendez, attendez, attendez.
Alors, Marmite, toi, t'es d'accord avec point noir, poupon ?
Bah, moi, je dis qu'effectivement, il faut des pédagogues pour faire des écoles, c'est clair.
Des pédologues.
Non, des pédagogues.
Des pédagogues.
Des pédologues.
Mais, d'accord, allez-y, allez-y.
Tu vas du tube.
Jeune Skywalker.
Ah, tu vois ?
Je vais aller voir la Blancie.
Couscous.
Oui, Gérard.
Ouais, moi, je pense que ça serait bien, mais il faudrait que la professeure, elle soit bien roulée, hein.
Ouais, mais ça, c'est...
Ah, parce que sinon, il n'y a pas moyen d'apprendre, hein.
Toi, tu ne peux pas trouver des propres...
Donc, elle écarte bien les cuisses, pour qu'on va bien la foufler, quoi.
Non, bah, t'es vraiment un cochon, toi.
Ouais, mais il faudrait qu'il n'y ait pas que de la théorie, il faudrait qu'il y ait de la pratique aussi.
Mathieu ?
Bah, évidemment.
Oui, alors moi, je pense que ça serait une bonne initiative de faire une école sur le harcèlement.
Puisque, comme ça, je pourrais être professeur et je pourrais faire mes mises avec des...
D'accord, euh...
Casse-toi.
Bah, écoute, moi, Gérard, je suis tout à fait d'accord.
Elle s'est cassée.
Pourquoi tu l'as dit, casse-toi ?
Je ne sais pas, il l'a pris pour lui, quoi.
Tu lui dis, casse-toi.
Je vais le rappeler, je crois que c'est Couscous, en plus.
Couscous, il l'a mal...
Non, il n'est plus là.
Il l'a mal pris, ce que tu lui as dit.
Bon, bah, il y a une place, hein.
Bon, donc, moi, je peux vous dire une chose.
Moi, je peux vous dire une chose.
Des écoles, je ne voudrais pas que ça existe.
Bah, pourquoi ?
Ouais, non, pas avec les profs, hein.
Eh, l'école, c'est bien, quand même.
Ouais, non, mais peut-être...
Attends, je vais te dire, s'il y avait des cours de quéquette à l'école,
les lycéens, ils ne seraient pas en grève, hein.
Tu m'étonnes, tu m'étonnes.
Non, mais attends, ça...
Non, non, ça, là-dessus, c'est...
Attends, ils feraient des heures supplémentaires en permanence et tout, tout ce que tu veux.
Il y a une question, IRC...
Il y a une bonne question, IRC, de Kevin Klein.
Gérard, comment reconnaître un harceleur potentiel ?
Voilà, euh...
C'est trop compliqué pour lui.
C'est pas les harceleurs potentiels, en plus, c'est les harceleurs sexuels.
Tu dis n'importe quoi, Rigo.
Non, mais même, de toute manière, là-dessus, je peux rien dire.
Non.
Alors, dernière question.
Déjà ?
Eh oui, bah...
Attends, il reste encore 20 minutes.
Bah non, bah...
Après, on verra...
Moi, j'ai plein de questions sur l'IRC, si tu veux, Gérard.
Est-ce que c'est du harcèlement sexuel si on fait l'amour ?
Ouais.
Alors, Marmite ?
Euh... Ouais.
Bon, toi...
De toute manière, toi, t'es...
Ouais, ouais, moi, j'aime tout, quoi.
Toi, t'es carrément branché...
Toi, t'es carrément branché à fond, là-dedans, hein.
Bah, à fond, ouais.
Ah, ça y est, c'est lui qui applaudit.
Donc, euh...
Pour toi, donc, euh...
Ça te dérange pas ?
Oh, non, non, non, rien ne me dérange.
Toi, Noir ?
Oh, bah, moi, tant qu'il y a de la vie, tout va bien.
Oh, bah, toi, à 17 ans...
Oh, non, non, non, alors...
À quel âge que t'as perdu ta...
Ta petite flamme ?
À quel âge que t'as été...
À quel âge que t'as commencé tes relations ?
À 14 ans.
Oh.
Allez-y, j'espère que vous serez demain à la locaux, hein.
À 14 ans ?
14 ans ?
Ouais, 14 ans.
Oh !
On jette rien, tu vois.
On jette rien.
J'ai rien fait, mais...
14 ans que je te balance un micro !
Je suis sûre que je t'en apprendrai des trucs.
Olive ?
OK, OK.
J'ai rien fait.
Non, presque pas.
Euh, Poupon ?
Ouais, bah, écoute, moi, je dis, dans ces cas-là,
on sait à quoi on s'expose.
On peut perdre sa place de président, hein.
Non, ça, je crois pas.
Non, mais ça...
On va pas parler de vie privée,
mais tu sais très bien de quoi on parle.
Tu crois que Chirac...
Bah, je veux dire, avec la gueule de Bernadette,
moi, je comprendrais qu'il a garcelé ailleurs.
Mathieu ?
Mathieu ?
Il y a quelqu'un qui applaudit, ça me gêne.
Ça commence à me prendre...
Olivier, fais gaffe, parce que tout à l'heure,
je vais te balancer quelque chose, toi.
Tu vas comprendre.
Je vais te balancer la douleur.
Chirac, excusez-moi, on retrouve Couscous.
Ouais, bonsoir, Chirac.
Il l'avait mal pris, mal pris, quand tu lui as dit,
casse-toi, mais je lui ai expliqué que c'était pas lui.
OK.
Voilà, Chirac, en attendant...
Alors, attends, je vais retrouver,
j'arrive plus à savoir où c'est.
C'est Disco qui dit,
si Adam avait pas harcelé Ève,
on serait pas là.
Exact.
Ouais, bah, ça, peut-être.
Donc...
Ah, bah non, sûrement.
Bah, oui.
Mathieu, pour toi ?
Donc, oui, je pense que le harcèlement sexuel,
c'est faire l'amour, c'est sûr.
Ouais, mais casse-toi.
Moi, je crois pas qu'il y ait de l'harcèlement là-dedans,
parce qu'étant donné que je suis une entente
entre les deux, moi, je crois pas, non, franchement.
Et Couscous ?
J'ai pas entendu, parce que tu viens de me rappeler.
Alors, est-ce que c'est du harcèlement sexuel
si on fait l'amour ?
Ah, bah, ça dépend comment tu le prends
et ça dépend comment tu le fais, par derrière.
Comment tu l'apprends ?
En sodomie, moi, j'aime bien.
Non, mais ça, c'est...
Moi, je crois pas que c'est du harcèlement sexuel.
Du moment que tu fais l'amour, il n'y a pas de problème.
Ouais, mais...
Ah, il y a un mec qui est malade.
On coule, les mecs, on coule.
Je suis en évasion dans mes chiottes.
Par contre, Gérard, moi, j'ai une question pour toi.
Est-ce que tu crois que quand on drague une fille,
on peut considérer ça comme du harcèlement ?
Ouais.
Non, non, non, non.
Parce qu'au début, t'insistes.
Si elle veut pas, t'insistes.
Ouais, ça, s'il te plaît.
Non, mais je peux dire que t'as pas besoin d'insister.
Ouais, mais toi, c'est parce que t'es un sex-symbole
que t'as pas besoin d'insister.
Il pense à tous les Tony, Arnett et Goldo comme William Graham.
Non, mais ça, chacun...
Attendez, laissez parler Gérard.
Non, mais chacun voit midi à sa...
Chacun voit midi quoi ?
Chacun voit midi à sa porte et c'est tout.
Ça, je vois pas du tout le rapport.
Si la nana veut pas sortir avec toi,
elle sortira pas avec toi, c'est tout.
Donc...
Confusion !
Bravo.
Bravo.
Conclusion, Marmite ?
Ben, conclusion, vive la bite.
Mais pas déjà, attends, il reste un quart d'heure.
Non, mais c'est pas grave, après, on fait un mini-débat improvisé.
Il reste un quart d'heure, j'ai inventé une question, improvise.
Un débat sur les portes clés, après, ça va être génial.
Allez, on...
Non, non !
Une question sur l'IRC, une question sur l'IRC.
On fait con...
On est bien !
Tu veux du tube ?
Oh, oh, oh !
On dit...
Alors, à la demande des auditeurs,
on a une petite question IRC de Compi Musique.
8ème com, c'est un peu long comme nom.
Le harcèlement donne-t-il la chiasse ?
Si oui, de quel côté ?
Du côté droit.
Ouais, c'est clair.
De la fête droite.
Non, je vois pas du tout le rapport.
C'est connu, pour vrai.
C'est connu, Gérard.
Non, on fait la conclusion sur...
Alors, attends, attends, parce qu'il y a une question.
Vas-y, Gérard.
Vas-y, excuse-moi.
Oh, bon, ben...
Est-ce que, par exemple, la pilule Viagra incite au harcèlement ?
Bon, Manu, ta question retourne en standard.
Tu veux du tube ?
Pas forcément, Manu, parce que moi, je prends pas de Viagra
et j'harcèle, quoi.
Tu vois, c'est une bonne question.
Non, mais ça, c'est le débat de la semaine prochaine.
On est bien, t'as-tu un ?
Eh, dégage, dégage !
Je veux plus te voir, là !
Ah, j'ai pas fait exprès.
Bon, en attendant, j'ai Davy1, Davy1, sur l'IRC,
qui est allé voir la définition du harcèlement sexuel dans le dictionnaire.
Ouais, quand même !
Et on y apprend que le petit Robert a harcelé la rousse.
Ah, ah, ah !
Donc, conclusion marmite, on fait conclusion sur ce débat et c'est terminé, après.
Ouais, ben, vive la vie.
Et puis, prends garde le sourire, Gérard.
Ouais, mais...
C'est important, là.
Il y a certains trucs...
Demain, je viens te harceler dans les chiottes de la loco.
Ouais, ben, t'as raison.
Tu verras comment tu vas être aussi avec moi, demain.
Ben, d'accord.
À demain.
Ouais, ben, on verra.
Dans les toilettes, hein.
Point noir.
Oui, oui.
Ben, écoute-moi, Gérard, honnêtement, t'es devenu ma proie.
Je vais t'harceler, ça va être puissant, quoi.
Tu suis ?
Je dis, ça va être puissant, parce que tu m'as donné l'envie de t'harceler.
Et franchement, tu...
Ouais, non, mais attends, moi, je sors pas avec des mineurs, hein.
Tu vas subir.
Tu vas subir ce que jamais t'as subi, Gérard.
Ouais, ben, moi, je sors pas...
Tu vas pouvoir définir le terme harcèlement.
Ouais, ben, moi, je ne sors pas...
Ah, les mineurs !
D'ici, tu me sauteras, Gérard.
C'est ça, ben, alors, je préfère me mettre une capote avant d'attraper des morpions avec toi.
C'est plutôt l'inverse, je crois.
Poupon !
Il sort pas avec des mineurs, il sort que avec des horreurs.
Alors, Poupon, ta conclusion, je viens de l'entendre.
Terminé pour toi.
Mathieu ?
Ouais, je me suis mis à skier tranquille, donc, Gérard, tes débats, bof.
Et puis, mais par contre, moi aussi, je vais t'harceler, je vais te faire ta fête demain, tu vas voir.
Ouais, ben, on verra.
Je te dis bon.
Ouais, ben, surtout de Toulouse, t'as raison.
Tu crois que...
Attends, tu crois quoi ?
Moi, j'ai une voiture, hein.
Moi, j'ai une voiture, mon pote.
Casse-toi.
Ah, ben, écoute, moi, Gérard, ton débat, il m'a vachement chauffé.
Ouais, casse-toi, mais casse-toi.
Bon.
Bon, ouais, tu me vires la chialose, là.
Ouais, mais bon, tu l'as déçu, quoi.
Et alors, j'en ai rien à foutre.
Casse-toi.
Ouais, Gégé.
Ben, écoute, Gérard, je viens de te le dire, je t'ai dit, ton débat, il était vachement chaud, et maintenant, j'ai vachement chaude.
Ah, ben, c'est bien.
Ouais, Gégé.
Couscous.
Couscous.
Oui.
Il y a de la soule dans les oreilles.
Couscous.
Ouais, il y a pas de problème.
Moi, je dis que le harcèlement sexuel, c'est pas bien, mais fais quand même gaffe à ton derrière.
Il y a un accident si vite arrivé, Gérard.
Non, mais t'inquiète pas, j'ai mon cadre du corps.
Moi, je vais te le prendre le derrière comme il faut, tu vas voir.
J'ai rien fait.
Olivier, tu m'éteins ce micro vite fait.
Tu m'éteins ça vite fait.
Ça y est, ça y est.
C'est toi qui joue.
C'est toi qui joue depuis tout à l'heure.
M'éteins ça.
Bon, ça va, Simon, les auditeurs ?
Ouais, ça va, il n'y a pas de problème.
M'éteins, sinon, tu vas le payer dix-cinq.
C'est un petit débat.
Tu es du tube.
Tu es du proche.
C'est bon, Gérard ?
Donc, moi, la conclusion sur le harcèlement sexuel, c'est la dernière fois, Olivier, que tu fais la pro.
Oh non !
Non, mais je peux te le dire, c'est la dernière.
C'est pas une conclusion.
Déjà, tu m'as fait taper ton bordel, donc t'as gagné.
Et voilà, je ne fais jamais rien, c'est toujours ce que j'arrive à faire.
Non, non, là, tu viens d'appeler.
Alors, t'éteins ça, parce que...
Ok, ok, ok.
Tu ne me jettes pas ce laser dans la figure.
Ouais, mais c'est pas le tien, c'est à moi.
Alors, ça te coûte dix-cinq.
Ouais, mais ça peut lui faire mal aussi, quand même.
Tu veux me jeter un laser dessus et tu veux me le faire payer.
C'est un peu de pratique.
Donc, si vous avez des questions à me poser, moi, je peux...
Allez, chacun son tour, chacun son tour, une question.
Alors, on va demander à Marmite.
Vous avez encore dix minutes.
Euh, même pas...
Si, si, si, un quart d'heure, dix minutes.
Non, non, non, non.
Fais tourner, fais tourner.
Marmite !
Ouais, attends, je réfléchis, là.
Non, mais vous, il faut faire vite.
Ouais, ouais, non, mais je réfléchis.
Si un jour, tu travailles,
est-ce que toi,
si tu travailles,
si t'étais patron, tu harcelerais tes secrétaires ?
Non.
Oh.
Pourquoi ?
Je t'ai vu harceler des fois des filles ici.
Oh, mytho, Gérard.
Non, mais attends, toi, Olivier, tu t'écrases,
tu pourrais mieux t'occuper de ton boulot.
Quand Sandi n'est pas là...
Mais attends, attends.
J'ai vu harceler des mecs.
Eh, tu veux qu'on n'en passe des cendres ?
Des chiens, mais...
T'es vraiment un bâtard, hein.
Oh, là, là, là, là, là.
T'es vraiment un bâtard, quoi, de dire des conneries comme ça.
Là, t'es en train de le...
Le harceler, verbalement.
Tu dégages.
Allez, hop.
Tu vires.
On finit.
Tu vires.
Non, non, non, tu vires.
Je veux plus te voir dans les studios, toi, maintenant.
Bonne nuit.
Hop, casse-toi.
On en parle tout à l'heure.
Non, non, non, non.
Ah, OK.
Gérard, sur IRC,
Gérard, sur IRC,
il y a Axel Durot qui dit conclusion
quand tu passes à mon bureau.
Moi, qui veux.
Ça m'étonnerait que ça soit le vrai.
On verra demain.
Un avertissement.
On verra demain.
On voit noir.
Ouais, ben, moi, j'ai pas de questions spéciales,
mais je voulais simplement te dire
que te retrouve jamais tout seul
parce que sinon, je vais te sauter dessus, quoi.
Ouais, ben, attends.
Déjà, à 17 ans,
faudrait que tu sais que tu m'attrapes.
Ouais, il faudrait...
Je cours pas super vite, Gérard.
Elle peut te rattraper, hein.
Ouais, non, mais attends.
Je pars du principe
que quand on veut quelque chose, on l'a.
Ouais.
Tu crois que je vais quitter Sandy pour toi ?
Ah, non, absolument pas.
Tu peux la garder.
Moi, ça me dérange pas.
Je préfère être la maîtresse.
Ah, non, ben, alors là,
je vais te dire une chose.
Tu te mets le doigt bien profond, que je pense.
Tu te quittes pas, je basse mon flip et je le mets.
Ouais, ben...
La cochonne, la cochonne.
T'es vraiment une allumeuse, toi.
Salope.
Ah, la salope.
Je sais pas, je voulais pas dire ce mot.
Et tu l'as dit pourtant.
Non, non, c'est pas moi qui te l'ai dit.
Gérard, est-ce que je peux me faire un fist ?
Qui ?
Mermitte.
Moi, je te fais un foot, hein.
Non, Mathieu.
Ouais, ben, moi, je voudrais savoir
quand est-ce que tu vas t'acheter un rasoir
parce que là, t'as vraiment une tête de pignouf, en fait.
Ben, quand j'en ai les moyens.
Ben, je t'en amènerai un de ces quatre, alors.
D'accord, ben, tu l'envoies à la radio.
Pas de problème, pas de problème.
Et casse-toi.
Mais, Gérard, j'ai pas de questions pour toi, désolée, mais...
Tu veux du tube ?
Arrête, arrête, arrête, arrête.
Mais y a un gamin ou quoi ?
Qui c'est qui vient avec un niard ?
Qui c'est qui a un gamin, Manu ?
Je sais pas, moi, c'était pas...
Non, c'était pas prévu, mais tu prenais mieux de le prévoir.
Ben, tu sais pas, moi, c'était pas...
Tu vois, quand c'est du harcèlement, ça finit par faire des gosses, hein, toi.
Ben, voilà.
Ça fait rire les gamins, le harcèlement.
Non, mais tu es le premier de prévoir.
Ah !
Ça, c'est la génération, le harcèlement.
T'as été le premier de prévoir.
Ben, le gamin, il rigole.
Tu l'amuses, tu l'amuses.
Non, mais attends, parce que...
Casse-toi, j'ai pas compris sa question.
Et couscous, c'est à proposer.
Et poupons non plus.
Quoi ?
Et poupons non plus.
Si, tu l'as déjà posé, toi, ta question.
Non, c'était Mathieu.
Euh, casse-toi.
Ben, donc, Gérard, ça va être difficile de comprendre ma question,
étant donné que j'en ai pas posé.
Oh, pardon.
Olivier !
Je l'ai coupé.
Arrête !
J'ai coupé, c'est ça, exprès.
Toi, je sens qu'il y a une ramette de papier, là.
Je pense qu'avant la fin de la soirée,
elle va voler dans ta tranche.
Cool, cool.
Dans ta tranche.
Alors, casse-toi, donc.
T'as pas de questions ?
Non, j'ai toujours pas de questions.
Eh ben, t'inquiètes pas.
Ben, casse-toi.
Ben, voilà.
Tu peux...
Moi, j'en ai une.
Est-ce que, Sandi, tu la harcèles sexuellement ?
Alors, non, c'est qu'elle a...
Ah, et vice-versa.
On me dit sur IRC.
Tu fais 849, on va lui demander qu'un réagisse.
Ok, ok, ok.
Donc, Couscous...
849 kilos ?
Oh, là, là.
C'est gentil, ça, hein.
Non, mais continue ton débat.
Attends, j'attends que Couscous pose la question.
Et tu éteins ce doublasson !
Oh, Chewbacca.
Oh, oh, oh !
Éteins ça, là.
Quoi ?
Éteins, éteins.
Tu m'excites, Gérard, quand tu cries.
Elle mouille, elle mouille.
Je suis trompée, hein.
Eh ben, eh ben, voilà, Gérard.
Gérard, quand tu veux, hein.
Gérard, elle est là, ta femme.
Donc, la question, c'est quoi ?
Est-ce que Gérard harcèle sexuellement et vice-versa ?
D'accord.
Alors...
Ah, ben, raconte-nous.
Oui, effectivement, il harcèle,
mais c'est uniquement pour lui ramener le café le matin.
Oh, là, là !
Chotte comme la moelle.
Je crois que, là, si je ramène pas le café le matin,
là, il me fait une crise, hein.
Ah, ouais.
Oui, moi, j'étais poupon.
Ouais, poupon, oui.
Ouais, je voulais dire,
vous parlez beaucoup du harcèlement sexuel,
mais, effectivement, on parle pas du harcèlement ménager
ou du harcèlement culinaire.
Merci.
Où l'homme force sa copine à la cuisine et le ménage.
Ça, c'est du harcèlement ménager et culinaire.
C'est un peu macho, Gérard, en fait.
Ah, Gérard, t'es couscous.
Ouais, couscous.
Pour finir...
Est-ce que tu penses que le harcèlement sexuel est en principe ?
Hein ? Principe ?
Par rapport au site.
Si tu parles de la syntaxe des palmypèdes
dans la pédagogie instinctive, c'est sûr.
Non, mais c'est pas con, ça.
C'est pas con, Gérard.
Qu'est-ce que t'en penses ?
Personnellement, rien du tout.
Ouais, en fait, tout est lié, quoi.
Pourquoi ?
Ça serait pas entre un site par rapport au site du texte.
Non, si tu reviens au concept abstrait de la prévision...
Laissez parler un peu Gérard, aussi.
Non, non, mais moi, de toute manière,
sur la question, je peux pas répondre.
Non, mais c'est du con.
Ça dépend de quelle façon t'interprètes la réponse.
Voilà.
Si uniquement tu vas à la lignée 1, c'est pas possible.
Non, mais là, on va se quitter.
On va se quitter, là-dessus.
6 minutes, encore.
Non, non, 6 minutes.
Non, mais c'est vrai, tu as 10 minutes.
Oh, 6 minutes ?
Jusqu'au bout, ton boulot.
Gérard, c'est Bousco, je peux te poser une question ?
Vas-y.
Est-ce que t'as déjà vu des personnes faire du harcèlement sécuel ?
Euh, jusqu'à maintenant, non, pas encore.
Eh ben, tu vas bientôt pouvoir le voir.
Mais attends, toi, à 17 ans, tu vas pas me prendre la tête.
Elle va te prendre le cul.
Non, mais attends, toi, à 17 ans, déjà,
t'es pas sûr de rentrer à la loco.
À mon avis, t'es une grosse allumeuse.
Toi, t'es une... Ouais, Gérard, encore mieux.
Et je préfère maintenant...
T'es une grosse pétasse, aussi, hein.
Non, mais...
Elle est jalouse.
Oui, elle est jalouse, et elle a très bien...
C'est pas la question d'être jalouse, c'est la question que ça se fait pas.
Quand t'as un mec, tu vas pas aller voir ailleurs,
tu vas pas allumer les autres mecs pour le plaisir.
Attends, je vais te quitter, j'ai un mec.
Non, non, mais attends, eh.
Attends, eh, euh...
Elle, elle va allumer Gégé.
Eh, point noir, point noir.
Pourquoi pas, pourquoi pas.
Eh, point noir.
Bon, l'anniversaire.
Eh, point noir, quand même, tu pourrais te faire plaisir, j'ai...
Eh, point noir, déjà, à 17 ans,
t'es pas sûr de rentrer à la loco, déjà ?
Je la ferai en...
Je peux t'attendre à la sortie.
Ouais, bah, là, là, tu sauras même pas comment que je serai allumé.
Ouais, mais Gérard, j'ai pris selon son nom,
et je l'ai mis plus un sur le liste.
Ouais, bah, dans ce qu'elle a...
Je vais la faire rentrer.
Attends, eh, tiens, point noir.
Je vais la faire rentrer, moi, je vais la faire rentrer.
T'as qu'à allumer le bouboulot standard.
Elle veut pas de moi, elle veut de toi.
Non, mais moi, j'en veux pas, moi, j'ai appris.
Alors, dans ce qu'elle a, tu vois, point noir,
ce que tu viens de dire,
eh ben, tu vas gâcher l'anniversaire à Max,
et que demain, je reste chez moi.
Voilà, bravo, point noir.
Ah, bah, pour une fois, j'étais décidée d'y aller.
Bah, ouais, mais tu diras merci à point noir.
Gérard, c'est pas à cause d'une fille de 17 ans
que tu vas pas venir dans l'anniversaire.
Moi, je réponds pas à des questions d'une petite...
Mais t'es une vraie gonzesse, toi, à 39 ans,
tu perds les pédales pour une fille de 17 ans.
17 ans, tu dis, 17 ans, c'est une anniveuse.
Elle rentrera pas, elle rentrera pas.
Mais c'est quoi, ce délire, là ?
Gérard, si ça peut te rassurer, je travaille le week-end.
Bah, ouais, c'est ça, t'as...
Gérard, tu vas venir vendredi à la loco, puis c'est tout.
Attends, tu vas pas discuter, attends, ça va.
On a besoin de toi, Gégé, on t'aime.
DJ sur N.
Ouais, un couscous.
Oui.
Bah, toi, alors, qu'est-ce que t'as de spécial à poser
comme question ? Parce qu'à force...
Non, ça suffit, derrière, là.
Moi, j'en ai une, Gérard.
Bah, moi, je prends un Mars et ça repart.
Ok, bah, ça, c'est bien comme pub.
Ouais, qui ?
C'est moi, deux trucs, c'est...
Qui, qui, qui, qui ? Marmite !
Non, c'est Marmite, en premier.
Est-ce que tu crois que le thème du...
Arrête, arrête.
Bon, eh, tu me laisses Marmite pour un instant,
tu me coupes les autres parce qu'ils me font chier.
Eh, bah, non, ouais.
Est-ce que tu crois que le thème du...
Oh !
Ah, non !
Eh !
C'est marmite !
Eh bah, ouais, ça y est, j'enlève les autres !
Putain, il m'a mis une claque, j'ai réussi.
Eh, ouais, eh !
Tu vois, tu ne t'y attendais pas.
Ah, ça, c'est éventuellement bien.
Voilà, je réponds. Alors, Marmite !
Eh, Gérard !
Gérard, est-ce que tu crois que le thème du harcèlement...
Oh, les mecs !
...pourrait être porté au cinéma ?
Gérard, tu pourrais te retenir.
Marmite !
Gérard, est-ce que tu crois que le thème du harcèlement
pourrait être porté au cinéma ?
Bah, de toute manière, ça se voit
dans les films.
Harcèlement sexuel.
T'as vu des films de harcèlement ?
Quand tu vois Brigitte Laé ou...
C'est un film de boules, ça.
Ouais, mais même, quand tu vois les trucs sur la mode,
fais-moi confiance.
Les mecs, ils se rincent bien l'œil
quand ils préparent les nanas
pour défiler.
C'est sifflé. Est-ce que t'as vu le film
Le harcèlement, avec Demi Moore ?
Alors, le film Harcèlement
avec Demi Moore...
Demi Moore !
Oui, c'est vrai que...
Bien sûr, c'est...
Avec Roger Moore.
Avec Demi Moore.
Avec Roger Moore.
De toute manière, tu l'as, la maison.
C'est pas...
Oh !
C'est pas harcèlement, c'est striptease.
C'est striptease.
Il est encore sifflé, ou quoi ?
Non, je sais pas, je crois que c'est en haut,
à l'accueil, ils font la toffe.
Moi, j'ai vu un autre film d'harcèlement,
ça s'appelait Ferme la porte, que j'ai écarté.
Moi, j'ai vu un truc,
c'est que maintenant, je vais vous laisser.
Gérard, c'est Couscous, j'ai une question.
Ouais, vas-y, la dernière.
Est-ce que tu peux me reciter une fable de La Fontaine ?
Le corbeau et le renard, voilà, terminé, point final à la ligne.
Gégé, Gégé, 9.9, ça fait combien ?
9.9, 68.
Non, arrêtez, c'est pas grave.
Bon, Gégé, moi, je voulais te dire, la semaine prochaine,
tu fais un débat sur le vieux gras,
et je voudrais savoir où c'est qu'il faut le mettre, le vieux gras.
Non, mais le vieux gras, c'est un truc
que tu mets dans ta bouche et que...
Il est là, le vieux gras.
C'est sûr que c'est pas des suppos de vieux gras ?
Bon, alors, conclusion vite faite, Gérard,
pour le débat de ce soir, qui était bien, quand même,
à part Olivier, qui a perturbé un petit peu la fin de ce débat,
dommage.
Donc, tu ne feras pas partie de l'équipe la semaine prochaine.
Pour commencer.
Donc, tu es renvoyé, tu ne fais plus partie de notre équipe le jeudi.
Alors, la conclusion, Gérard, s'il te plaît,
parce que tu t'écares toujours du débat.
C'est toujours aussi mauvais.
Ben non, conclusion, c'est dommage
que ça soit terminé comme ça, sinon, je pense que
c'était un bon débat, à part le premier,
qui a foiré.
Non, il était bien, il était bien.
Il a quand même foiré, mais je pense que
sur l'IRC...
Ça a répondu présent, c'était parfait.
La conclusion sur le harcèlement sexuel,
parce que ce n'est pas ça ce qu'on attend de toi,
c'est de parler du débat.
Je pense que c'est un peu con
ce qui arrive aux gens, maintenant,
quand ils vont voir les patrons.
Voilà.
D'accord.
Quand la nana va voir le patron, si t'es bien,
si t'es canon, comme Marmite a dit, t'es prise.
Si t'es pas bien,
tu retournes chez Noir.
C'est canon, Marmite, tu crois ?
Je ne sais pas.
Moi, je m'en fous, personnellement.
Mais moi, je peux te dire que
si t'es bien, t'es prise.
Si t'es pas bien, ben...
C'est simple, il va te dire, on te rappelle.
Et puis, ta candidature, elle va, comme Manu vient de faire,
hop, à la poubelle.
Voilà, exactement.
Donc, la semaine prochaine, les deux thèmes du débat.
Donc, on va parler sur le Viagra,
qui est sorti, là, depuis peu.
Et bien sûr, le fameux débat,
tu veux que je fasse à tout prix, mais...
Je ne suis pas chaud, mais on va le faire quand même
en deuxième partie du...
En deuxième...
Deuxième partie.
Ça sera sur la politique.
Et voilà.
Donc, deux débats qui risquent d'être, quand même...
Assez mouvementés.
Assez mouvementés et assez chauds.
Et on va se quitter avec...
Avec Jazz.
Jazz.
C'est pas ça, c'est...
Non, c'est pas ça.
Non, c'est pas celui-là.
Jazz sur Fun Radio.
Je vous souhaite une bonne nuit.
Demain, 22h, bien sûr.
Et puis, on vous souhaite une bonne nuit avec Rousseau.
Et puis, on se retrouve jeudi prochain.
Et sinon, demain soir, avec nous, à la loco,
pour fêter mon birthday.
Ça sera en direct, d'ailleurs, de minuit.
Nuit à 4h du matin.
Bonne nuit.
== Le débat sur la politique ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
21 ans de Mazamé
Mérice Pédissoir Gérard
Cassenoisette
19 ans de Niort
Ça va bien ?
Je sais pas, j'ai pas regardé ce matin
Plotte-moi, 20 ans de Gap
Bonsoir Gérard, bonsoir Yargla
Bonsoir Tuiline, je te kiffe bébé
Pas de message
Les messages terminés, c'est bon pour toi
Tony
Et bonsoir, j'adore la politique
20 ans de Paris
C'est tout, on va les rappeler
Non, on va les rappeler, ils sont pas encore là
Alors pourquoi vous me donnez des fiches
Avec des noms qui sont pas là, des auditeurs
Alors commencez pas à faire votre travail à moitié
Au boulot
Ce soir faut être sérieux, on va arrêter de déconner
Parce que ça commence à déconner à plat tube
Donc dans un instant, débat de Gérard
Comme chaque jeudi bien sûr, sur la politique
On récupère saucisson à l'ail qu'on a eu tout à l'heure
Bon, rebonsoir
Rebonsoir Gérard
Cassenoisette, rebonsoir
Rebonsoir Gérard
Parle un tout petit peu
Parle un tout petit peu
Parle un tout petit peu
Un petit peu plus fort s'il te plaît, merci
Rebonsoir Gérard
Plotte-moi 20 ans de gap
Oui bonsoir, je tiens à préciser que je ne foutrai pas le bordel ce soir
Ouais ben j'espère pour toi
Et ceux qui ont des téléphones pourris, vous me le dites
Attends, Manu il va gérer ça
Parce qu'il y en a qui ont un téléphone vraiment pourri, on va le trouver
Tony, rebonsoir
20 ans Paris
Rebonsoir Gérard
Tête bête
Salut Gérard
20 ans de dîner
Et gros string, 23 ans de bourge
On peut écouter Fun Radio sur 96.7
J'ai oublié de préciser les fréquences
Ouais c'est ça, salut Gérard
Bonsoir, donc tête bête c'est
Dîner en 103.5
Tête bête, pas tête bête
Dîner en 103.5
Paris 101.9
Gap 93 FM
New York 93.4
Mazamé 99.4
Celui qui s'amuse avec les sonnettes
Son prier d'arrêter, merci d'avance
C'est chez toi Gérard
Non mais je ne suis pas chez moi pour l'instant
Celui qui s'amuse avec les sonnettes
Gare
Alors première question
Donc le premier débat c'est sur la politique
J'ai oublié de préciser
Ma passion
Donc à quoi sert le vote en politique ?
Anthony comme c'est ta passion, vas-y
Le vote en politique, c'est pour élire les élus
Et c'est très important
Parce que c'est ceux qui nous représentent
Au sommet de l'Etat
Donc c'est eux qui nous disent
Tu vas payer tant d'impôts chaque mois
Et qui nous prennent un cinquième de notre salaire
Et je trouve ça dégueulasse
Il n'y a pas qu'un cinquième de notre salaire
Et qui nous prennent quand même plus aussi
Parce qu'il faut dire aussi qu'il y a la
La CPG aussi
Non non il y a un autre truc
La CSG quand même il nous retire pas mal
C'est un syndicat ça
Grosse ring
Grosse ring pour toi
Moi je trouve que déjà
Si tu veux le vote quelque part
Ça fait une sortie quoi
Une ou deux fois par an tu vas voter
Tu votes deux fois dans
Deux fois, tu as deux tours
Faut préciser
Ouais
Non mais toi si tu votes deux fois
C'est ton problème quoi
Non mais il y a deux tours
Faut bien préciser
Si ça t'a plu tu peux y retourner
Je suis d'accord
Non mais attends
Si au premier tour ça passe pas
Tu re-votes une deuxième fois
C'est ça que je veux te dire
Si t'es pas éliminé au premier tour
Non mais attends je sais
Non mais attends
Si j'y avais pas la première fois
Je peux y aller la deuxième
Si je loupe
Bah oui mais même si t'as pas envie d'y aller
Que t'es ailleurs
De toute manière il y a une question là-dessus
Je pense que c'est sûrement l'affaire
T'es bête
Ouais ça sert à rien
Pourquoi ?
Parce que c'est
C'est triché quoi
On sait déjà qui c'est qui va être élu
Donc c'est pas la peine d'y aller
Ah non mais attends
Tu peux pas le savoir dès le premier
Tu peux pas le savoir
Mais non tu peux
Non mais attends
Attends tu peux pas le savoir
Dès le départ
Qui c'est qui va être élu au début
Je crois qu'aux dernières élections
Il y avait les résultats sur internet
Deux jours avant
Bah oui
Ouais mais tu peux pas savoir
Tout de suite au premier tour
Qui c'est qui sera là
Mais si j'arrange un peu
Mais non mais non mais non
Mais non tu connais rien
Quoi j'y connais rien
Attends tu as pas commencé
Parce que sinon toi tu as
Tu as retourné à dix noms
Vite fait toi
D'accord
Hein
Euh
Plote moi
Euh oui
Non non non non non
Pas de ça
Non bah c'est son nom
Il pourrait peut-être trouver
D'autres noms
Des noms comme ça
Excuse-moi c'est pas ma faute
Bon et qui c'est qui s'amuse
Avec les réveils là
Ça commence à me prendre la tête là
Je me réveille tôt demain
Bon alors
Tu peux y aller Jean
Ouais ouais vas-y
Comme a dit monsieur Tony
Là je crois que c'est vrai
C'est les élus quoi
Ils nous enculent un peu
Et en plus
Eh tu restes poli
S'il te plaît quand même
À 0h42
J'ai pas dit qu'ils nous enculaient
J'ai dit que c'était des gros pédés
Ouais bah tu restes poli Tony
Parce que sinon
Tu vas faire un stage au standard
Toi aussi tout à l'heure
Parce que si tu veux faire les débats
Tu restes calme
C'est ce qu'on avait bien précisé
Quand t'étais venu
Le jour de l'anniversaire à Max
D'accord ?
Bon anniversaire
Ouais d'accord
Alors donc pour toi
Donc plot moi
Donc on continue avec toi
Avant de demander à Casse-Noisette
Et Saucisson à l'Aïr
Bah moi je crois que
Effectivement c'est vrai quoi
Ils nous
Bon je vais pas dire enculer
Parce qu'ils nous enculent pas
Mais ils nous prennent vraiment de la thune
Et c'est ça qui est vraiment chiant quoi
Ça m'énerve moi
C'est toi qui joues avec un réveil ?
Moi ?
Ouais
Bah non mais tu déconnes
J'ai pas de réveil
Non mais qui c'est qui joue avec un réveil là ?
Ça commence à m'énerver là
Casse-Noisette
Ouais bah moi je trouve que
Ça sert à rien d'aller voter
D'accord
Question réaction
Oui sur IRC
Il y a Snul qui me dit
Que le vote est une chose bien
Surtout pour Miss T-shirt mouillée
Non bah ça
Peut-être pour lui
C'est pas
C'est pas
Il y a pas deux tours là
Il y a qu'un tour de poitrine
Ah ok donc
C'est pas valable
Ouais mais il y a deux seins quand même
Ouais mais c'est pas valable
Ouais mais il y a qu'un tour
Non mais ça y est c'est bon
On va pas s'éterniser sur
Les T-shirts mouillées
Donc Casse-Noisette
Moi j'aime bien toucher les parties
Bon Anthony
Tu t'écrases s'il te plaît un peu maintenant
Casse-Noisette
Ouais bah moi je trouve que
Ça sert à rien d'aller voter quoi
Mais pourquoi toi ?
Pourquoi ?
Bah c'est tout simple
Tu te pointes là-bas
Tu vas voter
Tout est truqué
Tout est déjà fait d'avance
Non non non non non
C'est pas
Non non non non non
Je te dis que non
Non
Non je te dis
Mais si Gérard
Non non mais attends
Moi j'ai insisté à un dépouillement
Dans la région où j'habite
Et j'ai même insisté
Au truc des bottes
Et fais-moi confiance
Que c'est pas truqué
Je peux te le dire tout de suite
Moi je te dis quelque chose Gérard
C'est que je suis très bien placée
Qui ? Qui ? Qui ?
C'est Casse-Noisette
Je suis très bien placée pour le savoir
Je te dirai pas ce que je fais dans la vie
Mais je suis très bien placée pour le savoir
Bah peut-être pour toi
Mais moi je te dis tout de suite
Que c'est pas truqué
C'est pas truqué d'entrer c'est tout
Saucisson à l'ail
Bah écoute moi je suis un peu d'accord
Avec tout le monde
Mais moi aussi je dis que c'est truqué quoi
Parce que des fois tu vois les chiffres
Ça monte, ça descend
C'est n'importe quoi
C'est vrai c'est n'importe quoi
Mais non mais
Je suis pas trop d'accord avec vous
Parce que là
Non non mais attendez
Moi je vais donner quand même mon truc
Moi je peux vous
Non mais
Je peux vous dire
Je peux vous dire une chose
Que c'est pas possible
Que ça soit truqué d'entrer
C'est impossible
C'est contrôlé
Donc ça peut pas être truqué tout de suite
Pourquoi ?
Dans quel sens ?
Non non mais y'a pas de dans quel sens
Pourquoi ?
Moi je te dis que ça peut pas être truqué
Oui Rigo
Attendez attendez
Oui y'a
Y'a Goldberg sur IRC
Qui demande c'est quoi un épouillage ?
Un épouillage c'est de retirer le bulletin
Non le sac d'une petite vieille
Dans la rue
Non non non
Attends Fildar
T'écrases s'il te plaît merci
C'est quoi l'épouillage alors ?
Non dépouillage
Il a pas compris ce que j'ai voulu dire
Donc dépouillage c'est de retirer le bulletin
Qu'on a mis dans une enveloppe
Et on le met de côté
Et on fait des tailles
Après on les compte pour savoir
Qui passe
Qui sera
Élu ou pas
Voilà c'est tout
Ça sert à quoi de le mettre dans une enveloppe
Si après ils nous le retirent ?
Mais non mais on le retire
Et après ils ont tout ce qu'ils veulent
Ça sert à fabriquer des enveloppes
Voilà
Donc deuxième question
La politique vous rend-elle amoureuse ?
On va demander
Bon celui qui avec son réveil t'arrête
C'est clair et net
Parce que je vais pas chercher
Le midi à 14h tout à l'heure
Je vais en virer
Ouais
Parce qu'il y a d'autres personnes
Qui attendent pour participer
C'est bien clair
Ouais moi je voulais répondre à la question
C'est que
Moi je trouve
Ton nom c'est quoi ?
Tony
Ouais bah précisez vos noms
Quand vous voulez parler
D'accord
Ouais mais on le reconnait quand même
Moi je voulais dire que
Elisabeth Guigou
Je la trouvais bonne
Non mais attends
T'arrêtes de donner des noms
S'il te plaît
Bah écoute c'est son nom
C'est de la politique
Ouais ouais
C'est pas la peine de citer les noms
Des personnes politiques
Gérard
Oui
C'est Grosstring
Moi je voulais
Je voulais dire que
Moi c'était Ségolène Royal
Que je trouvais bonne
Bon et
Grosstring et Tony
Soit que vous vous calmez
Et vous arrêtez de donner des noms
Pas de marge
Soit que vous gerbez
Ça va aller vite vous deux
C'est pas la peine
De sauter de ma gueule derrière
Parce que sinon
Vous allez virer tout de suite
C'est clair et net
Mais pourquoi ?
Non y'a pas de pourquoi
C'est ta question
Excuse-nous
Alors t'es bête
Ouais
Donc toi ?
Ouais moi une fois
J'ai rencontré un mec
Dans l'isoloir
On a fait crac crac machin
Et tout
Et ouais j'étais amoureuse
Donc c'est bien
C'est bien
D'accord
Plotte moi
Non
Mais si
Non
Si quand même merde
Un peu
Oh
Oui bah j'y vais
Ah non
Plotte moi
Bon Manu
T'essaies de me choper
Le réveil
Et celui
Qui a du monde chez lui
Parce que ça m'énerve là
Je crois qu'il attend des invités
Ouais mais je sais pas qui c'est
Ouais mais moi je veux pas le savoir
Si il participe au débat
S'il a des invités
Il dégage
Écoute qu'elle est rentrée
Mais elle est dans la cuisine
Et puis on en parle plus
Bon alors
Plotte moi
Il y a peut-être un mec
Qui est un policier
Qui l'attend des gens
Genre le marché
Y'a pas moyen que tu rentres
Ah ça finit
Oui là avec les noms
Ouais arrêtez c'est vrai
Bon merde je peux parler un peu là
Euh comme on dit les autres là
Bon avec les guigous et tout ça
Moi c'est la mère
La mère Tiberie je crois
D'accord
Je pense que
Plotte moi
Et Tony
Et Grossim
Je crois que vous allez pas finir
Le débat
J'ai rien vu
Non non mais vous donner des noms
Comme ça
C'est pas tellement bon
Casse-noisette
Ouais bah moi je pense pas
Que la politique rend amoureuse
Néanmoins
Moi quand je vais voter
Je vote pour celui
Qui a apparemment
La plus grosse queue quoi
D'accord carrément
Saucisson à l'ail
Bah écoute moi
Je vois pas vraiment le rapport
Mais je vais quand même te répondre
Bah moi ça me rend pas amoureuse
C'est bien
Ah bah c'est pas mal
Moi je peux vous dire une chose
Que moi non plus
Ça me rend pas du tout amoureux
Je croyais que t'étais amoureux
De Jaco pourtant
Non non non
Moi ce que je voulais dire
C'est que les membres
Du parti communiste
Ils sont pas très brandants
Bon Tony
Oui
Encore une connerie comme ça
Et tu t'en vas
Pas de marque Tony
Pas de marque
Ok t'as pas besoin de citer les partis
Pardon la prochaine fois
Je dis que t'es initial
Ah ouais
Gérard j'ai une question
Minitel de Merlot
Du département 44
Qui demande
Enfin il veut revenir
A la question précédente
Très rapidement
Est-ce que Gérard
Mets un timbre à l'enveloppe
Quand il va voter
Je vois pas du tout le rapport
Je vois pas du tout le rapport
Là dessus
Bah si
Comme tu prends une enveloppe
Et que tu la déposes
Est-ce que tu prends soin
De mettre un timbre avant
Pour qu'elle arrive bien
A destination
C'est quoi l'adresse aussi
Non non non
Attends déjà
C'est pas ça
A quoi sert le vote en politique
C'est quand tu vas dans les urnes
Tu t'amuses pas à voter
Avec des timbres sur les enveloppes
Ah d'accord
Ça c'est une autre question
C'est pas les mêmes enveloppes
Voilà c'est pas du tout pareil
Gérard
Je peux te poser une question
Je voudrais savoir
Si des fois
Tu te grappes les urnes
N'importe quoi toi
Moi par contre
J'avais une question
Comment c'est fait
Un urinoir
Parce que moi je sais pas
Je suis jamais allé voter
Bah c'est simple
C'est une petite cabine
Avec un rideau
C'est tout
Pour pas qu'on voie
Et tu mets 2 francs
Tu mets 2 francs
Pour pas qu'on voie
Pour qui tu votes
Et quand t'as 10 000 votés
Tu tires la chasse
Ils te donnent une petite serviette
Pour t'essuyer
Peut-être
On sait pas
Donc troisième question
Les enfants ont-ils le droit
De faire de la politique
On va demander ça
A Castenoisette
Comme elle est bien placée
Oui
Il y en a déjà
Qui ont tenté le coup
Gérard
Et je peux te confirmer
Que effectivement
Bientôt
Les médias vont parler
D'un petit jeune
Qui a 14 ans
Et qui s'y met vachement
Et en fait
Castenoisette
Parle plus fort un peu
Castenoisette
Tu parles plus fort
Il y a du monde derrière toi
Oui donc
Ouais bah alors
Tu demandes aux gens
Il y a personne
Il y a personne
Il y a absolument personne
Je suis toute seule
Assise sur ma chaise
Comme une clocharde
Non bah c'est bizarre
On entend du monde
Chez quelqu'un
Mais je voudrais bien savoir
Chez qui
Ah oui mais non
Mais moi c'est pas chez moi
Donc alors
Donc tu disais
Ouais donc je te disais
Bientôt
Il y a un petit jeune
De 14 ans
Qui commence à se mettre
A la politique
Et les médias
Vont bientôt en parler
Je peux pas en dire plus
Parce que sinon
Ça serait divulguer
Des secrets
Des secrets d'état
Néanmoins sache
Que tu vas bientôt
Entendre parler
D'un petit jeune
De 14 ans
C'est pas Jordi
Non non mais c'est bon
On a pas besoin
De savoir les noms
D'accord
Je ne donne pas de noms
Oui non mais je sais
Ouais je sais
Casse-moi cette
C'est pas pour toi
Que je parle
C'est pour Tony
Qui veut dire
Sûrement de qui il veut parler
Je vois à peu près
Ah oui
Donc
Moi je voudrais parler
Attends 5 minutes
Oui Gérard
Il y a un certain Max
Sur l'IRC
Qui me demande
Si les animaux
Ont le droit de voter
Je vois pas comment
Qui pourraient voter
Les animaux
Il me dit
Dans la mesure
Où certains hommes politiques
Sont des chiens
Les animaux pourraient voter
Ouais mais ça
Maintenant avec les trucs
Sur les guignols de l'info
Comme ils font pas mal
De conneries
Ils s'amusent
A faire des
Des figurines
Des hommes
Politiques
En tête de chien
Et tout ça
On nous aurait menti
Alors
Saucisson à l'ail
J'étais venu à toi
Bah écoute
Moi je pense
Qu'ils ont pas vraiment
Le droit
Mais c'est pas pour ça
Que ça les empêche
De le faire quoi
D'accord
Ok
Plotte-moi
Je veux dire
Pardon
Oui
Oh c'est fini
Derrière
Putain ma caisse
Ah il y a un mec
Qui se fait tirer sa caisse
Là on dirait
Bon bah alors
S'il se fait tirer sa bagnole
Je sais pas qui mais
Putain les enculés
Oh tu restes poli
S'il te plaît
Plotte-moi parce que tout à l'heure
Tu vas virer
Je pense qu'il vient de parler là
Elle a ma BM
Alors plotte-moi vas-y
Euh oui donc je crois
Que c'est un peu bizarre
Ce qu'elle a dit tout à l'heure
Parce que moi
J'ai entendu parler
Qu'il fallait quand même
Avoir 23 ans
Il me semble
Non là
Tu peux
Non c'est 21
Non si je me souviens
Si je me trompe pas
Non non c'est
Non non pour être
Pour machiner
Pour avoir 21 ans
A peu près
Pour voter
Pour se présenter
Aux élections
C'est combien
C'est quel âge
21 ans
Normalement
Je peux rajouter
Juste quelques
Oui oui vas-y
Il faut savoir
Qu'en fait
Cet enfant là
Ce jeune adolescent
Va demander l'anticipation
Ah d'accord
D'accord
Donc c'est pour ça
Que je répondais
A la question
Je ne peux pas dire
Julien
C'est quand même
Un secret d'état
C'est pas moi d'en parler
Les médias vont faire
Leur boulot
Beaucoup mieux que moi
Et donc voilà
C'est tout ce que je voulais
C'est ton gosse
Jérôme
Non c'est
On se calme
Je viens d'entendre
Un nom
Que j'aime pas
Par contre
Là on vient de me
Donner
Un petit sondage
Il y a 20
Donc pour ou contre
La politique
Mais ça
J'en avais pas parlé
Donc je vois pas
Pourquoi qu'on met
Pour ou contre
Donc il y a 20%
Des gens qui
Qu'ont dit
Qu'ils n'aimaient pas
La grossièreté
Ca c'est vrai
40% des gens
Ont dit
Que les
Que les types
C'étaient des
Petits parasites
Parasites
Que l'éthique
L'éthique
C'étaient des petits parasites
Ouais que c'était
L'éthique
C'étaient des petits parasites
Que l'on trouve
Sous les
Sous le chien
Et 40% des gens
Ont dit
Qu'ils n'en avaient
Rien à foutre
Et ça
Je suis bien d'accord
Avec les 40%
Qui disent
Qu'on en a rien à foutre
Ca pour moi
C'est réel
Donc Tony
Pour toi
J'ai pas suivi la question
Parce qu'avec tes sondages
Là tu m'as perturbé
Alors
Les enfants ont-ils le droit
De faire de la politique
Voilà la question
Bah oui tout à fait
Moi je pense que les enfants
Ca serait pas pire
Que ce qu'il y a maintenant
Enfin moi je sais pas
Si par exemple
Une fille de 12 ans
Elle est aussi bien galpée
Qu'Elisabeth Guigou
Bon Tony
Tony c'est la dernière fois
Tu vas retourner
Voir Manu au standard
Ah il est impossible ce Tony
Alors c'est fini
Non non Tony
Je te l'avais dit gentiment
Tout à l'heure
De ne pas citer
Le nom des personnes politiques
Si si t'as très bien entendu
Donc c'est terminé
C'est terminé Tony
C'est terminé
C'est terminé
C'est terminé
Terminé pour toi Tony
Au revoir
Et sur IRC
On me dit
Tony tu dégages
Voilà bah ça y est
Il est parti
Donc Tébette
Moi je dis que les gosses
Ils ont rien à faire
Dans la politique
Oui
Il ferait mieux de jouer au Lego
Et de pas nous faire chier quoi
C'est une affaire d'adultes
Et c'est pas du tout
Une affaire de gamins quoi
Ouais mais
Comme je disais tout à l'heure
Donc faut bien avoir
La majorité pour y être
Mais c'est même pas
Une question de majorité
C'est que les gosses
Ils ont rien à faire là-dedans quoi
Ils jouent aux billes
Et puis c'est tout
Ouais mais t'en as beaucoup
Qui veulent se lancer dedans aussi
Mais ouais
Mais c'est des petits cons
Bon ok
Grosse frigne
Bah moi je sais pas
Mais je sais pas
Si tu regardes des fois
Ils invitent des mômes
A l'Assemblée Nationale
Ouais mais ça
Ouais mais ça c'est
Pour faire des séances et tout
Et pour s'intégrer un peu
Ouais non mais attends
Ça
Merde ils posent tous
La même question
Quand est-ce qu'on mange
Ils veulent tous
Aller pisser en même temps
Ouais non mais
Et en plus
Ils dégueulassent
Tous les sièges
Des députés
Ouais mais non mais attends
Attends je parle s'il te plaît
Moi je trouve que
Vraiment
Les mômes
C'est à l'école
A la crèche
Ou à la babysitting
Et tout
Et puis c'est pas
Dans la politique quoi
Ça va
Non mais faut dire
Qu'aussi avec ce qui se passe
A l'heure actuelle
Bon bah
Les étudiants
Les trois quarts
Ont 15, 16
Voire 17 ans
C'est des petits cons
Les étudiants
Ouais mais attends
Mais c'est quand même
C'est quand même
C'est quand même
Leur problème
Parce que bon
Faut dire une chose
Que si
Ils sont trop nombreux
Dans les classes
Faut voir aussi
Le nombre de personnes
Qu'il y a dans les classes
Mais attends
Attendez
Attendez
Attendez
Attendez
Attendez
Attendez
Laissez-moi finir
J'ai entendu dire
Qu'ils étaient jusqu'à
50 personnes
Dans une classe
70 moi j'ai entendu
70
Ouais il y a
J'ai entendu 40
50 et 70
Aussi par là
Oui
Excuse-moi
Mais même s'ils sont
50 par classe
C'est pas beaucoup
T'en mets 20 dans la classe
Et 30 dans le couloir
Tu laisses la porte ouverte
Et tout le monde peut suivre
Ouais non non non
Non non
Attends attends
Attends attends
Gros string
Gros string
Gros string
S'il te plaît
Attends il y a une question
IRC
Oui gros string
Je suis désolé
Il y a Erki sur IRC
Donc qui te demande
Gérard
Combien d'érections
As-tu participé
Non mais ça
J'y répondrai pas
Parce que c'est pas le thème
Du débat politique
Et Gérard
Ah si en politique
Les élections c'est normal
A la place
Les clochettes c'est bon
A la place de Tony
On accueille Kyra
Qui appelle de Sarcelles
101.9
Bonsoir Laska
Allo
Bonsoir Laska
Non tu parles comme Hippo
Je suis Kyra
Moi je voulais dire
Que je vote
Je vote et
Voilà
Tu votes pour qui toi
Moi je vote pour
Pour ceux qui
Légaliseront le vol
De
Des mobilettes
Voilà
D'accord
Ok
D'accord
Tu peux répondre
A la question
J'ai pas entendu
Il était au standard
Alors les enfants
Ont-ils le droit
De faire de la politique
Tout à fait
Moi je suis
Tout à fait d'accord
Que pourquoi
Il y aurait
Des discriminations
Comme ça
Dès le plus jeune âge
Non mais
Pourquoi
Qu'est-ce qu'il y a
Moi je peux vous dire
Moi je peux vous dire
Une chose
Que j'ai
Je voudrais pas
Que mon enfant
S'amuse à faire de la politique
Parce que ça
Ça me plairait pas du tout
Déjà moi j'en fais pas
Donc
Et pourquoi justement
Justement sur Minitel
En plus ça cartonne
Ce soir on est 30 connectés
Il y a un auditeur
Qui s'appelait
Je sais plus comment
Yann
Qui voulait te demander
Pourquoi toi tu ferais pas
De la politique
Et pourquoi tu serais pas
Ministre de la route
Non non mais ça
Moi c'est un truc
Qui me branche pas
Et quand j'entends parler
De ce qu'il parle
A la télé
Même sur les radios
Fais-moi confiance
Que c'est une prise de tête
Pas possible
C'est-à-dire
Donc
C'est sans arrêt
En train de nous dire
Ouais mais de toute manière
Comme ils disent
Pour les étudiants
C'est malheur d'en parler
Ils disent ouais
De toute manière
On vous promet des bourses
Et puis tout ça
Et puis en fin de compte
Ils ont jamais rien
Les étudiants
C'est dégueulasse
Ils ont jamais rien eu
Et c'est pour ça
Moi je leur donne raison
De faire ce qu'ils font
C'est tout
C'est quand même leur truc
Pour avoir un bac
Et donc moi je leur donne raison
C'est tout
Continuez
En attendant Gérard
Gérard président
Gérard président
A ce propos
Y'a Yankee sur IRC
Qui me dit
Si Gérard était président
C'est l'état qui se fera enculer
Bon bah ça
Il se démerde
Donc
Quatrième question
Oh ça suffit
Avec les sonnettes
Oh ça suffit
Merci
Pensez-vous
Que l'on parle
Bon Manu
Tu me le gères s'il te plaît
Parce que ça me prend la tête
Ou sinon
Je gère la sonnette
La sonnette tu dégages
Alors pensez-vous
Que l'on parle trop de politique
Putain
J'ai dit tu dégages
Ça commence à me prendre
Ça commence à me prendre la tête là
Euh
Caria
Caillera
Caillera
Moi je suis d'accord
Avec toi Gérard
Parce que
Moi y'a
Dans la PC
Il tourne
Y'a le maire
L'autre fois il est venu
Et il nous parle
Il nous prend la
Il nous prend la
Il nous prend la gueule
Il nous fait
Arrêter de fumer des tarpés
Trouver un diable
Tout ça
Mais non on s'en fout
Non on s'en fout
Parce que
On casse des trucs
Ok
Grosse ligne
Bah moi je trouve que
On en parle pas
Pas tellement en fait
Là pas plus tard que
Attends ouais c'était hier
J'ai regardé le juste prix
Que dalle
Non mais attends
Eh
Toh
Oh grosse ligne
Tu crois
Tu crois qu'ils en parlent pas assez
Ils ont fait
Ils ont fait carrément
Tout un truc sur
Euh
Sur Bill Clinton
A 23h10
Attends
Tu te fous de moi là
J'ai jamais de l'avis
Dans le juste prix
T'es fou
Non non mais attends
Dans ce cas là
Si tu regardes le juste prix
C'est pas la peine de participer
Au débat sur la politique
Quand au journal télévisé
Là tout à l'heure
Ils ont pas vendu
Tout ce qu'ils ont montré
C'est la fusée qui les colle
Bah ouais mais ils ont quand même
Parlé de la politique
Je suis désolé
Ils ont parlé de politique
Les astronautes
Quand ils décollaient
J'en sais rien mais
Non non mais ils en ont quand même
Parlé à 20h
Je suis désolé
À 20h
Moi j'allume à 20h02
Ils n'en parlaient plus déjà
Alors
Non non mais attends
T'es bête
T'es bête
Toupé
Toupé à Québec
Vas-y Toupé
Oh
Tu te réveilles
Allez hop
Bonne nuit pour lui
Allez hop
Celui-là c'est
Comme ça il se réveillera
Oui Rigo
Oui il y a
Vomis de porc sur IRC
Qui te demande
Gérard
Pourquoi tu dis
Qu'il y a trop de poils éthiques
Tu aimes les hommes imberbes
Non n'importe quoi
N'importe quoi
Plote moi
Ouais moi je pense que
Non
Il y a trop de
Il y a trop de
Il y a trop de politiques
D'ailleurs on devrait directement
Passer au deuxième débat
Non mais alors
Pour l'instant c'est pas
Toi tu n'as qu'à acheter toi
Non mais attends
Toi si t'es pas content
Tu vas faire comme Tony
T'es bête
Tu vas gerber aussi
Comme ça on va prendre
D'autres personnes
Tu vois j'ai envie de
Ce soir
On est à la troisième
Il y a 12 questions
Alors soit que tu réponds
Gentiment à la question
Soit que tu vires
Tu choisis
Je veux bien faire comme Tony
Parce que mon nom
Il me plaît pas trop là
Eh ben alors
C'est bien alors
Pareil
Allez salut
Salut à toi
Salut
C'est bien il ne nous reste plus
Qu'un, deux, trois, quatre
Il nous en reste plus que quatre
Alors casse-moi Z
On accueille
Attends excuse-moi Gérard
On accueille quand même Citrouille
Eh salut Gérard
Salut Citrouille
On t'appelle d'où ?
J'appelle de Paris
Ok
Alors donc je répète la question
Comme tu viens d'arriver
Oui s'il te plaît
Alors pensez-vous
Qu'on parle trop de politique
On va demander à casse-moi Z
Comme j'étais sur elle en premier
Ouais ben on en parle beaucoup
Oh le porc là
On en parle beaucoup
C'est vrai mais à tort et à travers
Tu vas dire que je vais remettre
L'histoire de Clinton sur le tapis
Non mais justement
J'en ai parlé aussi moi
Donc
Bon je vais t'expliquer en gros
Moi j'ai dû partir là-bas
J'ai dû partir aux Etats-Unis
Parce que je travaille au Parlement
Et on a dû donc aller là-bas
Et on a eu des réunions
Donc avec Bill Clinton
Et il faut savoir
Qu'il y a des choses qui sont vraies
Et qu'il y a des choses qui ne sont pas vraies
C'est-à-dire qu'on va revenir
Sur le harcèlement avec
Ouais mais on ne va pas s'éterniser là-dessus
Non non non
Mais il y a des choses
Il faut savoir que
Bon il ne l'a pas harcelée quoi
Elle était tout à fait d'accord
Et bon
Elle était consentante
Elle était tout à fait consentante
Elle adorait le sucer
Elle ravalait tout
Elle était contente
Et puis voilà quoi
D'accord
Attendez attendez
Il y a une question IRC
Oui enfin c'est une réaction
A ce sujet
On te demande Gérard
A ton avis
Est-ce que
Pour qu'un président
Fasse parler de lui
Il faut qu'il se fasse sucer
Non pas spécialement
On va peut-être pas revenir
Sur l'affaire Bill Clinton
Non mais
En deux mots
Moi je lui dis
Là je peux y répondre
De toute manière
Ça sert à rien
Strictement
C'est casse-couille
Ouais mais Gérard
Il faut reconnaître
Que ça aide quand même
Ouais mais ça
Je vois pas où ça fait du bien
S'il y avait un président
Par exemple
Un président bulgare
Ou un truc comme ça
Un mec
On n'en entend jamais parler
Il se faisait pomper un bon coup
Je suis sûr que dès demain
On en entendrait parler quoi
C'est clair
Non mais ça
T'as vu l'accueil des
Attendez attendez
Cueil gras
Cueil gras 5 minutes oui
On accueille casse-couille
Bonsoir
Bonsoir à tous
Bonsoir aux 20 millions d'auditeurs
Qui nous écoutent quand même
Eh celui qui s'amuse
A
A faire ça
Là il va se calmer
Il est d'où lui ?
Bah écoute
Demande lui
Parce que j'ai pas eu le temps
J'ai 19 ans
Et j'appelle de Mont-de-Marsan
Et la fréquence de Mont-de-Marsan ?
Euh alors ça
Je sais plus moi
Je vais la trouver
Il va nous la donner
Il y en a un qui est malade là
Ouais je crois
La malade c'est le deuxième de bas
Celui qui s'amuse à faire ça
Va se calmer
Parce que sinon
C'est moi qui vais le calmer
Aurentaine
C'est la chiasse
Alors casse-noisette
Oui
Donc pour toi
Non toi tu viens de répondre
Ah oui
Sois-ci son à l'aïe
Bah écoute moi Gérard
Moi je pense que la politique
Si tu veux en entendre parler
T'en entends parler
Mais si tu veux pas en entendre parler
T'en entends pas
Bah voilà
Donc je suis tout à fait
Euh Citrouille
T'avais pas répondu
Ouais mais alors moi je dis
On parle pas assez de la vie privée
Des hommes politiques
Ah si si
Attends attends
Citrouille Citrouille
Citrouille
Citrouille
Attends Citrouille
Je vais te dire une chose
On en a quand même
On en entend parler sans arrêt
Parce qu'hier
Y'a un truc sur la première
Qui a passé carrément
Toute la partie
Une bonne partie de la nuit
Ils ont fait ça à 23h30
Sur la 1
Je sais plus le nom du reportage
Je crois que c'est reportage
Ils nous ont cassé les burnes
Avec la paire Bill Kington
Pourquoi t'as regardé ?
Non non je vais pas regarder
J'ai zappé parce que ça me prenait la tête
Moi je dis qu'il faudrait faire ça
Toutes les semaines
Si Chirac il a des maîtresses
Si Jospin il a une grosse piste
Ouais bah c'est bon
On en a rien à foutre
Ouais casse couille
Ouais
Gérard
Ouais c'est qui ?
Ouais c'est gros string
Je voulais juste dire un truc
Sur la vie privée des hommes politiques
Je sais pas si t'as remarqué
Mais l'été
Dans tous les magazines
Genre
Paris Match
Gala etc
C'est que des photos
Des hommes politiques
Qui sont
Qui sont moules couilles
Sur la plage
Ouais mais d'accord
Mais ça c'est
Non mais ça c'est leur problème
On a même vu Barthez en jet ski
T'imagines
Casse couille
Tu veux répondre
Avant qu'on pose la cinquième
Ce qu'il y a c'est que moi
J'étais au standard
Alors pensez-vous
Qu'on parle trop de politique
Manu tu me gères celui
Qui arrête pas de roter
Comme un porc
Parce que ça m'énerve ça
Pas de problème
Il va aller gerber
Il va revenir
Ouais bah il va aller gerber
Il va aller gerber
Chez lui définitivement
Gérard
Ah bon ouais
Calmez-vous s'il vous plaît
Il y a Gognol sur IRC
Qui te demande
Comment tu ferais
Pour boucher le trou de la sécu
Ah bah ça
C'est pas mon problème
Ça c'est pas mes problèmes
Pour les trous de la sécu
Ils sont assez grands
De s'en occuper
Ça ça me regarde
Bah apparemment non
Ouais mais attends
C'est bien aux hommes politiques
De s'occuper du trou de la sécu
Manu tu me le calmes
S'il te plaît
Parce que sinon
Ça va chauffer pour toi
Alors casse-couille pour toi
Oui au fait
Alors pensez-vous
Que l'on parle trop de politique
Donc c'était la question
Comme tu étais au standard
Ouais je tiens à préciser
Que d'abord
Que la fréquence
C'est 52.6 à Mont-de-Marsan
Vu que je l'avais pas dit
Tout à l'heure
Donc effectivement
Je trouve qu'on en parle beaucoup
Mais on en parle quand même
Un peu moins
Que quand il y a les élections
Là on en a
24 heures sur 24
Il y a que de ça
Ah ouais mais
Mais non mais casse-couille
N'empêche je suis au directeur
C'est une chose que
D'accord on en parle moins
Avant qu'il y ait eu les élections
Mais là quand même
Ils nous bassinent encore
A l'heure actuelle
Avec l'affaire Big Clinton
Et l'affaire
Les visqués
Avec les visqués
Ouais mais je croyais
Que tu voulais pas en parler
Non non mais moi je te dis
Tu dis qu'on en parle pas assez
Si ils sont en train
De nous bassiner avec tout ça
Mais ils en parlent pas assez
Bah ouais mais on en a ras-le-bol
D'entendre parler de ça sans arrêt
Mais non
Donc alors vous allez réfléchir
A la question
Avez-vous un membre
De votre famille
Qui fait de la politique
Et on va s'écouter
Pierre de la Montagne
Avec
Elles sont blanches
Mes chaussettes
Et elles puchent
Et on se retrouve tout de suite après
T'appeler au 0800 308 5000
Et 0870 5000
Toujours le 36 15 4
Fun Radio
Rubrique directe
Et lire c'est
www.fr
Fun
Euh
Fun Radio
Flash Fun Radio
On a 921 connectés quand même
Gérard ce qui est énorme
Ouais
J'en veux 1000
J'en veux 1000 avant
Avant une heure et demie
Ça arrive
Ça arrive
Et alors on va
T'as trouvé là
Qui c'est qui
Ça y est
Il est allé
Il est allé aux toilettes
Il a fait ses besoins
Il est revenu
Il est en pleine forme
Super
Ok
Donc on récupère
Saucisson à l'ail
Toujours là Gérard
Casse-noisette
Ouais je suis là
Gros string
Ouais
Euh
Queyra
Soir non
Citrouille
Ouais salut
Et casse-couille
Oui si tu pouvais donner
Le label
La maison d'édition
Des disques que tu mets
Ça m'aiderait
Bon alors là
Faut demander ça
A Filda
C'est le label rouge
C'est approuvé
D'accord merci
Je connais
Je connais
Tu es pas people
Ouais
Bon c'est bien
C'est bien comme ça
Donc vous avez eu le temps
De réfléchir
A la question
On va demander
Bah tiens casse-couille
Moi non
J'ai pas de
J'ai pas de membre
Ni de ma famille
Ni de mon corps
Qui participe
A la politique
Ouais
Voilà
Ok
Je suis désolé
D'accord
Citrouille
Ouais moi j'ai un oncle
Mais bon c'est l'athéon
Il est communiste
Alors on lui parle plus
Non non non
Non non mais ça
On fait pas de politique
Ah ok ouais
Bon bah on lui parle plus
Quand même
Parce que c'est un gros con
Ok
Ah bah c'est bien
Alors Keira
Ouais moi je
Mais nous
Ils veulent pas de nous
Parce qu'on a
Avec des tepeaux
On a voulu faire
Un parti politique
Ouais
Et on est allé
A la mairie
Et ils ont pas voulu
De nous
Ces messieurs
D'accord
Grosse ring
Bah moi j'ai un cousin
Ouais qui fait de la politique
Ouais
Et il colle des affiches
Hum
Et bah voilà quoi
Un jour il était dans la merde
Parce que
Il avait emmené
Qu'un tube de colle
Et il a pu en coller
Que trois quoi
D'accord
D'accord
Je vois pas du tout
Le rapport
On prend pas de la colle
On prend pas des tubes de colle
On prend pas des tubes de colle
Les mecs
Y'en a qui sont avec des seaux
Et qui préparent déjà
Ouais ouais
Non mais c'est bon
Tu me laisses
Reparler s'il te plaît
Merci
Bah non je crois
Qu'il y a un moment
Si tu sais pas
Comment on colle des affiches
Moi je peux rien faire
Pour tout le monde
Non mais attends
Tu demanderas
A ceux qui
Quand ils les colleront
Pour les élections
Tu leur demanderas
Excuse moi
J'ai beaucoup de respect pour toi
Bon alors celui-là
Ça commence à m'énerver
Il a passé
Mon cousin
Il a passé un CAP
En collage d'affiches
Et il sait certainement
Beaucoup mieux
Que quiconque
Coller des affiches
Peut te le dire
Non non non
Si si si
Casse-moi Z
Ouais bah moi
J'ai pas sa amie
Qui travaille là-dedans
Mais bon moi
Je suis dans le milieu
Je travaille pour le parti
De Jean-Marie Le Pen
Bon bah alors
Casse-moi Z
C'est bon là pour toi
C'est terminé
Elle a le droit de parler
Non non non
J'avais précisé
De pas donner de
Pas de FN
Allez hop
Terminé c'est bon
Allez hop
Hop
Oh non non non
Alors
Je m'en fous de celui
Qui s'amuse à faire ça
De tout à l'heure
Ça va mal
C'est terminé pour lui
Saucisson à l'ail
Bah écoute Gérard
Moi chez moi
Tout le monde est contre
Oh non non non
Oh
Oh si
Bah qu'est-ce que j'ai dit
Saucisson à l'ail
Continue
Non non mais j'arrête
Celui qui s'amuse là
Ah ok excuse-moi
Moi je t'ai dit
Mais chez moi
Tout le monde est contre
Oh non non non
Mais quoi
Et ça commence à bien faire là
Un fil d'art
Non c'est pas moi
Non c'est pas toi
Qui t'amuses avec
Un petit bouton là
Non
Non non
Toi tu es en train
De me percer les miens
Mais ça c'est
T'en regardes pas
Oui oui oui
Mais t'es en train
De t'amuser là-bas
Ok
C'est vu
Donc Saucisson à l'ail
Toi pourquoi
Gérard deux secondes
J'ai une question sur Minitel
On est encore 23 connectés
De R2D2
Je trouve qu'il y a
Beaucoup trop d'hétérosexuels
Dans le milieu de la politique
Et toi Gégé
Que t'en penses quoi
Moi j'en pense
Rien du tout de ça
Mais est-ce que tu trouves
Que en fait
Justement en ce moment
On parle du PAX
Je sais pas si tu
Non non mais ça
C'est pas
Ça rien
J'en parle pas
Pour le mariage
Des homosexuels
Qui font de la politique
J'en parle pas là-dedans
Ce soir
Pourquoi
Parce que ça m'intéresse pas
C'est tout
Mais c'est intéressant
Les gens ils aimeraient savoir
Ouais bah peut-être
Mais moi
Gérard
Excuse-moi
Excuse-moi gros string là
T'aimerais pas
De faire introduire
Dans le milieu
Non non non
On va faire sur le côté
On accueille X
S'il vous plaît
Oui bonsoir Gérard
X bonsoir
Oh elle est bien elle
T'appelles d'où
Bah j'appelle de chez moi apparemment
Un appartement très bien d'ailleurs
Manu Manu
Quel fréquent
S'il te plaît
Non mais je te dis
J'appelle de mon appartement
Donc région parisienne
Région parisienne
Le truc que tu paies 900 balles là
Région parisienne
90 mètres carrés là
Région parisienne
Bah oui région parisienne
Ok 101.9
Merci d'apprécier
Ainsi de suivre
Donc à toi X
Alors de répondre
Bah si tu peux me répéter la question
Avez-vous un membre
Avez-vous un membre de votre famille
Qui fait de la politique
Non malheureusement
J'ai pas
J'ai pas quelqu'un
Qui fait de la politique
Dans mon entourage
Ni dans ma famille
Non
C'est la vie des mystères ça
Non
D'accord
Donc moi je peux vous dire
Que moi non plus
Comme j'ai pratiquement personne
Que de son entourage
Moi là-bas
Je suis tranquille
Oui c'est qui
C'est gros string
Ton membre
Il fait pas de politique
Bah en gros string
Tu veux parler de quel membre
Alors vas-y
Ton membre
A toi
Tu nous demandes
Nos membres à nous
Maintenant
De la famille s'il vous plaît
Que je demande
Ah ouais d'accord
Faut pas confondre
Les torchons et les serviettes
D'accord
Et alors ta femme
Ma femme à temps merde
Ma femme
Ma femme à temps merde
Tu sais ce qu'il dit
Le vieux porc
Exactement
Alors
Sixième question
Déjà ça passe tellement vite
Bah oui
Doit-on voter
Pour
Peut-être une question
Hier c'est avant
J'en aurai une
J'en aurai une
Vas-y
Vas-y
Fildar
Ok donc c'est Paul Ethic
Qui te demande
Gérard as-tu un membre actif
Dans les parties
Non
Donc il reste serré
Sur IRC
Pardon
Il y a SNUL
Qui te demande
Si tu connais le parti
GNB
Non plus
On est combien là maintenant
On est
On est 7 ou 8 dans le studio
Non non mais ça
Je m'en fous
Je veux savoir
Sur l'IRC
Si on va dépasser
Les milles ce soir
986
On y arrive bientôt
Putain t'es 12
Alors c'est bon
Merci le pape
Alors on continue
Donc sixième question
Doit-on voter
Pour avoir une copine
On va demander ça
A Grossring
Comme il n'arrête pas
De jacter sans arrêt
Est-ce que tu peux répéter
J'ai mal compris
Doit-on
Doit-on voter
Pour avoir une copine
C'est la dernière fois
Que je répète la question
Alors ouvrez bien les oreilles
Alors j'ai compris
Mais il faut articuler aussi un peu
Alors est-ce qu'on doit voter
Pour avoir une copine
Moi je dis
Oui si on veut
Si on veut
Niquer une nana
Qui fait de la politique
Genre
Je sais pas moi par exemple
Comment elle s'appelle
L'autre là
Ah la blonde là
Elisabeth
Elisabeth Kikou
Alors
Alors
C'est Kaira
C'est Kaira
Oui Kaira
Elisabeth Kikou
Alors c'est bon Kaira
Tu peux partir
Et Grossring avec
Tous les deux
Tu peux partir
Allez viens avec moi
Viens
Tu rentres chez toi
Et c'est bon
Voilà alors
Je t'aide un peu
Je t'aide un peu
Parce que t'as du mal
Fais gaffe
Fais gaffe
Donc
On a plus Kaira
On a Grossring
Non plus
On va demander
Sa saucisson à laïc
Bah écoute
Moi franchement
Je dis que non
Ça dépend
Mais franchement
Je dis que non
D'accord
Je vois
Bien ce que tu veux dire
Citrouille
Ouais moi je me suis jamais
Fait de meuf
Alors je suis pas
Non mais doit-on voter
Pour avoir une copine
Ou un copain
Si tu veux
Dans l'ensemble
Bah moi j'ai plein de copines
Non mais
Putain mais
T'es bouchée ou quoi
Toi ce soir
Non pourquoi
T'as mangé quoi là
T'as mangé
Du poulet
Du poulet enragé
On dirait
Non il était pas enragé
Bah dis donc
On le dirait
Parce que je crois
Je crois que tu comprends pas
Ce que je veux dire
Peut-être les champignons
Ils vont pas être frais alors
Ouais d'accord
Gérard il y a Turpentine
Sur IRC
Qui te demande
Si tu as voté
Pour trouver Sandy
Personnellement
Non je l'ai
Il a voté nul ouais
Attends je l'ai voté
Par pochette surprise
Dans
IP Magazine
Ça va lui faire plaisir
C'est pas un truc
De homo ça ?
Non non
C'est un magazine
Comme ça
Donc
Qui c'est qui nous reste
Cascouille
Oui bah moi
J'ai très bien entendu
Ta question
Mais je la comprends
Pas très bien quoi
Alors doit-on
J'ai compris
J'ai très bien compris
Doit-on voter
Pour avoir
Une copine
Ou un copain
Bah je comprends pas
Le rapport là
Bah doit-on voter
Par exemple
Si tu veux voter
Pour qui
Tu peux voter
Si tu veux
Tu peux voter
Pour retrouver une copine
T'as le droit
Bah logiquement
Quand tu votes
C'est pour
Pour élire quelqu'un
Bah oui
Bah dans
Dans la politique
Y'a bien des nanas
Qui font de la politique
Donc si tu veux
Être copine avec elle
Faut bien que tu votes
Pour elle voyons
Ah ouais mais faut avoir
Des business
Quoi qui c'est
Qui dit n'importe quoi
Qui c'est qui vient de dire
N'importe quoi
Je crois que c'est X
Oh X
Eh toi la grosse
Déboue espèce de filiasse là
Eh ça va toi là-bas
Elle a dit
Calme ta joie toi
Eh tu vas te calmer
Ta joie là ou quoi là
Eh toi la grosse
Déboue espèce de filiasse là
Oh ça suffit là
Pile d'art
Ou sinon je t'en vois
Je sais pas ce quoi là
Euh bah
Bah X
Eh toi la grosse
Déboue espèce de filiasse là
Ils sont trop
Non mais attends
Je crois que ce soir
Ils ont fumé la moquette
Ou ils ont fumé
Ils ont bouffé
Je sais pas quoi
Y'a pas de moquette à fun
Merde
Ouais alors
Donc on accueille Téton
Et on accueille aussi
Bulldog Mystère
Oui bonsoir
Bulldog Mystère
Bonsoir Gérard
Bonsoir tout le monde
C'est ce qu'il m'a donné
Comme nom Gérard
Me regarde pas comme ça
Alors lui tu peux
Tu peux lui dire
Qu'il prenne un autre nom
Non mais je restais
Je restais dans l'anonymat
Qu'est-ce que c'est encore
Ce travlot là
Eh bah écoute
Je vote
Eh c'est pas un débat
Sur les travlots
C'est un débat sur la politique
Je vote aussi bien que toi
Ouais bah moi je tombe
Donc
Mystère Bulldog
Bulldog Mystère
Ouais si je veux
Les fréquences là
S'il vous plaît
96.10
Pour qui ?
Pour Bulldog Mystère
Ouais 96.10
96.10 ?
Oui
Et Téton ?
Bah moi j'appelle Delil
Fréquences ?
J'ai pas encore
96.8
J'ai pas encore de Téton moi
96.8
Ok
Et alors X ?
Ouais bah je pense
Qu'il faudrait
Oh tu mettais en la musique là
Non non mais c'est pas moi
Non non mais il y a
J'ai de la musique là
Oh une collègue
Moi j'ai rien
Là tu sais rien moi
Bon X ?
Non je pense qu'on devrait
Créer des écoles
Pour voter
Pour essayer d'avoir
Une copine ou quoi
Ah fil d'art
T'arrêtes avec cette
Cette chanson là
Parce que ça me prend
Ça me prend la tête
C'est la fête
C'est la fête
Ouais ouais bah c'est bon
On l'a fait assez hier la fête
Ça c'est la fête
Euh
Téton ?
Oui bah si tu voudrais
Répéter la question
Parce que j'étais au standard
Il a dit qu'il la répétait pas
Alors doit
Ça commence à bien faire
Faudrait peut-être écouter
Quand je leur parle
Quand je leur parle
Ils peuvent pas t'entendre Gérard
Donc euh
Gérard il y a une bonne question
De Toons sur l'IRC
Est-ce qu'il est normal
Que tout le monde
Aie le droit de voter ?
Bah ça dépend des âges
En principe
Tu as le droit de voter
Qu'à partir de 18 ans
Mais donc
Si t'as moins de 18 ans
Tu n'as pas le droit de voter
Et on est mille sur l'IRC ça y est
Ah ça y est
On a atteint les mille hein
Ouais
On a atteint les mille quand même
Il est normal
20h20
J'avais dit avant 1h30
C'est bien
Continuez
Moi Gérard en tant que Travlo
J'estime que tout le monde
A le droit de voter
Non mais attends
Pour l'instant je demande à Téton
Je demande pas au Bulldog
Tu m'as toujours pas répété la question
Alors doit-on voter pour
Pour choisir une copine
Ou un copain ?
Doit-on voter pour choisir
Un copain ou une copine ?
Voilà
Euh ouais peut-être
Pourquoi pas ouais
Ouais
Ouais mais c'est pas mal
Là ta réponse
Ah qu'est-ce que t'en penses ?
Ouais bah elle est nulle à chiquer
Bah ouais
Missère
Bulldog missère là
Comme la question
Attends si t'es pas contente
Tu raccroches
Et tu vas faire dodo
Écoute
Moi je vote
Mais c'est pas pour trouver une copine
Parce que je suis hermaphrodite
Donc
Pas d'insulte
Pardon
Bon et les autres derrière
Vous le laissez parler
On vous a laissé parler
Alors vous le laissez parler
Un petit peu de respect quand même
Je suis différent de vous
Mais je suis quand même
J'estime
T'as le droit de t'exprimer
Bah oui
T'inquiète pas
Merci Sildar
De rien
Tu connais ce problème en plus
Ouais non mais vas-y
Accouche là
On va pas
Bah oui bah je te dis
Moi j'ai pas besoin de voter
Pour
Pour trouver un copain
D'accord
Même en boîte
Même en boîte
De toute manière
Tu peux te trouver facilement
Des copains ou des copines
J'ai vaguement entendu
Sur l'antenne
C'est pas le terme du débat
Non mais je peux répondre
Que j'ai vaguement entendu
Ce soir
Qu'il y en a une
Elle savait pas du tout
Ce qu'elle voulait faire
Avec le mec
Qu'elle a rencontré
Vendredi à la loco
Donc c'est pas grave
Oui
Rigaud
Oui il y a Le Chiant sur IRC
Qui te demande
Si on peut voter
Dans tous les pays
Euh
Très bonne question
Je vais y réfléchir
Je vous donnerai les réponses
Tout à l'heure
Ok
Alors
La septième
Peut-on faire de la politique
Pour être une star
On va demander ça
A
Bulldog Mystère
Apparemment
Tu m'aimes bien
Ouais bah
Tu vas parler
Comme c'est toi
Le dernier arrivé
Donc tu parles un peu
Euh
Alors peut-on faire de la politique
Pour être une star
Ouais
Bah oui
Bah tu vois bien
Qu'on a parlé
De l'habit à Clinton
Assez souvent
Que maintenant
Je pense qu'il peut faire
Un film de boule
Sans problème
L'habit à Clinton
Est connu
Du monde entier
Bah ouais
Non mais
Sur internet
Ouais bah ça
Je sais pas
Sur internet
Si c'est vraiment vrai
Écoute
J'ai cliqué dessus
Hier
Toute l'après-midi
Je peux te dire
Que sa bite
Est sur le net
Si si c'est vrai
Ouais je sais
Il paraît qu'ils veulent
Qu'ils font des photos dessus
Euh
Tétons
Bah moi je suis d'accord
Avec ce que tu dis Gérard
Bah mais
C'est à dire
Bah c'est à dire
Que je suis d'accord
Non mais
C'est pas la peine de dire
Que t'es d'accord avec moi
Mais tu précises
Ta réponse
Bah je pense
Exactement comme toi
Alors
C'est à dire
Bah c'est à dire
Que oui
Je pense que oui
Ouais effectivement
Vu les circonstances
Ouais je pense
Euh
X
Bah écoute
Une collègue
Oh
Bouledogue Missaire
Je suis pas du tout
Un collègue à toi
T'inquiète pas
Hé Bouledogue Missaire
Tu t'as mis un petit peu en veilleuse
T'es jalouse parce que j'ai une vie
Tu t'as mis en veilleuse
S'il te plaît merci
Bon tu peux me la répéter
Parce qu'elle arrête pas de parler
Et j'entends rien
Alors peut-on faire de la politique
Pour être une star
Non je pense pas
Qu'on peut faire de la politique
Pour être une star
Parce que toi t'es déjà une star
Non mais attends
J'ai pas
T'as pourtant pas fait de politique
N'importe quoi
Qui c'est qui dit n'importe quoi ?
Bah non
Bah pourquoi tu dis n'importe quoi ?
Il est vrai ce qu'il dit
N'importe quoi
Hé celle qui est pas contente
Alors tu rentres chez toi
Et tu t'écrases d'accord ?
T'as des meilleures réponses toi ?
Euh casse couille
Non tu m'as pas répondu
Connerie à la radio
Casse couille
Moi tout d'abord un truc
Que je comprends pas là
Euh
Bouledogue Missaire et X
C'est pas la même personne ?
Non
Non c'est ma soeur
Ouais c'est ta soeur
À Balbeur entre les cuisses
D'un catcheur
Ouais
Ouais
Alors casse couille
Alors moi je pense que ça
Ça devrait te donner des idées d'ailleurs
Vu que tu fais quand même
Aujourd'hui même ce soir
20 millions d'auditeurs
Je pense que tu devrais
Te mettre dans la politique
Non non attends
Pour l'instant
On a pas fait 20 millions d'auditeurs
La semaine dernière
On a fait 15 millions d'auditeurs
Là ce soir
La semaine dernière
On avait plus de
On avait 1000 connectés
À je sais plus quelle heure
Et là il y a
À 1h20
On était déjà 1000 connectés
Sur le net
Et là
On atteint bientôt les 1200
Et là on va arriver
On va arriver sur
1200 connectés
D'ici deux heures
Ouais mais
Ouais mais Gérard
Oui
Imagine
T'es 15 millions là
15 millions d'auditeurs
Imagine ils votaient pour toi
Et tu serais président quand même
Ouais mais ça on verra
Bah faudrait que
Tu vois faudrait que tu réfléchisses
À ce genre d'hypothèse
Non faut pas que tu réfléchisses
Non mais
Celle qui dit
Faut pas que je réfléchisse
Je fais ce que je veux
T'es méchant
Comme ça vous êtes en train de feu
Euh Citrouille
Oui
Donc toi
Moi je dis qu'il faut être une star
Pour faire la politique
Et pas le contraire
Non mais doit-on
Elle est mal tournée ta question
Moi je dis si Depardieu
Fait de la politique
T'es sûr il est élu
Moi je dis qu'il faut être une star
Pour faire la politique
Bon ok
C'est ton opinion
Mais moi personnellement
Non je te dis tout de suite
Bah tu la partages pas
C'est pas tant pis pour toi
Mais moi je te dis que c'est ça
Ok
Tu verras on en reparlera
On en reparlera
Ceux-ci sont à l'aïe
Bah écoute moi je suis pas tellement d'accord
Parce que je dis que
C'est pas parce qu'on fait de la politique
Qu'on est une star hein
Hum
Parce que
Il y a bien des gens
Qui font de la politique
Et puis
On s'en fout totalement
On en entend jamais parler
C'est quoi ça ?
Allo ?
Ceux-ci sont à l'aïe
Je crois que c'est X
Qui a raccroché
Non non je suis là moi
Merde
Merde, merde, merde, merde, merde
Euh
Bulldog mystère
Tu dis encore une seule fois
Un gros mot
Tu gerbes
Merde
Alors tu dégages
Bonne nuit
Non c'est pas moi
C'est pas moi
Non c'est pas toi
C'est ma soeur
Ceux-ci sont à l'aïe
Donc t'as peut-être pas fini
Si si j'ai fini Gérard
C'est bon ?
Gérard
Oui
Il y a Serval qui me demande
Enfin qui te demande
S'il y a être une star politique
S'il vous plaît
S'il y a être une star politique
Dans les Mercedes
C'est dangereux
Non
Je vois le rapport
Qui veut en venir
Mais
Moi je vois pas
Je le vois pas Gérard
Si si
Non mais moi je vois
Hey Bulldog mystère
Là tu t'écrases
Ça commence à bien faire
Bulldog mystère
Quoi il y a histoire d'un pont
Dans la
Non non mais c'est bon
Je vois ce qu'il voulait dire
Donc c'est pour ça
Que j'y réponds pas
Alors
Ok
Voilà
Donc
Huitième question
Les extras
Les extras
Les extra-intérêts
Doivent-ils faire
De la politique
On va demander ça
Attends Manu
Oui oui oui
A la place de X
Qui est raccroché
On ne sait pas pourquoi
On accueille Jean-Pitivier
Ben X
C'est plus là
Non elle est raccrochée
Alors donc
Ben faudra la rappeler
Jean-Pitivier
On n'a plus de ligne
Pour l'instant Gérard
Jean-Pitivier
Tu me refais
Une fiche
Je veux qu'on rappelle
Ma sœur
Oh toi
Bulldog mystère
Tout à l'heure
C'est toi
Qui m'a rappelé
Tu m'as dégagé
Oui ça va me faire
Une ligne de libre
Oui bonsoir Jean-Pitivier
Oui bonsoir
Bonsoir
Alors je travaille
Je suis
Maire, sénateur, député
De l'Aviron
J'écoute vos débats
Depuis tout à l'heure
Sur la politique
Je trouve ça très sympathique
Mais je trouve que ça n'a aucun intérêt
Pourquoi je m'explique
Vous vous allez parler
D'ailleurs je vous ai entendu dire
Là où sont les extra-intérêts
Je pense que vous prenez
Un petit peu à la légère
La politique
Et qu'on est en train
De dénaturer un petit peu
Tout ce milieu de la politique
Qui est certes
Magouille et peau de vin
Mais c'est en même temps
Grâce à la politique
Qu'on peut faire avancer le pays
Et je vous entends tout à l'heure
Poser des questions du genre
Est-ce qu'on peut être amoureux
En faisant de la politique
C'est bidon
C'est admissible
Bon alors Bulldog Milster
Tu dégages pour deux
Bon ce coup là
Allez hop
Ça t'apprendra à couper
La parole Jean
Je pense que vous abusez un petit peu
Que vous avez tendance
Un petit peu à prendre à la légère
Ça sert à rien de faire
Un débat sur la politique
Si c'est pour l'aborder
D'une manière rigolote
À ce moment-là
Vous faites un débat
Sur les strings
Ou sur la sodomie
Mais ne venez pas nous emmerder
On va faire des débats
Sur la politique
Oui la sodomie
La sodomie ça c'est bien ça
Bon de toute manière
C'est pas moi qui ai décidé
De faire ce débat là
Dans ces cas-là
Vous appellerez
Non mais dans ces cas-là
Monsieur vous assumez
Vos responsabilités
Bon alors dans ces cas-là
Si c'est pour réagir comme ça
C'est pas la peine d'appeler
Ok ?
Non mais écoutez
J'essaie de le dire
Vous êtes en train de vous énerver
On dirait
Vous êtes vous-même
Un homme politique
Et je trouve ça très décevant
De votre part
Non mais moi je fais les débats
Qu'on me dit de faire
Parce que vous avez l'air
Aussi débile qu'un homme politique
Ouais bah alors si ça vous plaît pas
Bah dans ces cas-là
Vous restez chez vous
Moi ça me plaît
Mais c'est sûr que je voterai pas
Pour votre gueule
Bah tant mieux
Bah moi non plus
Et moi je voulais dire
Que j'avais la Gérardo Zablak
Bon allez
Celui-là tu me le vire là
Le bulldog mystère
J'avais pas entendu
Hop terminé pour lui
Monsieur Gérard
Est-ce que vous avez voté
Dernièrement pour les cantonales ?
Ça ça vous regarde pas
Voilà
D'accord ?
Est-ce que toi t'as déjà été voté ?
C'est une bonne question ça
On parle de politique
Bah de toute manière
J'ai déjà été voté
C'est tout
Pourquoi vous êtes de droite RPR ?
Non non mais ça c'est pas
Ça je vous dirai pas mon parti
Parce qu'on parlait tout à l'heure
De Jean-Marie Guigou
Un homme politique
Que j'aime beaucoup
Demeurent
Et on parle pas suffisamment
D'hommes politiques
Des politiques
Je veux dire
Qu'est-ce que vous pensez de la gauche ?
Le RPR de gauche ?
Non non mais ça
On en a rien à foutre
J'ai dit que
Je voulais pas parler des partis
Alors vous n'en avez rien à foutre
Et dès qu'il faut parler de politique
Vous quand même parlez des partis
Non non mais moi je parle pas des partis
C'est tout
Si ça vous plaît pas
Vous raccrochez
Vous restez chez vous
C'est tout
Non mais c'est débile
De parler de politique
Avec des extraterrestres
Bon c'est bon
Ça y est ça y est
On a compris
Merci
Vous êtes cons alors
A la place de Bulldog Mystère
On accueille Pitbull secret
Bonsoir
Gérard vite fait
Sur IRC
Y'a ce nul
Qui te demande
Si tu connaîtrais
Un président idéal
Non
Alors donc
On va poser la
Il répond à aucune question
Il est con comme ça
Bon alors
Jean-Petit
Viens vous dégagez
Ça vous apprendra
De m'insulter
Hop
Tu peux le dire
Attendez monsieur
Insulter
Allez allez
C'est bon c'est bon
C'est bon c'est bon
Insulter ça fait partie
Du milieu politique
C'est normal
C'est ça c'est ça
Allez restez chez vous
On insulte
Allez allez
C'est bon c'est bon
C'est bon
Allez allez
Alors les extraterrestres
Doivent-ils perdre la politique
On se retrouve tout de suite après
Vous allez y réfléchir
Et on va s'écouter
Gilles Duboudin
Avec mes
Des baskets
Pour manger
Du pâté
Et on se retrouve tout de suite après
On va saluer à tout le monde
Voilà je voulais saluer
Tous les gens de l'IRC
A savoir
On est quand même
1350,2
Mais ça je suis perso
On s'en fout
Ce qui est pas mal
Je voulais saluer
Est-ce que je les cite tous
Non non non
C'est bon
C'est bon
Salut le pop
Avant de
Jérin
Avant de reprendre
On accueille
Jean Cotivier
Bonsoir
Bonsoir
Bonsoir
Ça s'appelle un blanc
Merci Gérard
Bonsoir
Donc
On va parler
On va
Je vais vous donner
Un petit sondage là quand même
Parce que
Rapidement
Allo
Rapidement
Oui
Donc qu'est-ce qu'il nous fait lui là ?
Gère-le
Gère-le là
Parce que ça va pas
Donc tout le monde
A la question
Tout le monde
Peut-il faire de la politique
Allo
Bon tu te tais s'il te plaît
Merci
A la question
Tout le monde
Peut-il faire de la politique
Alors il y a 50% des gens
Qui ont répondu
Qu'il faut obligatoirement
Posséder
Allo
Et moi j'entends plus Gérard
Il y a un problème au standard ou quoi ?
Allo
Allo
Qu'est-ce qu'il se passe là Mani ?
Bah non il y a rien
Il y a rien
Allo
Et là c'est bon ?
Allo
Vous nous entendez là ?
Bah non
On t'entend plus Gérard mais
Vous m'entendez ?
Vous m'entendez ? Allo
Allo
Allo
J'entends Mani ouais
Gérard parle un coup
Allo
Allo
On n'entend plus Gérard
Ouais mais qu'est-ce que tu me fais toi là ?
Fildar
Fildar merde
C'est toi qui fais des conneries encore
Mais non j'ai bien fait
Allo
On t'entend pas Gérard
Assuré RC ils t'entendent plus non plus
Qu'est-ce qu'il se passe là Fildar ?
Qu'est-ce que t'es en train de déconner là ?
J'ai vu une claque
J'attends Fildar
Le bouton là Fildar
Lequel ?
Celui-là le petit blanc là
Désenclenche-le
Voilà
Voilà j'ai bon
Voilà on t'entend là
Voilà Fildar
T'arrêtes de faire tes conneries oui
Allo moi j'entends rien
Allo
Wow
Ah ça a coupé encore
Allo
Fildar merde
Bon voilà la question
Tout le monde peut-il faire de la politique
Allo
Oh t'arrêtes avec tes allos toi
Monsieur vous m'entendez ?
Est-ce que vous nous entendez là ?
Gérard est-ce que tu...
Allo
Oh Fildar merde
Mais j'ai rien fait
Mais lui de droite
Mais y'a rien là
Y'a rien
Y'a rien
Y'a rien
Y'a rien là
Mais c'est encore coupé là
Mais Fildar je suis fait là
Fildar il se fout de toi
Mais lui de droite
Gérard on n'entend plus ta grosse gamelle
Oh c'est quoi ce bordel là ?
Mais non mais moi je continue pas comme ça
Allo les auditeurs
Les auditeurs vous m'entendez ?
Attends je vais laisser ce bouton là
Et là ça va mieux ?
Mais non n'insistez pas
On n'entend pas on vous dit
Et là ?
Et là vous vous entendez ?
Non on n'entend pas
N'insistez pas
On n'entend pas
On n'entend pas le gros con là
Le gros con il t'emmerde toi pédé
Mais d'où ce con là ?
Je comprends pas
Manu c'est du standard
C'est pas possible
Ça vient pas de moi
Ça vient pas de moi
Ah ça y est on entend
Allo ?
Ouais
Ouais bah c'est bon allo
Ah bah voilà
Ah oui voilà c'est bon
Donc y'a la question
Tout le monde peut-il perdre la politique ?
Celui qui m'a traité de gros con
Je te préviens que je t'emmerde
Toi gros pédé d'accord ?
Oh Gérard
Pas de vulgarité
Je te préviens
Tu restes poli ok ?
C'est bon c'est bon Gérard
On y va
Alors donc 50% des gens ont répondu
Qu'il faut obligatoirement procéder
Oh putain Manu
C'est bien tu me sacs
Tu me sacs celui de Allo
C'est pas de sa faute
C'est nous
Non non mais il va pas me percher
Toute la soirée avec
Allo allo allo
Qu'est-ce qu'il se passe Manu ?
On entend plus Gérard là
Bon qu'est-ce que t'as fait Gérard ?
Tout marchait bien là
T'arrêtes de déconner ou quoi ?
Ouais bah je vous entends moi aussi
Mais vous entendez plus Gérard
Bah je sais pas ce qu'il se passe
Il est parti là ?
Gérard t'es là ?
Non non il est là mais
Je pense que le débat il va s'arrêter
N'invitez pas on vous entend pas
Non mais attends il déconne depuis tout à l'heure lui
Y'a rien là
Ah mais ouais mais c'est normal
Faut appuyer là t'appuyez là
Voilà c'est bon vous m'entendez là ?
Ouais impeccable
Ohlala t'es vraiment un cave
Impeccable Gérard
Bah je le savais pas
Ouais non mais tu vas le savoir
Tout à l'heure tu vas te prendre une gaufre
Ils ont changé
Bah au chocolat
Alors tout le monde doit-il
Tout le monde peut-il perdre de la politique
Sur la question
Donc y'a 50% des gens qui ont répondu
Qu'il faut obligatoirement posséder
Un chromosome de 2 mois
Je vois pas ce que ça veut
Si c'est plus ça va mieux
Quand t'as un chromosome de 2 mois
T'as moins de chance
40% des gens ont répondu
Que oui puisque c'est Gérard
Et le président des cons
Bah moi je l'emmerde celui qui a répondu ça
Ça c'est des sondages de merde
Non Olivier Delapro
Et voilà ça m'étonne pas lui
10% des gens qui ont répondu merde
Ah bah c'est bien
Si c'est Olivier Delapro
Qui s'amuse à faire des sondages comme ça
Le deuxième il passe le carré au cul
C'est quoi ce chromosome ?
J'en sais rien
Sinon sur l'ERC
Y'a un seigneur qui dit
Que son chien fait de la politique
Sa queue part en sucette vers la droite
Et il a son permis d'érection
Alors saucisson à laïc t'es toujours là ?
Oui oui je suis toujours là
Casse couille
Pas de problème je suis là
Toujours là
Cétrouille
Ouais je suis là
Téton
Bah ouais
Pic boule
Pic bulle
Pic bulle secret
Pic bulle
Bonsoir
Bonsoir et...
Jean
Jean Cotivier
Jean Cotivier
Oui
Oh tu te réveilles hein ?
Allo
Oh tu te réveilles ?
Allo
Oui
Allo
On entend une barbe
Merde
C'est trop facile
Non fais gaffe
Parce que tu as retourné chez toi tout à l'heure
Je le sens hein
Dans ta voiture caca
Ouais
Dans sa merde
Bon la question Gérard
Alors donc
Vous avez
Bon s'il vous plaît vous vous calmez
Merci
Pour les écologistes dans 15 jours
Pour les élections
Je voudrais parler du pétard à Guigou
Bon toi ta gueule
D'accord
Donc vous avez
On a dit qu'on allait changer la question
Sans écologie
Extraterrestre
Et qu'on allait parler du président de l'Allemagne
Ouais donc qui s'appelle ?
Gérald Krafner
Voilà
Donc vous en avez entendu
Gérald Roswell
Putain tu vas fermer ta gueule toi
Tu vas la fermer ta gueule quand je parle ?
C'est quoi l'histoire de l'Allemagne ?
C'est quoi ?
J'ai pas compris
Non c'est un pays qui était
Qui était machiné par un autre chancelier
Et maintenant ça a changé
Non un chandelier
Un chandelier
Un chancelier
Non on me confirme c'est chandelier
Non c'est chanc...
Chancelier vous savez rien du tout
Alors taisez-vous
Chancouille
C'est les bougies là
Mais vous allez vous chalmer ou quoi là ?
Gérald ça se trouve où l'Allemagne ?
L'Allemagne ça se trouve du côté de
Du Pakistan un peu ou pas ?
Non du côté de Strasbourg par là
Vers Strasbourg de toute manière
Il y a une frontière qui se trouve à la limite de Strasbourg
Dans la banlieue ?
Il y a une île pas loin non ?
Non il n'y a pas d'île
Parce que toi tu viens d'une île toi ?
Bah ouais Tahiti excuse-moi
Ouais tu viens d'une île des cacahuètes
Donc alors je pense que vous en avez tout le temps
Je voulais savoir juste l'Allemagne
C'est bien là où il y avait eu Marguerite
Non c'est pas du tout là
Ça c'est en Angleterre
On va peut-être pas confondre l'Angleterre et l'Allemagne
Bon alors c'est quoi la question ?
Donc vous en avez entendu parler
Donc qu'est-ce que vous pensez qu'il va faire lui maintenant ?
Ben Edmund Cole je pense que c'est bien qu'il soit passé au pouvoir
Non mais il a été viré
Il a été remplacé à Brouty
Vous êtes peut-être au courant de choses que nous on ne sait pas
Moi en tout cas je sais que
Moi en tout cas je sais qu'Edmund Cole
Qui est en contact avec Marguerite Thatcher
Non mais écoute
Écoute bien ce qu'on vient de te dire
Qui n'est plus
Président de l'Allemagne
Je fais de la politique alors
En Allemagne moi je sais de quoi je parle
Parce que moi j'ai vécu en Allemagne
La capitale à Bucarest pendant pas mal d'années
Non mais Bucarest c'est pas la capitale de l'Allemagne à Brouty
C'est la préfecture
C'est la préfecture
C'est en Suisse Bucarest
Ah ouais c'est une ville jumelée
Je pense qu'on va pas s'éterniser trop
Sur cette question là
Justement si il y a un mec qui veut répondre à cette question
C'est ça qu'a merde
Il dit qu'il va faire comme Clinton
Il va sauter sa secrétaire
C'est bien il fait ce qu'il veut
Il fait ce qu'il veut de son cul
Juste c'est dire que l'Allemagne c'est quand même la plus belle ville fleurie
C'est tout
Avec Strasbourg derrière
Le secrétaire allemand démangeait de la bière
Et puis il buvait des patates
Tu te calmes un petit peu toi
J'étais trop bonne
Mais ta question c'est quoi ?
Ma question je vais vous la poser
Parce que c'était pas du tout prévu dans ce truc là
Il y a eu une question avant sur IRC
Une question de Turpentine qui te demande Gérard
Où est-ce que tu es ?
Est-ce qu'on peut apprendre à voter ?
Où on peut apprendre à voter ?
Il n'y a pas besoin d'apprendre
Non pas du tout
Alors toi tu as commencé par fermer ton clapet
Parce que tu as viré toi
Tu as déjà voté Gérard ?
Tu commences à être vulgaire encore toi
Une dédiffune à Elisabeth Guigou
Ça nous écoute
Alors toi Jean Gauthier ou Pitbull
Vous allez vous calmer parce que vous allez rejerber
Je pense que je vous avais dit de ne pas revenir
Vous êtes revenu sous d'autres noms
Non à peine
Parce que pas
On va peut-être revenir
Gérard il a décidé de s'arrêter de voter
Le jour au Krasniki il a décidé d'arrêter la politique
Et ta connerie elle a arrêté de voter quand toi ?
Gérard c'est Krasniki
Avec 15 000 millions d'auditeurs
15 000 millions
1 million
15 000 millions d'auditeurs
Reprends la question
Tu te calmes
Je vais les calmer mais reprends
15 000 millions d'auditeurs
Reprends le débat Gérard
Reprends la question on y va
Alors donc il y a une question que je voulais poser
Parce que tout le monde...
15 000 millions d'auditeurs
15 000 millions
Putain je t'entends plus Gérard encore
Putain merde
Manu s'il te plaît
Vous l'entendez Gérard là ?
Fildar qu'est-ce que tu t'amuses là ?
Je cherche un disque
Fildar !
Quoi ?
Max il t'a dit d'aider alors tu remets les auditeurs
Regarde tu lui mets des bâtons dans les crouilles
Vous avez entendu parler des grèves en ce moment
Je pense que vous en avez tous ras le bol
Ah bon il y a des grèves ?
Oui il y a des grèves
Il y a des grèves encore
Où ça ?
Bah la grève du coeur
Non il n'y a pas des grèves
Ça c'est la grève à Brouty
Les routiers sont en grève
Non non vous avez...
Les routiers c'est des feignants
Oh ta gueule toi
Là comme ça t'es tranquille toi
Au moins je vais t'avoir répondu tout de suite toi
Il y a la grève des...
Il n'y a que de kilomètres qui parcourent
Il y a la grève des porcs là
Des trucs de porcs en ce moment
Ouais il y a ça
Il y a aussi...
Demain il y a la RATP je crois
Demain...
Ah s'il vous plaît vous fermez vos gueules quand je parle
Merci
C'est la grève des porcs
C'est-à-dire que ta femme elle est en grève en ce moment
Tu sais qu'il vient de dire ça
Ça te rend le kilo de Sandy là
Alors tu me viens...
Je ne sais pas qui c'est
Tu gères Manu parce que là on n'en a pas le bol
Je sais je sais je vais essayer
C'est impossible de faire un débat potable
Non non non moi je n'ai rien fait moi
Non non c'est pas...
On ne peut pas faire un débat potable
Donc vous avez entendu ?
Moi je me casse, salut
Salut
Au revoir
C'est un con Svab
C'est qui ?
C'est Jean Cotivier
Il n'est pas content comme ça il...
Gérard
Pour revenir sur le débat
Sur IRC on me demande si un bulletin blanc est réutilisable
Non
Non un bulletin blanc ne peut...
Un bulletin blanc de toute manière ne servira à rien
Parce que c'est un bulletin qu'il n'y a rien à écrire
Non non non
C'est simplement une enveloppe blanche qui ne peut pas être réutilisable
Au deuxième tour peut-être si
Parce que si la personne veut re-voter blanc
Re-vote blanc
Non non non il ne la garde pas
Ils n'ont pas le droit
Mais est-ce qu'ils gardent le même...
Est-ce qu'ils gardent le même ticket ou...
Non non non
Bah si on peut réécrire dessus
Mais c'est une technique écrécrable
Non non mais attendez
Moi je trouve ça lamentable
C'est bon
Non mais moi je peux vous dire une chose
Que les papiers une fois qu'ils sont servis
Sont détruits ou même brûlés
Mais c'est n'importe quoi
Non mais attend c'est ce que je parle
Mais ils en font du PQ après
Mais oui c'est ça
Non parce que je suis désolé
Parce que les billets ce n'est pas combustible
Non non mais attend
Si tu parles du prix comme Gainsbourg
Qui a brûlé 500 balles en direct à la télé
Fais-moi confiance qu'il faut complètement être starbé
Il n'y a pas de rapport
Donc alors moi je peux vous dire qu'en ce moment
Vas-y vas-y
Non non vas-y
Alors oui bon vite fait
Il y a Turpentine
Qui te demande si tu as déjà voté par procuration
Justement c'est la question
On allait en venir
On accueille Vaseline
A la place de Cotivier
Salut Vaseline
Salut Vaseline
Alors donc
On était sur les grèves
Vous en avez entendu parler
Je pense qu'il y en a pas mal d'entre vous
Je crois qu'ils sont encore étudiants je pense
J'ai une question de
J'ai pété
Gérard est-ce que c'est vrai que les électeurs
Pour voter doivent glisser leurs enveloppes
Dans ton urne à caca
Alors là tu peux dire à ce petit con
C'est qui
C'est Pitbull
Non mais il est là
Non mais il n'y en a pas qu'un Pitbull en France
Non mais je vais dire que celui-là
Je l'emmerde sur Minitel d'accord
Fildar je t'ai prévenu de ne pas me couper
Sur des questions con Minitel
Au lieu de te marrer parce que tout à l'heure
Je vais me lever et tu vas te foutre une gaufre
De toute manière au deuxième débat
C'est là ta place
Ouais je vais l'arrêter
Voilà
Tu te trompes
Non mais c'est bon c'est bon
Tu calmes tes nerfs Manu
Mais t'éteins ton micro merci
Alors donc je pense que
Certains d'entre vous sont encore étudiants
Dans tout ce qu'il nous reste
Saucisson à l'ail
Donc t'es encore étudiante toi
Non pas du tout
Oui moi je fais des études en sorcellerie
Et j'ai pris option en chaudronnerie
N'importe quoi
Citrouille
Non moi je ne suis pas étudiante je ne suis pas une saignante
D'accord Teton
Ouais moi je suis étudiante
Pitbull
Moi je suis Alénal Clodo
Bon toi tu vas te calmer parce que tout à l'heure tu as viré
Hein Tony ?
Hein Tony ?
De quoi tu parles là genre ?
Tony il est parti tout à l'heure
Vaseline donc toi ?
Bah moi je suis dans la vie rétroactive
Non mais est-ce que t'es étudiant ou pas ?
Bah non je suis dans la vie rétroactive
T'es dans un tube aussi
Bah en tube ou en comprimé
Non mais je pense que
Pour ceux qui sont étudiants je pense que pour vous les grèves
Vous en avez ras le bol aussi vous
Vous avez bien que vous vous attendez
Je pense que vous voulez bien que ça se termine
Et qu'ils trouvent un moyen
Pour que ça cesse
Le nombre d'élèves dans les classes
Ah bah tu m'étonnes on a envie de bosser nous
En plus ils peuvent même pas aller faire la grève
Parce qu'il y a les grèves des métros
Non non non
Si demain ?
Non
Je te jure que si
Moi je te dis que non
Alors là tu te mets bien profond dans le cul toi
Mais attends
C'est pas imaginable
Donc je peux vous dire que ça ça faudrait que ça cesse
Et que l'autre là celui qui s'occupe de ça
Des étudiants
Face à ce qu'il a promis
Parce que sa confiance
A devenir chiant pour vous
Vous pouvez pas suivre vos études
Voilà bravo
On va pas s'éterniser sur cette question
C'est un petit point
Que je voulais faire parce que Maxime en a parlé
Donc on a fait le tour à peu près de la question
Donc maintenant je vais vous demander
Est-ce qu'il y en a parmi vous
Qui ont déjà voté par correspondance ?
Ouais moi
Non mais parmi les auditeurs
Ah non moi j'étais abonné à J'aime lire c'est tout
Non mais attends toi tu vas répondre correctement
A la question parce que sinon tu vas gerber
Très vite maintenant
Parce que je veux pas me laisser emmerder
Dans les douze dernières minutes qui nous restent du débat
Je vous préviens d'entrer
Alors Vaseline
Par correspondance
Tu peux préciser un petit peu
Qu'est-ce que tu veux dire
C'est-à-dire que t'envoies ton bulletin de vote à de la famille
Non non non par correspondance
Par exemple si tu pars en vacances au moment des élections
Tu peux demander à quelqu'un de ta famille
De voter pour toi en laissant ta carte
D'identité c'est ça la correspondance
Si j'étais moins con il serait pas des élections
Pendant les vacances
Non mais regarde quand il y a des ponts
Par exemple comme au mois de mai
Comme ça s'est passé là
Au mois de mai abruti
Non mais on parle pas du pont de l'Allemagne
C'était pas au mois de mai c'était au mois d'août en plus
C'est quoi une procuration ?
Une procuration c'est que tu donnes l'autorisation par exemple
A quelqu'un de ta famille pour aller voter pour toi
Et comment on fait pour donner l'autorisation ?
Comment ?
Et comment on fait pour donner l'autorisation ?
Au commissariat de police
Le plus proche de chez toi
Ou tu vas même à la mairie et tu leur demandes
Tu dis voilà je suis pas là
Pendant le temps des élections
Est-ce que je peux donner l'autorisation à mes parents ?
Donc en fait si toi tu vas pas voter
Je peux me pointer à ta mairie et dire voilà
Je viens de la part de Gérard et je vais voter pour lui
Non mais à une condition que moi je signe
Parce qu'il faut que la personne intéressée signe aussi
Mais comment peux-tu être sûr
Que la personne va voter ce que tu veux ?
Ah non mais ça c'est sûr ça là-dessus
Je suis d'accord avec toi
Mais ça c'est
C'est pour voir avec quelqu'un de ta famille
Tu peux très bien dire à la personne de ta famille
Tu mets rien dans l'enveloppe, basta
Ouais mais je crois que c'était personnel
Que t'avais le droit de le dire à personne
Ouais mais si tu veux voter blanc, tu votes blanc c'est tout
Gérard il fait caca partout mais il vote écologiste
Ouais moi je t'emmerde toi
J'ai vraiment pique-bulle
Oui Régo
Sur IRC il y a Pingouin qui te demande s'il faut un isoloir
Pour voter par correspondance
Non pas spécialement
Est-ce qu'il faut un abonnement ?
Non plus
Est-ce qu'on peut voter dans le noir ?
En principe quand tu tires le rideau
Bien sûr tu peux voter dans le noir
Comment ça ?
Normalement t'es une voiture, moi je regarde l'émission tous les soirs
Non t'es toi toi
Et il y a Le Chien aussi qui te demande si on peut continuer à voter
Quand le vote est fini
Non je pense pas, une fois que c'est terminé à partir de 8h
A partir de 20h ils peuvent plus voter
Mais alors pourquoi les résultats ils arrivent après 8h ?
Parce que le temps
Il y a le dépouillement déjà à 8h
S'il vous plaît vous me laissez parler
Je réponds à Régo
Donc déjà à 8h ils commencent déjà à faire un sondage
BBVA pour te dire à peu près
Le nombre
Si ça s'appelle comme ça
Il y a le BBVB aussi
Non BBVA et
IFOPS
Donc ils commencent déjà à te donner
Un point de vue sur le nombre
De personnes qui ont voté, le nombre d'abstentions
Une estimation
Une estimation voilà
Quand tu parles de dépouillage ça veut dire qu'en fait
Ils se bourrent la gueule juste avant quoi
Non mais attends c'est qui là qui parle ?
C'est qui qui vient de poser là ?
C'était ton ?
Ouais c'est moi ouais
Non mais je crois que la question sur le dépouillage
Il y a longtemps qu'elle a été posée
Je vois pas ce que tu vas ramener
Attends je réponds
Je suis en train de te poser une question qui a tout à fait rapport avec ce que tu viens de dire
Parce qu'on dit que les résultats sont après 8h
Et pendant ce temps là ils font le dépouillage
Le dépouillage c'est quoi ?
C'est se bourrer la gueule avant ?
Mais non c'est de retirer les papiers qui sont dans les enveloppes
Voilà tu vois que t'es capable de répondre quand tu veux
Il y a longtemps que j'avais répondu déjà
Fallait te réveiller un peu
A ce sujet Gérard il y a Turpentine qui me demande si c'est des facteurs qui dépouillent les enveloppes
Non c'est des gens comme nous
Des toxicomanes ?
Non non ça peut être des gens comme nous
Pas comme toi quand même
Moi si je l'ai déjà fait
Il l'a fait ?
Ah oui il s'est déjà dépouillé
Tu l'as fait ?
Oui oui ça y est
Ça m'étonne pas que la droite est passée
Doit-on parler de politique en cours ?
Ça va concerner ceux qui font
Attends doit-on parler de quoi ?
De politique en cours
En cours voilà
En cours de quoi ?
En cours quand t'es à l'école
Quand tu cours ?
En cours
Quand on fait du jogage ?
Non non non
C'est toi qui me parle en même temps
Je croyais que c'était l'autre dindon là-bas
Donc saucisson à l'ail
Bah écoute moi ça fait longtemps que je suis plus à l'école
Parle un peu plus fort
Je dis ça fait longtemps que je suis plus allée à l'école
Donc je peux pas vraiment répondre
Mais je pense que de toute façon c'est interdit
Ouais bah de toute manière
Tu peux enculer à partir du moment où tu parles de politique
Non mais t'en as beaucoup qui essayent d'en parler
Oui qui essayent mais enfin ils se font vite
Vite casser en général
Ouais mais dans les lycées je pense que
S'ils sont pas pronds ils peuvent en discuter entre eux
Ah ouais non mais là y'a pas de problème c'est sûr
Ok
Casse-couille
Ouais non en cours non on parle pas de politique
A part des fois d'Elisabeth Guigou mais sinon
Bon alors casse-couille là tu te casses
Comme ça tu me les casseras plus
Allez c'est terminé pour lui
Ça a commencé à me les gonfler
Qu'on arrête pas de parler d'elle
Alors ce coup là terminé
C'est trouille
Ouais alors moi une fois y'a un prof qu'on a parlé
Il a pas le droit
J'ai porté plainte
Et le mec il est radié d'éducation nationale
Non mais attends parce que souvent
Ah attendez s'il vous plaît
Je vais répondre quand même à cette rouille
Souvent t'as des profs qui en parlent pour dire à peu près
Ce qu'ils en pensent
C'est sûr que normalement ils ont pas le droit
Ils ont pas le droit
C'est pour essayer de machiner un peu l'atmosphère
Mais je pense que c'est sûr
Ils ont pas le droit
Mais oui je sais
Donc t'es ton ?
Non ils ont pas le droit d'en parler c'est interdit par la loi
D'accord
Pic Bull
Bah moi j'échangerais jamais un cours de politique
Contre le cours de bio
La reproduction des bonus colantartiques
Ouais c'est ça t'as raison toi
Gérard excuse moi à la place de caisse
Couille on accueille Pé de Burne
Bonsoir Gérard bonsoir à tous
Salut Pé de Burne
Vas-y Gérard je crois que tu peux parler maintenant
Donc je te répète la question
Comme t'étais au standard
Donc doit-on parler de
De politique en cours
Donc
Donc
Pour toi
Bah je pense que les élèves quand ils sont en cours
Ils ont d'autres trucs à faire
Bah oui mais est-ce qu'on a le droit d'en parler
Tu me diras surtout qu'en ce moment il y a certains problèmes
On en a discuté tout à l'heure
Sur les histoires des grèves qui commencent à nous prendre la tête
On en a ras le bol
Pour les étudiants ils en ont marre aussi
C'est des feignants
Mais ouais mais c'est des feignants
Non c'est pas des feignants
C'est les profs qui sont des feignants
Parce qu'ils veulent pas
Comme les routiers c'est des feignants
Oh ta gueule toi
C'est des alcooliques
Bon alors toi ces trucs tu dégages
C'est pas moi
Non mais t'es pas visé qu'on dit alcoolique
Non mais t'es ton pour toi
Oui
Donc toi
Oh vous vous réveillez là
Vous répondez aux questions
Mais je t'entends pas Gérard
Alors peut-on
Doit-on parler de politique en cours
Allo
C'est interdit
C'est quoi
Ah ça c'est Fildar ça
Ah là là
Mais lui une droite
Tu me fais pas gueule ou quoi toi là
Bah j'ai rien fait
Non tu me coupes les auditeurs
Ça va pas non
Bah oui j'ai guéri dans la gueule
Donc t'es ton
Ouais bah je t'ai répondu il y a deux minutes Gérard
Donc Pic Bull
Bah moi aussi
Ok
Vaseline
Ouais bah doit-on en parler en cours
Moi je dis si les filles elles se mettent des doigts dans les cours
Ça le fait pas
Bon d'accord je vois pas du tout le rapport
Bah doit-on tu dis doit-on
Bah si elles se touchent c'est pas bien
Bon alors les sondages
Avant de faire la conclusion
Je vais donner les
Un petit sondage rapide ouais
Les deux derniers sondages qu'on a
Donc à la question
La politique est-elle bien faite en France ?
Il y a 60% des gens qui disent qu'elle est bonne
Avec des dessins énormes
Ça je vois pas
Ça c'est bien signé Olivier de la production
Pour me sortir des conneries comme ça
40% des gens qui disent
Que la maquette on voit des traces de colle
Donc ça je vois pas du tout le rapport
Avec la politique Olivier de la pro
Après question
À la question
Votez-vous
Non non t'as rien fait
Tu me prends pour un con toi
Tu me prends pour un con non ?
Termine Gérard termine
Donc à la question
Votez-vous souvent
Donc il y a 40% des gens
Qui disent qu'ils votent
Qu'ils rotaient seulement après avoir bu du coca
Donc je vois pas du tout
C'est bien lui
36% des gens qui ont dit
Qu'ils votaient plus de 6 fois par jour
Donc je vois pas du tout le rapport non plus
Et 30% des gens
Qui ont dit
Qu'ils ne votaient jamais
Car Gérard ne s'est jamais présenté
Aux élections
Et je me présenterai jamais
Donc pour terminer
Une petite question
Vite fait sur IRC
Il y a Orki qui te demande
Qu'est-ce qu'on gagne
Quand notre bulletin est tiré au sort
En fait
Non mais attends
Je vois pas du tout
Son bulletin au sort
C'est dans les jeux
Donc ça je m'en fous
C'est pas dans la politique
Une Twingo
Ouais une Twingo
Une Kangoo tiens
Ouais pourquoi pas s'il veut
Donc on va perdre la conclusion du débat
Ouais
Donc il est 57
Donc saucisson à la gueule
Bah écoute
Laisse passer les autres
Après je répondrai
Bon ok
Vaseline
Ouais bah je sais pas
Je voulais te féliciter
Pour la manière dont t'as présenté
La dualité indicible
De la phénoménologie intrinsèque du problème
Et puis au revoir pour ton débat
Bon allez ça commence à devenir l'autre
Ta conclusion c'était ça pour me dire ?
C'était bidon
Bon alors pig bull
Pig bull une fois
Ouais ouais c'est moi
Alors
Donc moi je fais toujours ma dédicienne
A Elisabeth Guigou si tu m'écoutes
Alors allez hop c'est bien
Tu peux rentrer chez toi
Maintenant t'as la conclusion à la fête
Voilà
Alors Vaseline
Vaseline
C'est la fête
Déjà fait
Déjà fait ?
Non parce que j'ai pas
Si si
Non t'es ton parton
Bah moi je dirais que la politique
C'est comme toi Gérard
C'est catastrophique quand on en parle
Eh bah c'est bien
Si c'est pour ça que t'as voulu participer au débat
C'est bien
Bah ouais je fais ce que je veux
Je suis assez grande
Bah de toute manière tu fais ce que tu veux
Moi aussi je fais ce que je veux
Bah moi aussi je fais ce que je veux
Je suis majeur à vacciner
J'ai pas besoin de
Pourquoi tu me parles d'abord ?
Bon bah alors je te demande la conclusion
Donc tu réponds et c'est tout
Eh bah donc la conclusion
C'est la politique
C'est comme toi
C'est catastrophique quand on en parle
Point barre
Eh bah alors ok bah salut
Allez bonne nuit
Citrouille
Ouais
Moi je dis
Des poivrons
Hein ?
Je dis les politiciens
C'est comme les routiers
C'est des poivrons
D'accord
Eh bah alors c'est sympa
C'est bien parce qu'il y en a beaucoup
Qui ont entendu ce que tu viens de dire
Petite Burne
Pet Burne
Pet Burne
Ouais
Moi je dois dire que
T'as souvent trouvé
Qu'il y avait des questions
Qui avaient pas de rapport
Mais faut être indulgent
Avec ceux qui disent des trucs
Qui ont pas de rapport
Parce que toi tes questions
Bon elles ont pas trop de rapport
Entre elles aussi donc
Non mais attends
Mais dans ces cas là
T'avais qu'à écouter dès le début
T'aurais peut-être pu
Comprendre plus
Ouais bah dans ces cas là
T'avais qu'à comprendre
Les questions qu'on a posées
Parce que je trouve que
On a fait quand même
Largement le tour
De tout ce qui se passe
En France
Ouais mais t'as quand même parlé
Des extraterrestres
Bon
Non non non
Justement ça a pas été fait
Je suis désolé
La question elle a pas été faite
On a passé sur le truc
Ouais mais tu l'as cité quand même
Ouais non non
Mais on l'a pas faite
Donc nuance
Faut pas confondre
Entre citer et l'avoir fait
Ok ?
Euh oui
Pour finir Hugo alors
Oui donc une conclusion
Hier c'est de Daube
Avant de voter
Mettez une capote
C'est important
Contre le cancer du sida
Surtout si vous êtes
Homosexuel
Non mais ça c'est
C'est même pas une question
Que je vais faire
Dans les maladies
Tout à l'heure
Après les deux disques
Saut s'ils sont à l'aïe
Pour terminer la conclusion
Bah écoute
J'ai pas trouvé
Que c'était un débat
Très intéressant
Parce que vu les conneries
Que tout le monde faisait
C'était pas génial
Ouais non mais d'accord
Bah c'est ça
De toute manière
Je m'en doutais un peu
De toute manière
Que ça allait foirer
Un tout petit peu
Non c'était bien
C'était bien
Ouais ouais
Non non mais quand j'ai
Un abruti de câble
Qui me fait que des conneries
Je vais faire la vraie
Un fil d'art
Donc moi je peux vous dire
Une chose
Que c'est dommage
Qu'on a pas trop de temps
Pour continuer
Parce qu'on a
C'est vrai que t'as tellement
De trucs à dire sur la politique
On est tellement pris
Par le temps
Donc moi je peux vous dire
Une chose
C'est qu'à l'heure actuelle
C'est vrai
Ce qui est bien en même temps
Excuse-moi c'est Max
C'est que tu disais au début
Que tu voulais pas faire un débat
Et en même temps
Ta conclusion c'est dommage
Qu'on ait pas eu assez de temps
D'en parler plus longtemps
Tu voudrais parler plus longtemps
D'un débat que tu ne veux pas faire
C'est bien ?
Non parce qu'il y a
Certaines questions
Qu'on aurait pu plus approfondir
C'est à dire sur les grèves
Il devrait y avoir la suite
Dans les mois à venir
Ouais bah ça
On verra
On attendra le sondage
Du premier
On attend de voir
Si Bill Clinton est encore
Au président
Soit écrase
Donc la conclusion
C'est vrai qu'en ce moment
On a parlé pas mal de grèves
Et ça c'est vrai
Que c'est chiant pour tout le monde
Les grèves
Ce qui se passe à l'heure actuelle
Donc maintenant
C'est au gouvernement
De s'en prendre après
Ils font ce qu'ils veulent
Ils nous emmerdent pas
Avec leur connerie
Et ils font ce qu'ils peuvent
Ok voilà
Donc on va se quitter
Et on va se quitter pour
Pour mieux se retrouver tout à l'heure
Pour mieux se retrouver tout à l'heure
Sur les maladies
Donc on va se quitter
Avec Marie-Josée Perrec
Avec les cafards
C'est meilleur chez soi
Et vous pouvez nous appeler
Toujours au 0803 0803
5 000
Toujours 36 15
Camphone Radio
Rubrique directe
Et l'IRCD
On était combien ?
On est actuellement
1428,6
C'est bien
On continue
On continue
Allez à tout de suite
== Le débat sur les maladies ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
C'était bien ça, c'est quoi ?
C'était Marie-Josée Perrecq avec les capards C'est Meilleur Chez Soi
Donc vous pouvez toujours nous appeler au 0803 08 5000 08 175 000
Toujours 36 15 4 Fun Radio rubrique directe et sur l'internet de Rigaud qui y est toujours
Donc www.frfunradio je sais plus quoi
Slash Fun Radio
Ouais Slash Fun Radio on était 1400 je sais plus combien
On a dépassé, on arrive à 1584,1
Oh là là là, bravo Gérard
Combien j'ai cru mal entendre là ?
1584,1
Ah d'accord, c'est pas mal
Alors on va accueillir Potchambe, 21 ans de Montluçon
On écoute Fun Radio sur 92.1
Bonsoir
Bonsoir
Jamal, 24 ans de Brest, 103.2
Ouais salut
Girose, 20 ans
Cirose
Cirose, du foie
20 ans Paris, 101.9
Bonsoir
Bonsoir, je sens pas bon je sais pas ce que c'est encore
Ouais non
C'est quand le matin tu t'habilles et que tu sors directement
Quoi ?
Hé, à 2h du matin il est pas encore couché lui là ?
Il a quel âge ?
12 ans
Hé non non
Salut, salut
Non non, ça va pas non ?
Bah quoi ?
Ouais bah j'ai le droit quand même, j'ai pas le cours, je suis en vacances
C'est les vacances Gérard
C'est les vacances on peut
On écoute Fun Radio Gap 90.7
On écoute, t'as pas de problème
S'il te plaît, 22 ans de Dieppe, on écoute Fun Radio 100.1
S'il te plaît, 22 ans de Dieppe, on écoute Fun Radio 100.1
S'il te plaît, 22 ans de Dieppe, on écoute Fun Radio 100.1
Salut Gérard
Salut, répondez bien quand je parle hein, surtout
Dites pas bonsoir quand on vous parle hein, surtout
Bonsoir Gérard
Oui, bonsoir de 17 ans, on écoute Fun Radio
J'habite en Belgique
A Bourbon ?
A Bourbon
A Bourbon ?
A Bourlon
A Bourlon, pas Bourbon, à Brouty
Oh là là, fil d'art
Oh là là
Et on écoute Fun Radio Belgique 100.9, c'est ça ?
Euh ouais, c'est ça
Ok
Ok
Donc alors, le débat c'est sur la maladie
Les maladies
Les maladies
Les petites maladies
Donc je pense qu'on en avait déjà discuté la semaine dernière qu'on allait faire ce débat-là
Alors, on va poser la question
La grippe s'attrape-t-elle sur le menton ? On va demander ça
Tiens ben, ah oui
De Bourlon
Tu peux remettre s'il te plaît ?
Oh non ouais, ça va pas commencer hein
J'ai pas entendu, j'ai pas entendu la fin de ta putain de question
Ma putain de question
Attends, merde, si t'es pas contente ma petite
Tu vas perdre ton nom
Tu vas aller au standard, je vous ai dit
Je vais pas me prendre la tête là-dessus
Alors, la grippe s'attrape-t-elle sur le menton ?
Bah moi je trouve que la grippe s'attrape partout
J'en ai attrapé sur la plante de pied, ça me fait prendre du mal
D'accord
Ok, s'il te plaît, va, s'il te plaît
Bah t'es poli, c'est bon
Donc toi ?
Dans le métro
D'accord, je pense que vous êtes vachement bien réveillé pour le deuxième débat, ça fait peur
Merci pour le Larsen
De rien
Dans le TGV aussi
Alors, je sens pas bon
Bah moi, j'ai pas de
J'ai pas de grave maladie
Mais bon, je suis jeune, mais je suis déjà très précise quand même
Mais la grippe, je sais pas
La grippe s'attrape-t-elle sur le menton ?
C'est la question, c'est pas une autre question que je te pose
Bah moi, les maladies, on m'a pas encore pu
Expliquer encore, moi j'ai rien eu au menton
Non mais attends
En 12 ans, t'as pas eu de maladie, tu me prends pour un con là ?
Ouais, j'ai eu la coqueluche, mais c'est tout quoi
Ouais, la coqueluche
T'as pas un petit problème de voix là ?
Si, si, un petit peu, ouais
Il a pas encore muté, c'est pour ça
Bah ouais, à 12 ans, dis donc, ça fait bien
Cirrhose, du foie
Bah écoute, je pense que la
La grippe peut s'attraper aussi sur le menton
Parce que tu peux avoir aussi des boutons sur le menton
Ouais, mais de toute manière, la grippe
Elle peut s'attraper sur les
La grippe peut s'attraper partout
Sur les parties les plus sensibles du codor
C'est-à-dire celles du milieu
Et à 12 ans, tu
L'achète, l'achète
Ouais, bah, oh sinon
Hey, gamin, là, tu vas te calmer
Parce que tout à l'heure, tu es allé voir Fildar au standard
Excuse-moi, papa
Ouais, bah, si tu veux pas choper la grippe sur le menton
Tu mets une écharpe, simplement
Ouais, d'accord
Bah, on dirait que ça vous fait peur
Quand je fais le débat sur la maladie
Parce que vous êtes à moitié endormi là-dessus
Ouais, on a peur de la personne
Ils sont reculés un peu de la radio
Pour essayer de choper un truc
Attends, qu'est-ce que tu viens de dire ?
Je sens pas bon, là
Je sens pas bon, qu'est-ce que tu viens de dire ?
On a pas envie d'avoir une femme
Parce que je suis, voilà
Ouais, t'es puceau, mais attends
Ça va venir
Ça va venir, Gérard, il l'a encore
Rigo
Oui ?
Ouais, je suis malade
Salut
Non, non, mais
Alors, faut demander à Gérard
Si on peut soigner l'acné juvénile
Et si on a des chances un jour
De trouver un vaccin pour éradiquer cette maladie
Non, mais ça, le problème sur l'acné
On va en parler aussi
Est-ce qu'il y a plus de chances
Ça, c'est Orki qui me demande
Enfin, c'est Orki qui me demande
Qui te demande
Est-ce qu'il y a plus de chances
D'attraper des maladies
Dans les chiottes de la loco ?
Ah, non
Non, c'est Gérard
Excuse-moi, j'avais pas lu
C'est Gérard, il y traîne, ouais
Tu sais qui vient de dire ça ?
C'est le petit, mais il s'est pas au courant
Non, non, non, ça, c'est une bonne nana
Donc, pot de chambre ?
Ouais, bah moi, je pense que
En fait, ça s'attrape par les cheveux
Hein ?
Par les cheveux, peut-être
Par ?
Les cheveux
Par les cheveux ?
Les tifs
Ouais, bah, je vois pas du tout le rapport
Les poils, les poils
Si tu mets pas de bonnet, ça va pas après
Moi, Gérard
Moi, Gérard
Je voulais dire que
J'avais aussi attrapé un truc, là
Chez le Tobib
C'est la Gérardite aiguë
Et je peux forniquer qu'avec des boudins
Ouais, ouais, je sens pas bon
Je sens pas bon
Tu vois ce que tu as fait ?
Tu vas aller faire dodo
Au revoir
Sois tolérant
Allez, hop
Bonne nuit pour lui
Gérard
Oui ?
J'aimerais te poser une question
Est-ce que tu crois qu'on peut attraper
Les maladies par téléphone ?
Euh, non, pas spécialement
Pourquoi ?
Heureusement
Bah, je pense que
Je sais pas
On sait jamais, hein
Bon, ok
Gérard
Oui ?
Sur Minitel, il y a
Comment il s'appelle ?
Non, je vais pas donner le nom
Il nous dit que t'as une tête d'hémorroïde
Non, bah, lui
C'est quoi un hémorroïde ?
C'est beau un hémorroïde
Bah, je sais pas
C'est pour ça que je demande à Gérard
Des hémorroïdes
Ça s'attrape
Aux couilles
Non, non, non
C'est dans le derrière
Ouais, bah, ouais
Ça y est
À force de mettre du coton-tige
Non, mais c'est que
Souvent, Gérard
Il a des couilles très proches du derrière
C'est peut-être pour ça
Alors, là, j'en connais
J'en connais
Qui parle de coton-tige
Si tu continues
Je vais pas chercher midi à 14h
Je vais en saquer un au hasard
Ouais, c'est pas mal
Dans ton cul
Alors, oui, tu dégages
Allez
Vous avez dit un dit ?
Non, non, c'est personne
Je sens pas bon
Et je viens de le virer
Non, non, mais lui
Tu le vires complètement
Non, mais ça y est, ça y est
Putain, attends, Gérard
Je dis rien, tu veux me virer ?
Non, non, non, ça y est, ça y est
On a trouvé qui c'était
C'est bon
Oui, Rigaud, il y avait une question
Non, qui a passé trop vite
Oui, oui, il y en a plein
Il y a Viandox qui te demande
Si on a des séquelles
Après une maladie mortelle
Non, ben, je vois pas
Parce que si t'es mort
Tu peux pas avoir de séquelles
Bravo
C'est la première fois
Donc, la diarrhée s'attrape-t-elle ?
Par contre, moi, je peux vous dire une chose
Que la grippe
Je l'ai jamais attrapée
Sous le menton, en principe
Tu l'as attrapée où ?
Tu l'as attrapée où ?
Je l'ai attrapée dans la gorge
C'est tout
À force de gueuler
Elle vient de sortir
Souvent, t'as plus de voix
Non, mais gorge profonde ou pas ?
Ben, ça dépend
Des maladies
Je pense que t'es plutôt gorge profonde
Ouais, gorge profonde à fond
Bon, alors, la diarrhée
Elle est bien pleine aussi, quand même
Tu sais qui parle, là, comme ça ?
Ah, c'est pas drôle
C'est oui
Oui, oui
Oui, alors ?
Tu disais ?
Ah, non, mais attends
C'est pas moi, j'ai rien dit
S'il te plaît, tu disais ?
Moi, je disais rien
Ouais, c'est bizarre
Il y a une question, là
Sur un sondage, encore
Je me demande si c'est pas encore
Des petites conneries, ça
Non, celui-là, il est officiel
C'est moi qui l'ai récupéré
Hop
Hop
Bon, excuse-moi, Gérard
Je sens pas bon
On a Viagra
27 ans
De Boulogne
Alors, Viagra, bonsoir
Bonsoir
Il est au travail
Ouais
Salut, Viagra
Donc, moi, je voudrais témoigner
En expérience
Non, mais tu retires
Tu retires tes lois de thé d'arrêt
Donc, je te donnerai mieux
Non, mais je suis enrhumé
C'est sur les maladies
Donc, ça tombe très bien
Donc, moi, ce que j'ai fait
C'est que, bon, là
Pauline Viagra
Vient d'être introduite en France
Non, non, mais attends
Attends, pour l'instant
Tu vois, c'est pas
Je suis pas encore arrivé
A cette question-là
Alors, tu commences pas
A jouer les gros caïds
Ok, pas de problème
Ok
Alors, maintenant
Je vais faire le petit sondage
Là, qu'on m'a donné
Ouais
Donc, alors
Pour ou contre les maladies
Ça, de toute manière
J'avais jamais
J'en ai marre qu'on mette
Des pour ou contre
Lors des
Sur les
Non, mais c'est important
De demander ça aux auditeurs
Ouais, alors, il y a 10%
Qui ont répondu
Que la question était trop compliquée
Ben, c'est pas mal
Ça, c'est
60% des gens ont répondu
Mais on ne
On ne s'en souvient plus
Et 30% des gens
Qui sont contre les maladies
De l'éléphant qui pue
Alors, ça
Fille d'or, tu vois
Ton sondage comme ça
Tu peux te carrer dans le cul
Et te torcher avec
C'est pas moi
On a fait un sondage
Sur les auditeurs
Comme là, tu vois
Ça, c'est
La dernière question
Avez-vous déjà vu
Des maladies
Et si oui, pourquoi
Tu vois
Là, je ne vais même pas y répondre
Ça va aller vite fait
Voilà
Bonjour
Allez
Alors, l'autre question
La diarrhée s'attrape-t-elle
En été
Ou en hiver
En hiver ou en été
On va demander à Viagra
Ben, c'est plus en été
Parce qu'il fait chaud
Donc, on transpire
Ouais
Donc, parce qu'en fait
En hiver
Le caca a tendance
A se solidifier
Ouais
Donc, ça fait
Qu'on chie des pavés de merde
D'accord
Euh, oui
Pour toi
Ben, moi, c'est ni en hiver
Ni en été
C'est en automne
D'accord
Ben, c'est bien
Ben, pourquoi
C'est la saison des feuilles
Ah ouais, d'accord
C'est pas mal
Tu vois quoi
Ah non, non, mais c'est pas mal
Ouais, c'est bien
S'il te plaît
Ouais, moi, j'ai la diarrhée
Quand j'ai la chiasse
La chiasse, c'est quoi ?
La chiasse, c'est la diarrhée
Gérard, est-ce que tu pourrais
S'il y a une différence
Expliquer
Ben, c'est pareil
C'est de l'eau
Quand t'as la chiasse
Tu fais de l'eau
Et quand t'as la diarrhée
Tu fais de l'eau
C'est-à-dire
Quand t'as la diarrhée
Tu chies de l'eau
Donc, c'est pareil
Tu peux la récupérer
Pour la boire, alors ?
Non, non, je pense pas
Parce que c'est dégueulasse
Pourquoi c'est sans bulle ?
Elle recycle tout, l'écologie
Euh, c'est plus le thème
Sur la politique, bien grave
Ok
Euh, cirrhose
Du foie
Alors, tu peux avoir
La diarrhée à tout moment
Et à toute saison
J'en ai rien à foutre
Mais alors ?
Donc, à toute saison
Tu peux avoir la diarrhée
À n'importe quel moment
Voilà, ça c'est
C'est une bonne question
Ce que je voulais dire
Mais c'est bien
On me retire les parles de
On me retire les verres du nez
J'avale
Les verres du cul, c'est la diarrhée
Ta gueule, toi
J'avale
Ouais, ben écoute
Plutôt, plutôt en hiver
Parce que moi, dans la fois
Que j'ai eu la diarrhée
J'avais chopé une hépatite G
Et j'avais eu
Et en plein hiver
Et j'avais une chiasse
Mais l'enfermé
D'accord
Un moustache
Euh
Non mais euh
C'est bien
Que j'ai ton micro
Quand on
Là, c'est pareil
Alors, euh
Donc, euh
Peau de chambre
Ouais, ben moi
Je pense que c'est en automne
Puisque je l'ai eu
Il y a deux jours
Ben, euh
Pour un
Non, tu l'as eu
Il y a deux jours ?
Ouais
Ah ben d'accord
Donc, euh
Tu pourrais préciser ?
Prouve-le
La chiasse, c'est tout
Qu'est-ce que tu veux que je fasse ?
Prouve-le, pétaco
Oh, ça y est
Vous vous calmez là-derrière
S'il vous plaît
Merci
Moi, je peux vous dire
Que c'est rare
Quand j'ai la diarrhée
Et ça m'arrive pratiquement jamais
Ouais, non
Toi, c'est toi la diarrhée
Heureusement
Parce que ça sera
Un sacré bordel chez toi
Alors, euh
T'es tout petit
Tu en dis encore
Un mot de travers
Je me lève
Et je ne mets plus ma main
Dans ta gueule
C'est pas ta directe
Que de la gueule
Ok
Alors
Doit-on
Troisième question
Doit-on trouver un vaccin
Contre le Viagra ?
On va demander ça
Peau de chambre
Ouais, je pense, ouais
Ben, allô ?
Oh, là, là, là, là, là
J'arrête d'être marreuse
Sans colline, toi
Gérard, ton débat
Assieds-toi
Fais ton débat
Alors, euh
Peau de chambre
Ouais, j'ai dit ouais
Dans quelle phase ?
Ben, je dis oui
Que je suis d'accord, quoi
Mais putain
Mais tu vas laisser ton micro
Éteint
Tu vas faire ton boulot
Comme il faut
Au standard
Ou tu finis le truc de classe
Regarde des connards
Là, qui font le bordel
Tu gères rien
Fille d'art
C'est une honte
Putain, mais
Mais quoi
Ah, putain
Putain, t'es péché, Fille d'art
Ouais, ça y est, ça y est
La droite, elle est partie, ça y est
Ouais, j'ai un coup de tête
Un coup de tête
Putain, Fille d'art
Tu as bossé un peu, là
Parce que ça devient
Rangaine avec toi, hein
Bon, Gérard, en attendant
On a une question sur l'IRC
Que je trouve intéressante
De Blue Falcon
Comment attrape-t-on le Viagra ?
Alors, ça, le Viagra
C'est...
Je peux témoigner
Moi, je pensais
Qu'on l'attrapait au lasso
Moi, je peux témoigner
C'est Viagra
Donc, moi, ce que j'ai fait
J'ai un peu décollé, quoi
Parce que le Viagra
Est venu en France
C'est que j'ai pris
Dix pilules d'un coup
Donc, maintenant
À chaque instant, je bande
Non, mais ça
Ça, de toute manière
Normalement, la pilule
La pilule contre le Viagra
La pilule
Le truc du Viagra
Normalement, c'est prescrit
Par les médecins
Et c'est bien précisé
Combien qu'il faut en prendre
C'est pas un médecin agréé
Donc, il va prescrire
Attends, ce qui dit n'importe quoi
Tu commences à me casser les couilles, toi
Non, mais c'est bon
On m'a fait un vaccin
Une picousse dans la bite
Et maintenant, c'est encore pire
Parce que c'était de l'adrénaline
Bon, ça y est
Toi, t'as rappelé
Le tour de la question
Gérard, c'est quoi le Viagra ?
Le Viagra, c'est une pilule
Pour ceux qui sont impuissants
Bah, c'est quoi, impuissants ?
C'est pas une maladie ?
Impuissants ?
Non, non, les impuissants
C'est quelqu'un comme Gérard
Ouais, mais attends
Moi, je t'emmerde, toi, connard
Hé, Gérard
Oui ?
Est-ce que tu prends du Viagra, toi ?
Non
Et toi, quoi ?
Non, il a déjà du gras à la maison
Il a déjà du gras à la maison
Il n'y a pas ta gueule, toi
Je ne vais pas te louper, tout à l'heure
Si tu veux saccager le boulot
Tu le saccages
Et tu dégages
Ça va chier pour toi, Filder
Alors, on va demander à...
Oui ?
Salut, ça va ?
Ouais, et toi ?
Tranquille ?
Oui
Allô ?
Oui
Allô ?
Gérard, Gérard, Gérard
Tu as géré les auditeurs
Ta mère !
Oh, la vache, Fildar, il est par terre
Il vient de se prendre un coup de feuille
Un coup de savate
Tu viens de me faire gosser, ou quoi ?
Tu vas se faire gosser
Les gladiateurs
Bon, on va reprendre le thème
Ouais
Allez
T'as l'état de ton micro ?
Arrête, c'est bon
Gérard, assieds-toi, vas-y
Pousse le bout, merde
Il tape Fildar avec des bouts de cadeaux
Vous ne pourriez plus rien gagner dans la journée
Gérard
Arrête, Filipe
Mais tout à l'heure, je l'ai éclaté pour de bon
Je vais laisser le débat terminé
Je vais laisser Rousseau maintenant
Je crois qu'on avait prévenu
Toi, ça avait prévenu avant
Je me perds un boulot comme Hippo
Alors tu vas chercher le connard
Mais vite fait
Salut, ça va ?
Et alors, troisième question, on va demander à Potchambe
Arrête de me barrer, fais le boulot, putain
On va demander à Potchambe
Doit-on trouver un vaccin contre le Viagra ?
Mais je t'ai dit oui tout à l'heure
Tu m'as posé la question en premier
Ouais, d'accord
Déjà, moi, je voulais te dire que le Viagra, ça m'intéresse
Parce que je suis atteint de mini-zobisme
Et je voudrais savoir
Parce qu'apparemment, Viagra, là, il est dans le business
Et je voulais savoir
S'il pouvait justement me businesser
Me dealer 2-3 Viagra, là, parce que je suis en galère
Bah écoute, y'a pas de problème, j'ai acheté une cartouche de vin
Non, non, non, mais
J'avais le Viagra, là
Vous verrez ça pendant la pause publicitaire
Moi, j'aimerais bien me faire mettre une cartouche
En parlant de ça
Gérard, ton débat
T'as dit que t'avais des auditeurs ou c'était quoi ?
Comment ça me fait chier, là ?
Salut, ça va ?
Bon, envoie un disque
Non, non, on peut pas, on peut pas tout de suite
Non, non, c'est moi, t'envoie
On va reprendre dans le calme
Sur l'IRC, y'a au moins 200 personnes qui sont parties
Suite au débordement de Fildar
Merci Fildar
Et on est plus que 2 sur Minitel aussi
Un broutille, va
Combien c'est ?
Plus que 2 ?
Eh ben c'est bien
Tu gères un peu, Phil
Si Rose
Donc toi, pour toi
Je pense qu'on peut pas trouver de vaccin
Contre le Viagra
Parce que le Viagra, c'est un médicament
Le Viagra, c'est un médicament
Tu le prends si t'es impuissant
Je vois pas quel est le rapport avec la question
D'avoir un vaccin
Contre l'obésité, y'a un truc ou pas ?
Contre la connerie
Je sens que tout à l'heure
Y'en a qui vont se prendre des claques
Ça va leur faire tout drôle
Et là, t'arrêtes aussi, Manu
T'arrêtes avec l'appareil
Parce que ça me gonfle, c'est toi
C'est toi, je viens de te voir appuyer sur les touches
J'ai fait ça, regarde, j'ai appuyé là
Ça fait quoi ?
Y'a pas de son
Donc, s'il te plaît
Ne me marre pas, toi, parce que tout à l'heure
Ça va te faire tout drôle, toi
S'il te plaît
S'il te plaît, tu réponds
Oui, je réponds
Moi, je dis que le Viagra,
c'est bien, mais il faut pas en abuser
D'accord, et oui ?
Bah, écoute, Fildar vient juste me remettre
à l'antenne à l'instant, donc j'ai pas entendu la question
Bon, alors, Fildar
C'est pas vrai, je te jure, j'ai pas touché aux touches
Fildar, tu vas dégager pour de bon, toi
Mais non, mais oui, réponds, c'est faux
T'es plus dans l'équipe
Tu vires, tu peux rester chez toi
Non, mais Fildar, arrête de nous couper
Oui, donc, toi
Si tu pourrais me répéter la question, je suis désolée, mais c'est Fildar
Doit-on trouver
un vaccin contre le Viagra ?
Euh, non, je pense pas, non, parce qu'au contraire
je pense que le Viagra ne peut qu'améliorer
les cas désespérés, quoi
D'accord, donc Viagra, t'avais répondu, toi
Non, mais répondez pas
Non, non, il est là, il est là
Ouais, je suis là, je suis là
Donc, pour toi ?
Bah, ouais, tout à fait
D'accord, alors, quatrième question
Je pense qu'on va arrêter avant 3h
à cause de Fildar
Non, c'est vachement intéressant
Tu vas pas arrêter à cause de Fildar
Non, non, à cause de la merde que t'as foutue, tu vois
Maintenant, sur IRC, on était 1400
Maintenant, il n'y a plus personne
Bravo, Fildar, de tes conneries
On est quand même plus de 1000, ce qui est déjà très bien, Gérard
Non, mais tout à l'heure, on était à 1400
S'il n'avait pas déconné, on aurait été à plus de 1600
Là, Gérard, sur le 3615 Fun Radio
ça remonte, vu qu'on est quand même à 47
Ouais, bah, d'accord
Et Gérard, pour reparler de l'IRC, je lis vite fait
Alors, il y a Turpentine qui te demande
GG, est-ce que tu es dérangé par tes bourrelets de vieux gras ?
Non, bah, ça, c'est
je ne vois pas du tout le rapport avec le vaccin
contre le vieux gras
Donc, avoir la cangrène
est-elle une maladie ?
C'est quoi la cangrène ?
Alors, j'explique tout de suite
le truc
C'est un ongle qui est incarné
Je croyais que
Gérard, excuse-moi, je croyais que la réincarnation
c'était dans le bouddhisme
Non, non, la cangrène, c'est une maladie
qui peut
être très grave
et malheureusement, il y en a beaucoup
qui ne sont pas soignés
à temps contre ça
et ils risquent de perdre un membre de leur famille
Non, non, un membre
sur eux
Si tu as un ongle incarné
et que tu ne te fais pas soigner, ça va continuer
de s'infecter et tout
Donc, à un moment donné, ça va venir
sur la main, ça va monter dans le bras
et ils seront obligés de te couper le bras
Et là, j'ai une personne que j'ai connue
T'as vu sa vie ?
Non, non, qui avait eu la cangrène
Elle n'a pas voulu se faire soigner
Oh, s'il vous plaît, vous me laissez parler, merci
Elle n'a pas voulu se faire soigner à temps
et elle a perdu carrément une jambe
Mais bon, ça, c'est une maladie grave
On ne va pas en parler
Je suis désolé
La question, elle est faite comme ça
Je la pose et c'est tout
Donc, vous allez y réfléchir
et on va s'écouter Guy Brouty
avec des mots fléchés sur
Télé 7 jours
Et on se retrouve tout de suite après
2h32, donc vous pouvez toujours nous appeler
au 0800 308
0875000
et 0875000
Toujours le 3615, Capone Radio, rubrique directe
et toujours l'IRC qui doit revenir normalement
Oui, on remonte d'ailleurs, on a redépassé
quand ils ont entendu que tu virais Fildar du Standard
Ils sont revenus et il y a 1685 personnes
Virgule 4
Fildar, je t'ai dit dehors
Alors, tu vois ?
Attends, attends
Tu me retires le casque, je ne t'ai pas demandé
de le remplacer pour foutre ta merde non plus
Pardon
Alors, on récupère pas de chambre
Bonsoir
Bonsoir
Jamal, rebonsoir
Jamal Doudou
Zirose, pardon
Bonsoir
S'il te plaît
Rebonsoir, oui
Oui, s'il te plaît
Je suis là, mais Manu vient de me rebalancer maintenant
Non, c'est pas Manu
Excusez-moi, je suis à l'arrière
Manu, il m'a mis tout le monde
Là, ça doit être Olivier qui doit s'amuser
Ah bah c'est Olivier, alors c'est un des deux
Viagra, donc, qui est toujours parmi nous
Putain, j'ai la gaule
Bon bah, tu restes poli, s'il te plaît
Donc, alors, la question...
La question, vous l'avez compris ?
Non
Ouais, tranquille, ouais
Mais faudrait que tu la répètes, en fait, ouais
Alors, avoir la gangrène est-elle une maladie ?
Donc, on m'a demandé ça, bah, à Viagra
Bah, oui, bah, si tu le dis que c'est une maladie
Je pense que c'est une maladie, mais moi, je...
Bah, si t'arrives pas à comprendre
C'est pas la peine de continuer le débat comme ça, toi
C'est sûr, avec une bite dans l'oreille, quand même
Allez, hop, s'il vous plaît, là
Vous me virez à Viagra, parce que j'aime pas ça
Gérard
Oui
Merci, il y a Davy One
Oui
Qui me dit, alors...
Est-ce qu'il y a un bébé qui naît
Quand le monsieur met la petite gangrène dans la madame ?
Bah, en principe, oui, hein
Et il me demande aussi combien ça fait en euros
Ah, ça, je sais pas
Voilà
Donc, on va demander à Oui
C'est pas une maladie, en fait
Non, c'est quoi, alors ?
Bah, c'est toi qui la provoque
Une grippe, ça s'attrape, tu...
Olivier, s'il te plaît
Je peux parler, Gérard ?
Oui
Ouais, donc, je disais
Une grippe, ça s'attrape dans la rue, tu vois
Tu la sens pas venir
Tandis que la gangrène, c'est...
C'est quand tu te soignes pas que tu l'attrapes
C'est ce que j'ai dit
C'est ce que j'ai précisé
Bien avant le disque
Eh ben, c'est pour ça que je t'ai dit
Que c'est pas une maladie
Bah, si, ça peut être une maladie, quand même
C'est pas une maladie, quand même
Ça s'attrape pas
D'accord
Non, mais j'ai pas dit que ça...
J'ai pas dit que ça s'attrapait
Nuance, j'ai demandé
Est-ce qu'avoir la gangrène est-elle une maladie ?
J'ai pas dit si ça s'attrapait
Eh ben, moi, je te dis non
Parce qu'une maladie, ça s'attrape
Et la gangrène, ça s'attrape pas
D'accord
Ok, alors, s'il te plaît
Oui
Oui
Oui, ben, je t'écoute
Oui
C'est une maladie, oui
Ah ben, c'est tout ce que tu me réponds ?
Bah oui, c'est une maladie
Bah oui
Bon, alors, Olivier
Tu retournes
Allez, retourne
Non, mais je me suis trompé
Non, mais retourne d'où tu viens
Non, je voulais juste te dire
Parce qu'en fait, à la place de Viagra
On accueille Syphilis
Voilà
Bonjour
Comment ?
Je suis Jean-Louis Connard
Salut, Connard
Salut, Connard
Salut, Jean-Louis
Je suis pas rien
Connard
Donc, on va préciser Jean-Louis
Parce que...
Ouais, non, mais non
T'as pas compris
Non, Jean-Louis Syphilis
Mais c'est Syphilis son prénom
Mais il se l'appelait Connard
Je suis grec
Alors, si...
Ben, tiens, Jean-Louis
Jean-Louis, la gangrène est une maladie
Ok
Ça, c'est sûr
Non, mais tu peux préciser ?
Précise
Jean-Louis, Jean-Louis
Oh, tu précises ?
Oui, c'est Jean-Louis
Salut, Connard
Connard, voilà
Bon, allez, gros
Tous les deux, là
Vous me gérez, là
Parce qu'il comprend rien, là
Je comprend rien
C'est Jean-Louis ou Syphilis ?
Non, c'est Jean-Louis Syphilis
C'est mon prénom et mon nom
Mais tu peux l'appeler Connard
Non, c'est Syphilis
Il t'a dit que oui, c'était une maladie
Donc c'est bon, il t'a répondu
Il est où, Michel ?
Syrose
Oui, ben moi, je suis pas d'accord
Avec lui qui disait que la gangrène
C'est pas une maladie
Moi, je pense que c'est une maladie
Parce que si tu peux la raper, la gangrène...
Bon, elle est celle qui dit n'importe quoi
Tu as commencé par te la fermer
Ouais, tu la vires, tu la vires
Mais par contre, si tu attrapes la gangrène
Est-ce qu'on peut te couper tous les membres ?
N'importe quoi
J'ai le droit de répondre aussi
J'ai le droit de l'exprimer
Sur Yancy, on me demande
Quelle est la personne pas intelligente
Qui essaye de s'exprimer ?
Je suis sûre, ça doit être toi
C'est peut-être une bouffonne, je sais pas
Bon, alors, tu me gères...
Attends, attends, je vire la bouffonne
Non, non, tu la laisses, la bouffonne
Non, mais j'ai viré la bouffonne
Syrose, donc, toi
T'as répondu ?
Oui, c'est une maladie, la gangrène
Mais tais-toi
J'ai le droit de répondre, hein
Non, Gérard, passe aux autres auditeurs, c'est bon
Je crois que tu vas me prendre un peu
Sur les nanas, là
Parce que ça commence à me prendre la tête, là
Javal
Ouais, mais on parlait de petites graines
Moi, je suis donneur, et quand tu veux...
De la gangrène, abruti !
Quand tu veux, les petites graines dans ta turbine à chocolat
Bon, alors, Javal, tu dégages, bonne nuit
Allez, hop, celui-là, on l'envoie se coucher
Il aura tout compris
Il est où, Michel ?
Pot de chambre
Oui, qui c'est qui veut réagir ?
Pot de chambre
Ouais, je t'appellerai, c'est le lit, tout ça, je connais
Donc, ouais, non, ça le saoule, cette question
Non, alors, elle te saoule ?
Tu veux continuer le débat, ou pas ?
Ouais, c'est pour ça, il vaut mieux qu'on passe à une autre question, c'est mieux
Non, mais attends, je fais ce que je veux
Non, elle est nulle, la question
Bon, Olivier, si t'es pas content, tu retournes de l'autre côté
Non, mais non, je suis pas content, mais elle est nulle
Moi, je fais ce que je veux, d'accord ?
Il a raison, Olivier
Moi, je fais ce que je veux
Bon, alors, pot de chambre, tu dégages, bonne nuit pour toi
Allez, hop
Il n'y a plus personne
Non, non, mais vous m'avez récupéré d'autres personnes, vite fait
Sur les 24 lignes, on y va
Alors, les piqûres d'insectes...
D'insectes ?
Les piqûres d'insectes, rendent-ils malades ?
On va demander ça à Jean-Louis
Les piqûres d'insectes ?
Oui
Bah oui, bah oui, tout à fait
Moi, j'ai eu... Enfin, il y a un moustique qui m'a piqué
Et cet enculé, il avait le sida
D'accord
Donc, je l'ai attrapé aussi
D'accord, Jean-Louis, pour l'instant, j'ai pas envie de parler de sida de ça, ce soir
Ah ouais, tu parles de la gangrène, mais tu parles pas de sida
Non, mais je parle pas... J'ai pas envie d'en parler, c'est tout
Parce que c'est un truc qui est trop long à gérer
Ah, ok, excuse-moi
Ok
Je suis désolé
Euh, oui, pour toi
Euh, ouais, moi, une fois, je me suis fait piquer sur le clito
Depuis ce temps-là, ça n'a pas dégonflé, donc ça craint un peu, quoi
Ouais, mais dans ce cas-là, t'as qu'à aller voir un médecin
Bah ouais, mais tu sais, le médecin, tu sais ce qu'il va...
En fait, non, je vais t'expliquer, Gérard
Moi, j'ai un antidote, c'est ma salive
Une fois, je me suis fait bronzer, donc j'étais à poil
Et, si tu veux, il y a une abeille qui est rentrée à l'intérieur
Donc j'ai été voir le gynéco, le gynéco m'a dit
Bah écoute, il n'y a qu'une solution
Vous savez, mademoiselle, il n'y a qu'une solution
Donc en fait, au bout de son temps, il a mis du miel
Et puis il est passé à l'intérieur, tu vois, il me l'a rentré
Comme ça, il s'est dit, l'abeille va sortir
Va s'accrocher sur le miel
Et puis en fait, donc il se retire
Et puis l'abeille n'était pas là
Et puis en fait, il continue, et puis il fait des va-et-vient
Tu vois, et puis alors là, vraiment carrément, quoi
Donc je lui dis, mais qu'est-ce que vous faites ?
Ouais, mais ça y est, ça y est, on a compris, on a compris
Non, c'est pas fini !
Ouais, mais maintenant, dépêche-toi, parce qu'il y a d'autres personnes
Et puis il y a une question IRC
Donc à la fin, il me dit, bah, en fait, vu qu'elle ne veut pas venir
Vu qu'elle ne veut pas se coller, maintenant, il faut la noyer
Bon, ça y est ?
Donc sur IRC, il y a Snul qui te demande
Est-ce que quand on est malade et qu'un insecte nous pique
L'insecte peut-il tomber malade ?
Euh, ça, je pense pas, mais...
Je t'en dis, ouais
Alors toi, je t'emmerde, toi, oui
D'accord ?
Bah non
Voilà, comme on sait que c'est elle qui s'amuse depuis tout à l'heure
Bon, j'ai rien, j'ai rien
Et la question, alors, tu penses quoi ?
Donc, bah, attends, tout le monde n'a pas répondu
Non, mais pour l'insecte malade, là, parce que t'as répondu
Non, non, mais je pense pas qu'il peut être malade en même temps
Ça, j'ai jamais vu un insecte malade comme ça
On a qu'une cuvette à la place de...
Je sais pas
À la place de peau de chambre
Salut, Gégé
On accueille Chippo à la place de Javal
Salut, ça glisse ?
Ok
Alors, s'il te plaît
Ouais
Donc, pour toi, la question
Les piqûres d'insectes rendent-ils malades ?
Bah, moi, ça m'a rendu pas mal malade
Il y a une fourmi qui m'a piqué entre les deux seins
Et maintenant, j'en ai trois
Non, mais attends, c'est des fourmis rouges
Ouais, je suis allée en Amazonie intérieure
Et...
Je me suis fait piquer par une fourmi rouge
Bah, maintenant, j'ai dit
Bah, toi, il est soutif, quoi
Non, mais t'as pas...
Tu t'es pas fait vacciner pour aller là-bas ?
Pas contre les fourmis rouges, j'ai pas pensé
Non, mais il y a...
Attendez, s'il vous plaît
Il y a quand même des vaccins
Il faut quand même se faire vacciner
Avant de partir dans certains pays
Oui, mais...
Lesquels, Gérard ?
Non, mais...
Il y a plusieurs pays comme...
Surène
Surène
Ouais, bah, c'est ça
Alors, fermez vos gueules
Si le prochain que j'entends dire Surène, il va dégager
Je vais pas chercher qui c'est maintenant
Non, mais la personne qui a trois seins
Comment elle s'appelle ?
Elle s'appelle...
S'il te plaît, merci pour l'arsène
Parce que même avec trois ou quatre seins
Moi, je m'en fiche
Bon, ok, bah, c'est bon
Alors, vous allez vous calmer
S'il vous plaît, merci
Elle a parlé qu'elle veut vite
Oh !
Regonne, la cuvette est suppos, là
J'ai rien dit
Ouais, on a rien dit
Bon, bah, vous vous calmez, merci
Je veux être calme
Si rose
Oui, je pense que les insectes, ils peuvent...
Elle est encore là, elle est...
Hé, je vous en avoue, je vous emmerde, elle est OK
Non, mais j'ai le droit d'exprimer, quand même
Non, t'as pas le droit
Non, t'as pas le droit
Tu me vires tous les autres
Et tu gardes si rose
Et tu me prends d'autres personnes
Je reprends pas le...
Je continue pas le débat comme ça
C'est bon, c'est bon, j'ai viré si rose
Et j'ai gardé tous les autres
C'est bon, c'est bon, c'est bon
Je vire si rose
Bonjour, c'est l'inverse
Ah, merde
Gérard
Voilà
Alors, tu vires tous les autres
Et je continue pas
Je t'en fais une fiche, Gérard
Alors, donc, ouais
Pourquoi tu connais pas la mouche testée
Qui donne la maladie du sommeil ?
C'est qui ?
Bah, c'est...
C'est si rose
Ouais
Non, mais attends
Mais moi, je te parle
Les piqûres d'insectes
Rendent-ils malades ?
C'est ça, la question
C'est pas...
Justement, il y a la mouche testée
Qui donne la maladie du sommeil
Ah, d'accord
Parce que t'as déjà testé une mouche
Toi, qui rendait malade
Bah, oui, j'ai...
On fait une épidémie
Sur une ville
Que je dirais...
Attends, c'est ce que tu fais, toi
Attends, parce que là
Gérard, il t'écoute plus
Gérard, écoute au moins les auditeurs
C'est ça, mais j'ai entendu ce qu'elle disait
Donc, c'est bon
Donc, alors, maintenant
On va...
On va attendre un petit peu
Que Fildar me retrouve
Des auditeurs potables
Et qu'ils arrêtent de...
Il n'y a plus d'appel
Il n'y a plus un seul appel
Moi, j'ai plein de questions, hier
Ah, oui, connard
Celui qui s'amuse à ça
Va se calmer, Manu, d'accord ?
Sinon, tu vas faire un standard
Ouais, bah...
Alors, il y a...
En attendant
Alors, il y a Turpentine
Qui te demande
Si un lépreux peut attraper la gangrène
Un lépreux, bah, de toute manière
C'est un peu...
Ça vient de chez eux
Ils sont déjà souvent en train
De la gangrène, aussi, là-bas
Chez eux, hein
D'accord
Ouais
Et...
Dub, tu te demandes...
Excuse-moi, quand tu dis chez eux
C'est le pays, ou c'est le...
Ouais, ouais, ouais
Dans leur pays
Non, parce qu'il y a...
Bah, il y a la gangrène
Et la hougraine, aussi
Non, non, non
J'ai oublié d'en parler tout à l'heure
Toi...
C'est peut-être ta réa, tranquille
Non, mais voilà
Fais du bon boulot
Et tu resteras dans l'équipe
Sinon, tu retournes au standard
Avant la fin de l'émission
Oui, chef !
Alors, il y a...
Serval qui me dit
La mouche de la cirrhose
Elle donne la maladie de Parkinson
Non, je comprends rien
Ouais
Est-ce que quand on perd ses doigts
On peut les remplacer ?
De quoi ?
De quoi ?
De quoi ?
De quoi ?
Est-ce que quand on perd ses doigts...
Attends, attends
C'est Baby One qui me dit
Est-ce que quand on perd ses doigts
On peut les remplacer par des Twix ?
Euh, non
Non, parce que quand tu perds tes doigts
Tu peux pas les remplacer, en principe
Ça, c'est pas mal
Et on me demande aussi
Si cirrhose pique quand elle se rince, pas ?
Non, c'est pas les femmes qui piquent
C'est les hommes qui piquent
Quand ils se rasent pas comme moi
Voilà, donc, alors...
Alors, à la place de cuvette
On accueille cuvette numéro 2
Ouais, bien sûr
On accueille suppo 2
Bien sûr, et tu reprends toujours les mêmes espèces de connards
Non, c'est pas vrai
Syphilis 2
Vous vous êtes pas pris la tête
Soutif et pâté de flotte
Non, mais vous avez...
Alors, par contre, il y a cirrhose qui s'en va
Non, cirrhose, elle s'en va
Allez, hop, allez
Ah, on fait une bonne nouvelle
Alors, hé, je vous préviens
Vous vous êtes pas fait chier
Vous avez viré tous les autres
Et vous les avez repris sous d'autres noms
Non, mais cirrhose, remplace-la par boulimie
Quand je t'appellerai peau de chambre, tu sortiras de sous le...
Toi, tu fermes ta gueule
Maintenant qu'on a des nouveaux auditeurs
On va reprendre le débat et on se calme
Ouais, on se calme, tout de suite
Donc, alors, il y a un sondage, déjà, je vais le faire
Oh, là, là, là
À la question, être malade peut provoquer des maladies
Alors, ça, c'est même pas la peine que je dirais
Qu'on a ça
Non, non, ça, c'est des conneries
Non, non, non
Les oreillons vont-ils malades ?
On va demander à cuvette 2
Ouais, alors, les oreillons, non, ça rend pas malade
Ça fait juste mal aux oreilles, en fait
Ouais, mais ça peut rendre malade
Oh, non, non
D'accord, suppos ?
Ouais, bah, écoute, j'ai eu les oreillons
Et ça m'a filé une transpirationite aiguë
Et je pense que tu connais le problème
Non, je vois pas du tout ce que tu veux dire
Fais-moi un...
Ok, cirrhose ?
Oui, les oreillons peuvent être une maladie
Mais ça, c'est surtout pour les garçons
C'est pas pour les filles
Oui, ça paraît que ça fait gonfler les couilles
Non, mais attends, vous allez...
Je vous préviens, vous allez arrêter de dire des conneries comme ça
Parce que sinon, la sixième question, ça va être la dernière
On va faire conclusion et je rentre chez moi
Ça va être clair et net
Ça, ça serait bien
Alors là, faudrait peut-être vous calmer un peu
Non, mais ce qu'il faudrait, c'est que tu leur expliques
Non, non, mais attends, au standard, vous êtes pas fait chier
Non, non, non
Moi, perso, ils m'ont dit qu'ils s'emmerdaient grave, ce soir
C'est nul, ton truc, là
Ils sont nuls, toi, tu dégages
Dégage, maintenant
Non, mais non, c'est bon
Je gère
Non, non, tu dégages
Tu dégages
Je vais voir
Donc, euh...
Syphilis ?
Oui
D'accord, et toi ?
Les oreillons, je les ai eus quand j'étais petit
D'accord
Et ça m'a laissé des séquelles
Ouais, bah, je pense pas
Soutif ?
Oui
Donc, toi ?
Les oreillons, oui, c'est une maladie
Et il y en a qui ont eu la gangrène des oreilles et elles sont tombées
Non, mais attends, les oreillons, ça donne pas la gangrène, hein
Ah si, je te jure, hein
Ah ouais, bah, tu me diras...
Je travaille dans le milieu hospitalier
Je peux te dire que ça arrive
D'accord
Une question...
Oui, il y a Serval qui te demande
Si on attrape les oreillons en écoutant trop fort son Walkman
Euh, non, pas spécialement
Pas telle fois
Oui, bah, tout d'abord, bonsoir, Gérard
Bonsoir
Donc, je viens d'arriver
Oui, bonsoir
Salut
Donc, bah, ouais, il paraît, il paraît, ouais
C'est quoi ta maladie ?
C'est une maladie sexuellement transmissible, en plus
C'est quoi ta maladie, à toi ?
Non, mais les oreillons, bon, je peux...
Bon, qui c'est qui veut poser la question, là, vite fait ?
Voilà, vous répondez, là ?
C'est moi, c'est moi, c'est Syphilis
Je voulais lui demander quelle était sa maladie
À celle qui vient d'arriver, pas telle fois
Bah, pas telle fois, vas-y, pas telle fois, on te pose la question
Bah, moi, j'ai attrapé l'oreillon d'une seule oreille
Suite à un rapport sexuel
Un dérapage de coton-tige
Mais t'es toujours baisable ?
Euh, ouais, je suis toujours baisable
Alors, Syphilis, tu vas te calmer
Comment tu l'as appelé ?
Tu fais quoi, toi ?
Et celui qui vient de dire, en parlant des coton-tiges
Toi, ça va être la dernière fois parce que tu as dégagé
Hé, ça va, tous les deux, là ?
Ça va, là, je vous emmerde trop
Gérard, Gérard
Reviens au débat
Sur Minital, on nous demande si t'as eu la congraine du cerveau
Tellement t'es con
Non, c'est plutôt lui qui a eu la congraine
C'est qui qui dit ça ?
C'est Bibitte
Bibitte, il a quel âge ?
Il a 112 ans
Ouais, c'est ça, j'ai mon cul avec l'orage
Je crois que ça s'attrape dans les toilettes, surtout
Bon, toi, tu fermes ta gueule
Bon, alors, encore une fois
Cette manière, c'est la dernière question
Parce que vous me cassez les couilles à cause des deux du standard
À cause des deux du standard, c'est tout
Ils sont même pas capables de faire un boulot comme une fois
Ces deux connards
Après, c'est qui qui paye ? C'est les auditeurs
C'est pas de ma faute, dans ces cas, vous avez qu'à vous apprendre
Après, Olivier et Fildar
C'est pas de notre faute si t'es une équipe de merde
Pour l'instant, il y en a deux qui font du bon boulot
C'est Manu et Fildar
Et Rigaud
C'est Manu et Rigaud qui font du bon boulot
Les deux autres, c'est deux cons
Alors, l'éthique
C'est des faillots
L'éthique, sont-ils des maladies
Qu'on peut avoir en
automne ?
Qui c'est qui pose et qui répond
comme ça ?
Non mais donnez pas vos noms, s'il vous plaît
C'est Pedro
Putain, allez, c'est la dernière question
Vous me cassez les couilles, là
Là, au standard, vous me cassez
Vous faites du boulot dégueulasse
Vous m'avez fait du boulot dégueulasse
Le deuxième débat, vous me cassez
J'aimerais bien que vous
réfléchissez un peu aux questions de Gérard
et que vous fassiez un débat un peu plus potable
parce qu'après, c'est nous qui prenons
et l'émission est pourrie
C'est facile, ça
J'aimerais bien que quand on vous sélectionne
que vous fassiez quand même un minimum d'effort
pour comprendre, c'est quand même pas compliqué ces questions
Il faut qu'il nous cite
Celui qui a voulu répondre
répond maintenant
Tu donnes ton nom et tu réponds
Gérard, il se casse le cul une semaine pour faire un débat
Putain, mais c'est quoi cet auditeur
qui a voulu répondre et qui ne veut plus répondre maintenant ?
C'est qui, encore ?
Moi, je vais répondre
C'est Philippe, dégage, on va terminer pour toi
Mais c'est pas moi
Celui qui se marre va dégager aussi
Oh là là
Celui-là, je crois que ça commence à bien faire
Je leur ai dit ce qu'il fallait qu'il fasse
Non, non, mais attends
Le premier débat, il est potable
Le deuxième, c'est de la merde
À cause de vous deux
Pour l'instant, il y a Crico qui va, c'est Manu
Ouais, ouais, ouais
Attendez, après le débat, on va discuter la semaine prochaine
Oh, j'ai rien fait, Gérard
Non, non, je veux pas le savoir, vous faites du boulot de merde
Alors, pas cette fois pour toi
Tu peux répéter la question, s'il te plaît ?
L'éthique
De quoi ?
L'éthique, sont-ils des maladies qu'on peut avoir en automne ?
Non, c'est des petites bêtes que les chiens attrapent
Voilà, d'accord
C'est ce que je voulais t'entendre dire
Soutif
Allô ?
Oh, Gérard, Gérard, Gérard
Arrête de t'en faire sur tout le monde, Gérard
Plus jamais, merde
Non, c'est ma faute, c'est ma faute
C'est ma faute, excuse-moi
Non, non, oui, tu dégages
Gérard, pour revenir au débat
Attendez, les auditeurs, attendez
Pour revenir au débat
Enfin, on va faire un vrai débat
Il y a un petit débat
Merde, là
Et toi, t'arrêtes de bosser comme il faut
Sinon, t'en prends autant
D'accord
Bon, ben voilà
Ben non, je l'ai raté
Ben, le...
Bravo, le fil d'art
Merci, merci, fil d'art
L'auditeur qui a voulu poser la question, celui-là
C'est, s'il te plaît, tu peux revenir
Je te remercie
C'était Oxyd, Oxyd, tu peux répéter
Reviens, tu connais l'adresse
Je l'ai, je l'ai
Alors, la politique des maladies gêne-t-elle les camionneurs qui jouent du synthé ?
Ça, je vois pas du tout le rapport avec les maladies
C'est pas grave
Donc, à la place de Syphilippe, tu me prends quelqu'un d'autre
Ben, si, Jean-Pierre, là
Fais gaffe, fil d'art
Parce que tu vas t'en prendre autant qu'Olivier
Je vais trouver un truc
Si, Rose
Oui, ben, comme elle disait, paté de foie
Les tiques, ça s'attrape
C'est dans les animaux, quoi
C'est dans leur poil, quoi
D'accord
Suppos de...
Quoi ?
Ouais, ben...
C'est dans leur poil
Ouais, c'est dans les...
Mais non, un tique, c'est genre quand tu clignes de l'œil
C'est un tique
Il y en a, mais il y a...
Ouais, mais il y a...
Attendez, paté de foie
Bon, mon tique, c'est le prout
Oh, ta gueule, toi
Bon, alors, suppos, tu dégages
C'est pas grave, réponds, vas-y, vas-y, vas-y
Réponds, parce que moi, ça m'intéresse, ça
Non, parce que les tiques, il y a certaines personnes
Qui ont des tiques qui n'arrêtent pas de bouger les épaules
Ou de se gratter la moustache
Ouais, comme moi
Moi, c'est un tique de me gratter la moustache
Voilà, c'est ça que je voulais dire
Donc, c'est pas du tout dans les bêtes, paté de foie
Ah, ouais, non, mais enfin, moi, tu me parles de tiques
Moi, tout de suite, je...
Non, mais des tiques, t'as certaines personnes
Qui ont des tiques sans arrêt
Non, mais tu comprends bien
Oui, mais, ouais, bien sûr
Ça peut aussi aller dans les animaux
Je suis d'accord avec Siron
Donc, suppos, t'as répondu
Alors, réponds
Les tiques en automne, ouais, les taques en hiver
Les tiques en été et les toques au printemps
D'accord, ben...
Gérard, on me demande si les tiques sont politiques
Non, non, je vois pas
Merci, merci
Je vois pas du tout le truc
Excuse-moi, Gérard
C'est drôle
C'est galéré
Donc, en fait, c'est un prénom composé
C'est Marc, Serge, Thierry, mais tu peux l'appeler MST
Bonsoir
Salut
Salut
C'est Cuvette, j'ai pas répondu à la question
Vas-y
Je pense que c'est des petites bêtes qui mangent les caniches
Mais je viens de te dire
Que ça servait
C'est aussi sur les humains, mais
Je suis sûr que les chiens aussi, quand même
D'accord, donc, MST
Oui, alors, les tiques, ben oui, comme disait la génération
Demoiselle, qui est toujours baisable
J'ai bien repéré son nom
C'est qui, alors, vas-y ?
Celle qui a trois seins
Alors, moi, je dirais
Elle est plus là, celle qui a trois seins, je te signale
Dommage, dommage
Elle est morte, elle avait quoi comme maladie ?
Non, mais je vais te dire, depuis tout à l'heure
C'est l'autre auditeur qu'on a
Ah, Syrose, il y aurait Syrose
Ouais, ben, Syrose, elle vous emmerde
D'accord, bon, que moi, les tiques, ouais, c'est comme disait la personne
C'est pour les chiens, c'est une maladie des chiens
Non, mais, on vient de dire tout
MST, t'as pas encore
Euh, pâte-toi, tu te calmes, s'il te plaît
C'est un espèce de
Non, mais, les tiques, c'est un espèce de morpion canin
Qu'il y a sur les tresses
Quoi ?
C'est un espèce de morpion canin qu'il y a sur les tresses
C'était tout, en fait
Ah, mais je te jure
Bon, de toute manière, il est 50-30
De toute manière, je pense qu'on n'ira pas jusqu'au 10
Bonjour, c'est un message qui s'adresse
Au connard qui habite à côté de chez moi
C'est moi
Euh, ça y est, pour celui qui s'amuse à ça
Gérard ?
Je peux te répondre ?
Ouais, sous-type
Moi, j'ai des tiques, mais la décence m'interdit de le dire au téléphone
Je te mets des doigts
D'accord
Peut-être une voix qui m'excite pas du tout, je te l'aide, je le dis
Bah, toi-même
S'il vous plaît, ça va, de faire votre propre
On va peut-être revenir dans le débat
De toute manière, c'est la dernière question
Mais non
J'en ai plein pour toi
Si c'est tout, là, si tu dégages, MST, d'accord ?
Allez, allez, la question
Alors, à l'heure des coups de soleil, vous rendent-ils
malades ? On va demander à
Cubette
Ouais, ouais, moi, ça me rend vraiment malade
Bah, t'en as déjà eu ?
Euh, non
Non, bah, alors, comment tu peux...
Bah, parce que je dois pas me mettre au soleil
Mais on m'a dit que ça me rendait malade, donc je prends pas le risque, en fait
D'accord
C'est pas con, ça, hein
Je suis courageux, mais pas téméraire
D'accord, ok, suppos
Ouais, non, les coups de soleil, moi, ça me dérange pas
Les coups de victoire non plus
Non, mais attends, tu réponds correctement à la question
Pas à côté, s'il te plaît
Les coups de soleil, ça me dérange pas
Et les coups de victoire non plus
Les coups de...
Victoire
D'accord, mais non, mais je crois que, toi, tu comprends
Pourquoi ?
Non, mais je crois que t'as un peu bouché des oreilles
Ouais, ouais, bah, j'ai...
C'est une maladie
Parce que depuis, depuis le temps que tu dois écouter Fun et que je fais des débats, tu dois comprendre les questions
Alors, si tu comprends pas la question que je viens de poser, ça servait à rien de faire le débat
D'accord ?
Mais là, tu penses que t'es un solotone ?
Ouais
Alors, Siroze ?
Non, moi, les coups de soleil ne me font pas attraper de maladie, c'est que...
On en a déjà
Non, non, c'est pas ça, mais c'est que moi, je brosse facilement, j'ai une peau...
C'est black ?
Non, elle est pas black
Ah non, tu la connais ?
Non, non, elle a une jolie peau, elle est belle, tout ça
Elle est pas black, elle est sale
Oh, s'il vous plaît, là, vous la laissez parler, merci
Même si on attrape des coups de soleil, je pense qu'il faut quand même mettre de la crème et se protéger en mettant un chapeau, tout ça
Gérard ?
Ouais, de la crème sur le chapeau
On nous dit sur Minitel que contre les coups de soleil, le meilleur remède, c'est de superposer plein de couches de fond de teint
Non
Ils nous disent que c'est un super remède
Non, pas du tout
MST ?
Bah oui, c'est comme l'invité mystère, moi, c'est... je mets de la crème, mais pas sur le chapeau, je suis pas débile
Non, mais attends, toi, t'es un peu...
Non, mais je crois que MST, il est un peu con, lui
Non, non, mais attends, elle a dit qu'elle mettait de la crème sur le chapeau, ça sert à rien
Mais non, je mets de la crème sur le corps
Oh, encore pire
Tu veux me faire vomir ou quoi ?
Non, mais attendez, il y a des...
Oh, je vous signale qu'il y a des crèmes solaires pour...
Pour le corps, hein, au corps, vous le saurez pas
On appelle ça de la vaseline
Ouais, c'est ça, et ta connerie, on appelle ça de la merde
Ah, si tu veux
Ok, alors Soutif
Oui ?
Donc, pour toi ?
Bah moi, quand j'ai des coups de soleil, c'est un foulard carré
Ah bon, d'accord, carrément, toi ?
Bah carrément, j'évite de me faire bronzer le derrière, puisque à chaque fois, ça le fait, alors...
Attends, Soutif, je te coupe 5 minutes
Celui qui s'amuse encore à redire à la personne qui parle de dégager, je vais pas chercher entre MST, suppo et cuvette, je vais en virer un des trois au hasard
Au hasard
Ok
Discrimination, c'est pas du tout
Alors, Soutif
Oui ?
Donc, si tu me disais...
Bah, ça me fout la diarrhée, donc j'évite de partir au soleil en vacances, je me fais des vacances d'été en Normandie, en Norvège, des choses comme ça
Ouais, mais en Normandie, je pense qu'il y a quand même pas mal de soleil
Je suis allée un an en Normandie, il y a eu 15 jours de pluie, et les 15 autres jours, il a plu
Attends, je comprends pas, t'as eu 15 jours de pluie et les 15 autres jours de...
Eh non, mais attends, ça veut dire que t'es...
Que t'es partie un mois, et pendant un mois, t'as eu de la pluie
Oh, bah, t'as tout compris
Ah, d'accord
Oui, j'ai pas trouvé, donc j'ai pas eu la diarrhée
Ça te sert d'aller au restaurant, hein ?
Euh, oui
Avant qu'on n'ait pas t'étoie
Voilà, il y a Le Chiant sur l'IRC qui te demande si les coups de lune sont-ils aussi dangereux que les coups de soleil
Non, dans la lune
Non, mais, alors là, je vais te dire une chose
Chiant, c'est même pas la peine que je réponde à ta question
C'est Le Chiant
Le Chiant, t'as même pas compris la question
Non, mais ça existe, les coups de lune
Euh, pâté de foie
Les coups de dent, la lune
Ouais, bah...
Non, mais il comprend rien
Ouais, c'est...
En fait, avec les coups de soleil, on peut attraper les maladies de la peau
Donc, moi, pour me protéger, au lieu de mettre de la crème solaire, bah, je mets de l'huile abronzée
Comme ça, au moins, je suis sûre de pas attraper de coups de soleil
Donc, tu reviens à ce que je te disais, qu'il y avait des crèmes solaires pour éviter d'attraper des coups de soleil
Ah, c'est l'huile solaire
Voilà, mais il y a bien de...
Avec un indice, zéro
Ok
Au moins, tu comprends
Euh, qui c'est qui vient s'amuser à dire ça ?
Mais c'est une vieille chanson
C'est sympa, cette chanson
C'est la fête, fête, la fête
Ouais, bah, je pense pas
Alors, moi, je peux vous dire une chose, que les coups de soleil, il y a certaines crèmes solaires qui servent pour éviter qu'on les attrape
Parce que les écrans totales, ça fait bronzer, hein, Gérard
Comment ?
Les écrans totales, ça fait attraper des coups de soleil
Euh...
L'huile
Ouais, mais t'as certains trucs, comment qu'on appelle ?
Non, non, c'est des conneries, l'écran total, c'est des conneries, c'est de l'huile qu'il faut mettre pour pas attraper des coups de soleil
Non, mais il y a aussi les...
Manu, si tu pouvais m'aider, là, tu sais ?
Oui, les gens, là, au...
Ah, sur les sonos...
Ah, je peux t'aider, Gérard ?
Les UV
Non, mais quoi ?
Les crans anales
Non, non, toi, tu m'as fait du mauvais boulot
L'autobronzant
Ouais, il y a les...
Les trucs où tu te mets dans une machine, là, et ça te...
C'est des sonars, ou sinon, il y a...
Un bronzé
Il y a aussi...
Là, il y a un problème
Il y a des néons aussi, je sais plus comment qu'on...
Les UV
Ah, ouais, les UV
C'est moi qui t'ai aidé
Non, mais toi, tu fermes...
Toi, je t'ai dit de la fermer, je veux que tu m'entendes
Je t'ai fait du boulot de merde
Allez, hop, dégage
Alors, tu t'es...
Gérard, c'est pas le thème du débat
Au standard
Alors, sur IRC, il y a Dimitri qui te demande si on peut attraper des coups de soleil sous l'eau
Par exemple, dans sa baignoire
Euh, non
Et pendant une éclipse de lune, demande Turpentine
Putain, mais c'est bidon, l'Internet, c'est pas les maladies, ça
Bah si, on parle des coups de soleil dans cette question
Mais attends, ils sont moins cons que toi
J'aimerais bien faire un débat un peu potable
Ouais, mais attends, c'est...
T'as déjà foutu ta merde, alors ça suffit comme ça
Franchement, t'as fait des trucs trop inconcevables ce soir
Alors, dernière question, parce que...
Ouais, mais il a été avec ses crabes
Il est inconvenable
Oh là là
C'est horrible
C'est lamentable
Oula
Je sens que Fildar, tu vas t'en prendre une, hein
Mais c'est un débat constructible
Alors, l'acné, euh...
Tu te calmes, toi, parce que avant que tu gerbes...
Je vais t'emmener mon rib
Je sens que tout à l'heure, on va finir à trois que six
À trois que six ?
À trois auditeurs au lieu de six
Attention, parce que je vais pas chercher tout à l'heure
Je vais se virer au hasard
Bah non, il est là
Alors, l'acné, est-elle une maladie qui s'a...
L'acné
L'acné ?
La quenée
La quenée ?
La quenelle
L'apostrophe A-C-N-E
Bon, tu me dégages, je vais m'ester, allez hop
J'ai pas le vaccin
L'acné, L'apostrophe A-C-N-E
Dans la queue au bout du nez, on dit
Euh...
C'est toi qui viens de dire ça, là-bas ?
Non, j'ai rien dit, moi, par contre
Alors, donc, on va demander à Cubette
Ouais, bah moi, je pense que c'est pas...
Je sais pas ce que c'est comme maladie, en fait
Bah, tu sais pas que t'as jamais eu de l'acné ?
Bah, si, peut-être, mais je connaissais pas, en fait
Je savais pas que ça existait
Bah, si, ça existe, hein
Ça existe
Et c'est quoi, comme truc ?
Bah, je te le dirai tout à l'heure
Suppos
Ouais, bah, moi, quand j'étais petit, à l'école, on m'appelait coccinelle
Parce que c'était bouton rouge, point noir
Bouton rouge, point noir
Bouton rouge, point noir
D'accord, et t'as pas...
Et à part bouton rouge, point noir, bouton rouge, point noir
T'avais pas autre chose qu'on te disait ?
Ouais, toi, on devait t'appeler le trou noir, à l'école, avec ton petit truc
Et toi, on t'a jamais appelé tête de con ?
On met une cliquette dedans, elle disparaît, hein, hop
Allez, hop, suppos de la bonne nuit pour lui
Je voulais dire que j'avais fait de l'acné
Mais ce qui me dérangeait, c'était les méduses
C'est qui qui vient de répondre ?
Qui c'est qui vient de répondre, là ?
Je sais pas, moi
MST, t'as un nom de maladie ?
MST, je te l'avais dit de dégager, Fildar
Alors, il dégage
Gérard, mais t'es nul
Gérard, il y a TomJPSG qui me demande
Si l'acné sur le sexe existe
Ouais
Attends, il rajoute
Surtout suite à la sodomie dans les chiottes de la...
Ah, excuse-moi
Ouais, d'accord, lui, il peut garder ses réflexions
Siroge
Oui, l'acné
C'est quoi, c'est...
L'acné, tu ne peux être une maladie
On n'écoute même pas la question
Oh, tu t'écrases, tu vas être, s'il te plaît, merci
Si j'essayais de parler tous en même temps, je pourrais répondre
Mais qu'est-ce que c'est ?
Donc, l'acné est une maladie
Puisque tu peux avoir des boutons partout
Sur le corps
Donc, ça peut être une maladie très contagieuse
D'accord
Soutif ?
Oui
Donc, pour toi ?
Ben, moi, je travaille dans le milieu hospitalier
Et il nous arrive d'avoir des petits jeunes qui ont de l'acné, effectivement
C'est une maladie
Que l'on soigne très bien, effectivement
Ouais, mais...
Grèves de peau, des choses comme ça
Ouais, mais je pense qu'il y a certaines personnes
Qui vont voir des médecins qui disent
Qu'ils veulent se faire soigner contre l'acné
Puis qu'en fin de compte, on leur prescrit des médicaments
Et ils n'en ont rien à foutre
Bon, alors, on a un petit secret qu'on ne dit pas, en fait
Parce que, bon, on n'a pas envie de faire notre business
Mais la masturbation enlève les boutons
Ah, d'accord
Ben, ça, c'est la première fois que j'en sens ça
Gérard, sur Minitel, on nous demande
Si toi, plus jeune, tu as eu de l'acné, justement
Attends, laisse-moi finir avec pâté de foie
Sur IRC, on me demande combien de temps
T'arrives à tenir en acné
Bon, ben ça, je ne répondrai même pas à cette question
Excuse-moi, Gérard, à la place d'émission, on accueille Petit Quiste
Non, mais, hé, ce n'est pas la peine
Je suis dans le cours
Je suis dans le cours
Non, mais, t'es vraiment une pute
T'es vraiment une pute
Je t'ai dit que ce n'était plus la peine de prendre d'auditeur
J'ai arrêté
Je suis dans le cours
Je suis dans le cours
Et à la place de suppôt 2, on a suppôt 3
Non, non, non, c'est pas la peine
Non, non, mais c'est terminé, là, le débat
Bon, arrête, on fait la conclusion, au moins
Non, non, non, vous avez été trop cons
Grâce à Fildar
On a perdu près de 200 personnes sur l'IRC
Merci, Fildar
Ils sont revenus, on est presque 2000
Grâce à lui, on avait perdu
Quand même 200 personnes
Oui, mais ils sont revenus et on est presque 2000, Gérard
Donc, si tu pouvais continuer le débat calmement
Pour faire plaisir à ces gens-là
Pâté de foie pour la dernière question
Ouais, bah, moi, tout ce que je sais, c'est que l'acné, maintenant
On peut la résoudre à l'aide de la chirurgie esthétique
N'importe quoi
Bon, allez, tu me dégages ces trois caves
Elle a raison
Tu me viens de suppôt 2
Et le dernier est arrivé
Terminé, terminé, terminé
Terminé, terminé, terminé
J'en ai ras-le-bol
À chaque fois que les naines apparlent, on leur coupe les paroles
Alors, maintenant, c'est terminé, tu me les vires
Hop, bah, ça
Ça va aller plus vite, on termine le débat
Avec trois...
Ça sera évident, quand même
Non, non, pareil
Non, petit quiste, il a rien dit, tu vois, c'est bon, quoi
Alors, cuvette, j'en veux plus
Ouais, c'est bon, cuvette, il est viré
Et, euh, voilà
Alors, donc, pâté de foie pour toi
Donc, tu me disais
Pâté de foie, s'il te plaît
Je suis d'accord avec la fille qui parlait juste avant
Parce que la chirurgie esthétique, maintenant, on l'emploie pour, justement, enlever l'acné
D'accord
Alors, l'acné au visage, l'acné sur les bras
L'acné sur le bout des seins
Dans le dos
Dans le dos, c'est dégueulasse
Ouais, dans le dos, aussi, ouais
Donc, Rigaud, comme je vois qu'il y a des questions, je pense
Bah, ouais, il y a dévi1 qui te demande où t'as mis l'acné de chez lui
Parce qu'il est dehors et il sait pas
Non, non, mais on s'est même pas dit
Donc, Manu, tout à l'heure, tu m'avais posé une question, toi, sur l'acné
Oui, on demandait sur Minitel, je sais plus trop qui
Demandait si, toi, quand t'étais jeune, t'as eu de l'acné
Et si oui, comment tu t'es soigné et pourquoi, dans quel sens
Alors, ça, de l'acné, de toute manière, ça s'attrape
Facilement, souvent, il y en a qui disent que c'est en mangeant trop de charcuterie
Ça, c'est des dermatologues qui l'ont dit
T'as dû bouffer du saucisson, quand même
Non, non, mais ça, attends, laisse-moi finir
Ou en pétant avec une trouille
Oh, ta gueule, toi, petit kiste
Donc, il y a certains dermatologues qui m'ont dit
Qu'à force de manger trop de charcuterie, on pouvait attraper de l'acné
Maintenant, comment que ça se soigne ?
Ça se soigne avec des produits style...
Merde, comment on...
Pas de marque
Non, mais il y a des savons spécialisés
Des savons spécialisés, et puis des trucs comme du pouce-mousse-mousse
Du quoi, du quoi, du quoi ?
Pas de marque
Des gens de pouce-pouce, là, pour se laver les mains
C'est un produit spécial, donc...
Du directol
Alors, dernière question pour finir le débat
On remercie en pile d'art du bordel qu'il a fait jusqu'à maintenant
Alors...
Qui c'est qui parle, là ?
Petit kiste
Alors, petit kiste, ça, ouais, tiens, je...
Je l'avais pas vu, lui
Tiens, réponds, toi
Ah, bah, je suis là, regarde
Bah, réponds
Ouais, bah, oui, l'acné, moi, j'en ai jamais eu
Mais j'espère que j'en aurai jamais
Non, mais...
T'en as jamais eu, d'accord ?
Mais si un jour, t'en attrapes, tu te demanderas pourquoi
Je te le refile
Ouais, non, mais je te demande si c'est une maladie
Bah, ouais, c'est une maladie, hein
Bon, bah, alors...
Il y a des personnes qui ont...
Mais il y a des personnes aussi, c'est tout concentré
Dans une partie du corps
Mais si je dis le coup, ça va te vexer, donc je le dis pas
Moi-même, de toute manière, je le sais
Mais moi, c'est pas de l'acné que j'ai dans le cou, tu vois
Oh, pourtant, il y a du pus dedans, c'est pareil
Non, non, non, c'est pas du tout, c'est pas...
D'ailleurs, Gérard, il y a un seigneur qui demande
Si on peut se nourrir du pus de l'acné
Ah, non, là, je vais te dire une chose
Le mec, voilà, c'est une question
C'est seigneur, quand même
Ça donne faim, toi
Arrête, Gérard, assis-toi
Gérard, Gérard
Ah, ouais, non, mais Gérard, c'est pas de ta faute
Alors, pour terminer la dernière question
Donc, tout le monde a répondu
Comme il ne reste plus que Syros, Petit Kist, Soutif et Paté Toit
Donc, dernière question
Non, suppos, j'ai dit que c'était terminé pour toi
Non, mais deux, on a trois, il est là
Non, mais attends, parce que
On a peut-être que vous passiez votre boulot correctement
Ce temps-là
Au premier débat, Manu l'a fait
Manu l'a fait super bien
Toi, c'est de la merde
Écoute, Gérard, on a réussi à envoyer deux suppos
On peut en envoyer un troisième, quand même
Non, mais c'est de la merde, parce que t'as repris la même personne
Tu lui as dit, je te fais passer pour suppo 3
D'accord ? Manu, quand j'ai dit
Qu'il vire quelqu'un, il a fait son boulot correctement
C'est faux
Toi, à part
Chercher une voiture caca, c'est tout ce que tu sais faire
Qu'on vire ta merde
Ok, dernière question
Petit Kist, deux
Ouais, c'est ça, bien sûr
Gégé, écoute-moi, la famille suppos
On est trois frères, c'est comme les Hansons
Parce que nous, c'est les suppos, c'est tout
Bon, c'est bon, arrêtez vos conneries, parce que vous commencez à me les gonfler
Allez, Gérard, dernière question
Allez, allez, on y va
Il est 3h10, donc le débat
Le dépistage peut-il vous rendre malade ?
Ouais, je pense que ouais
Ouais, alors vas-y
Je pense que ça peut te rendre malade
Ça s'arrête là
Non mais attends, dans quel sens
Que ça peut te rendre malade ?
Allô ?
Allô, Gérard ?
Non, mais Gérard, j'ai été coupé par Phil là encore
A tous les coups
Non, je disais donc que ça peut rendre malade
Dans le sens où ça peut rendre malade
D'accord, c'est bien
Petit Kist, tu vois bien que le dépistage
Ça rend malade, je sais pas si t'as vu
Quand Chomara, elle a fait une queue de poisson à Jacques Villeneuve
Il a eu la chiasse, Chomara
Et ta connerie, elle a eu la chiasse ?
Non mais tu parles de ça, du dépistage, moi je te réponds
Il a dépisté, voilà
Non mais attends, le dépistage, tu sais ce que c'est ?
Bah oui, c'est quand il sort de la piste, voilà
N'importe quoi, enfin bref
C'est quoi le dépistage, Gérard ?
Non mais je vais laisser tout le monde parler, après je...
Non mais comme ça tu diras pas, bien sûr
Le dépistage sur IRC...
Attends, toi tu m'éteins le micro et tu t'écrases maintenant
Je peux t'entendre jusqu'à la fin, ok ?
Sur IRC, on me dit, le dépistage, c'est quand tu...
Quand tu coupes tes pistaches en D
Non plus
Alors, Sirose
C'est le dépistage, quoi ?
Bah le dépistage, peut-il vous rendre mal...
Eh, qu'est-ce qu'elle éconne, à ton mère, toi pétasse, là
T'as compris ?
Ah mais pourquoi ils sont méchants avec moi, je comprends
Non mais attends, celle-là, je vais la calmer
Parce qu'elle va répondre tout de suite
Soutif ou peut-être moi, maintenant vous répondez toutes les deux
Oui, Gérard
Alors vas-y
Alors tu réponds
Vas-y Soutif
Vas-y Soutif, je te laisse la parole
Euh, le dépistage...
Ouais, ouais
Regarde Richard Virac
Bon d'accord, toi...
Pas de marque, pas de marque
On l'a dopé à la suite de son plein gré, maintenant il est malade
Donc on le soigne en lui faisant des piqûres
Mais je vois pas du tout le rapport
Je te dis qu'il est malade, donc il a été dépisté gravement même
N'importe quoi, toi tu comprends
Je crois que t'as été...
Je me demande si t'es vraiment une infirmière
Gérard
Gérard, c'est moi
Ouais, sur Minitain, on...
On nous demande si chez toi aussi, ta pisse, elle tâche
Ah, exactement
Alors, qui c'est qui pose cette question con ?
Euh...
Question con
Sur IRC, c'est pour continuer
Bah, question con, bah c'est un con
Voilà, c'est tout
Est-ce que la piste tâche ?
Ouais, pareil
Ce serait pareil sur l'IRC
Pas tête-poids pour finir ?
Euh, non, non, le dépistage, au contraire, c'est fait justement pour éviter les maladies
Et voilà, quoi, point barre
D'accord, bah, c'est bien
Gérard, il y a Yankee qui te conseille d'aller faire un dépistage de trisomie
Bon, bah, lui, il ferait mieux de faire...
De se taire un petit peu pour dire des conneries
Cyrus, pour finir ?
Bah, non, le dépistage peut pas être une maladie
Dépose, dépose, dépose
Merci
Allez, faites la fête
Gérard, la conclusion aussi
Non, non, mais vous laissez Cyrus finir, s'il vous plaît, merci
Allez, la grosse, là, dépose, espèce de fainéance
Alors, petit kiss, tu dégages
Allez, hop
Tu viens dans le coup, hein
Allez, hop, dans le coup
Un coup de calpe
Pas dans le cul, parce que je suis poli
Quelqu'un a dit comment vous voulez, hein ?
Non, moi, je veux m'appeler...
Bon !
Et on n'a que une chaude pisse
Et vous êtes vraiment des fils de putes, hein ?
Vous êtes vraiment des fils de putes de faire chier les gens comme ça
Oh, là, là, moi, je suis outrée, là
Ouais, salut, c'est Blénoragie
Je peux répondre, Gégé ?
Vas-y
Je voulais dire que le dépistage, ça peut pas être une maladie
Vu que le dépistage, c'est fait pour, justement, déceler les maladies
Voilà, et donc, je peux vous dire une chose
Que le dépistage sert vraiment à quelque chose, surtout
Chez les femmes et pour nous, les hommes
Si on veut pas avoir certaines maladies
Surtout, il y a les cancers du sein que je voulais pas aborder
Parce que sinon, le débat aurait duré au moins jusqu'à 4 heures
Ça, c'est une question que j'ai pas parlé
J'ai pas voulu parler non plus du sida
Parce que c'était un problème trop important
Et ça, je ferais un débat dessus avec le cancer du sein
Je ne sais pas quand
Je vais voir ça avec le chef
Mais sans fil d'art au standard
Faut vraiment qu'on le travaille, ce débat
C'est le débat
2012, le débat, hein ?
Là, ça peut être joli
Ça peut être votre dernier
Non mais attends, c'est un point
On va voir, mais je pense qu'on l'est pas du tout
On le fait, on le rejette, on l'envoie à la CLT, à la CIA
On l'envoie à la CSA, à tout le monde
Ils valident
Qui serait qui reste, là, maintenant ?
Alors, on va demander à la cuvette
3h12, hein, Gérard
On fait conclusion, hein ?
Donc, conclusion, cuvette ?
Ouais, bah, ton débat, il y a mieux
Parce que, enfin bon, c'était un peu trop compliqué pour moi, je pense
Non, bah, t'avais qu'à comprendre un peu
T'avais qu'à comprendre, t'avais qu'à mieux dire
T'avais qu'à mieux t'exprimer, surtout, en fait
Ouais, non, mais vous avez qu'à vous adresser à Pildar
Non, non, non, c'est tout
Tu fais mal ton boulot
Non, non, mais c'est Pildar qui a foutu sa merde
C'est Pildar qui a foutu sa merde, cuvette, d'accord ?
Alors, tu le remercieras en lui disant au revoir
Suppos
Ouais, bah, je voulais dire que j'entends que Max est revenu
On l'appelle le star system
Toi, Gérard, je pense que t'es le star cystite
C'est-à-dire le roi des infections urinaires
Alors, toi, mon pote, c'est la dernière fois
que tu passeras dans mes débats, d'accord ?
Ok
Petit quiste
Oui, bah, alors là, t'as fait fort, Gérard
Moi, je me suis bien marré
Donc, il faudrait que tu continues comme ça
sans t'en prendre à ton équipe, quand même
Bah, si, parce que c'est grâce à Pildar
si c'est un merdé
Non, mais non, mais non
C'est la cause
La cause, c'est Pildar
Parce que, maintenant, Rigaud, avant que tu termines
On va essayer d'avoir...
On demandera le chiffre après
Après, après
Donc, pour toi, alors
Ouais, faut pas que tu t'en prennes à tout le monde
Il faut pas que tu passes ton temps à virer des gens, aussi
Tu comprends ?
Bah, ouais, mais dans ce cas-là
Quand je vous pose des questions
Si vous voulez pas répondre dans ce cas-là
Ça sert à rien qu'on vous sélectionne pour faire les débats
Si vous ne voulez pas répondre
On veut répondre, mais bon, des fois
On répond à côté de la plaque
Mais c'est pas pour autant qu'il faut virer des gens
Mais ouais, mais si vous répondez à côté des questions
Ça sert à rien non plus de vous sélectionner pour faire les débats
C'est tout
Bon, d'accord, je suis d'accord avec toi
Voilà
Je te souhaite une bonne soirée
Ok, bah, moi aussi
Soutif
Moi, je suis déçue parce que, bon
Je suis quand même dans le milieu hospitalier
Donc, j'aurais aimé participer à tout le débat
Parce que j'avais des choses intéressantes à dire
Néanmoins, bah, c'était nul
Et j'ai Fildar
Ouais, bah, c'est bien
Tu peux retourner le voir, alors
Voilà
Donc, pas tête-fois pour toi
Ouais, bah, comme d'habitude, tes débats
C'était vraiment de la débilité grave, quoi
Et néanmoins, faut pas t'en prendre à Fildar
Si tu sais pas gérer toi-même ton équipe
Ouais, bah, dans ce cas-là
Fildar, il avait qu'à pas faire le con
Parce que c'est grâce à lui
Si, à un moment donné
Sur l'IRC, on avait des petits problèmes
Ouais, mais enfin, c'est quand même grâce à lui
Que t'as des auditeurs, quoi
Ouais, non, mais c'est grâce
Quand je lui demande de virer certains auditeurs
C'est pas la peine qu'il essaye de les reprendre après
Pour leur dire
Vous passez sous un autre nom
Ouais, enfin, Gérard
Si t'es pas capable de gérer
C'est ton problème
De toute manière, dans l'équipe
Y'en a que deux qui font bien leur boulot
Et c'est tout
Les autres
Ouais, bah, ouais
T'as encore raison
De toute façon, ton débat
Ça a encore été de la merde
Et puis, voilà, quoi
Eh bah, si t'es pas content
Tu as bouffé ton pâté de foie
Ok, salut
Oh, joli
Cirrhose, pour finir
Cirrhose
T'es vraiment une tue, toi
Mais c'est pas moi
Mais c'est pas moi
Mais c'est pas moi
Je crois que, voilà
Tu peux arrêter la sonnerie, finalement
Voilà
Attends, toi, je te jure
C'est la dernière fois
Donc, conclusion
Ouais, conclusion
Donc, sur l'IRC
On était presque 2000
On est arrivé jusqu'à 1995
Jusqu'au moment où tu as insulté un auditeur
Tu l'as traité deux fois de fils de pute
Et y'a au moins 500 personnes qui sont parties
Et y'a beaucoup de gens
Qui ont été outrés par ton langage
Et je te lis quelques conclusions
Encore une fois
Un débat sans queue ni tête
Comme Gérard
Le Viagra est au sec
Ce que la connerie est à Gérard
Le Viagra fait partie de l'acné
Et le dépistage permet d'éviter les coups de soleil
Non, mais pas du tout
Pas du tout
Mais bon, y'a quand même combien de connectés ?
Y'en a eu
On a fait 1995
Ah bah
Bravo Gérard
C'est l'exploit
C'est le record
Je crois que c'est un record mondial, alors même
Bravo
Non, non, mais toi
Toi, tu m'en as fait virer quand même 200
Il a eu du mal à les récupérer
Ouais, beaucoup de mal
Mais t'avais perdu les numéros, aussi
Ouais, mais
En plus
Quand tu as une personne
Qui n'a pas fait sa conclusion
Tu l'as carrément raccroché au nez
Non, c'est elle qui a coupé
Non, non, non
Non, non, non
Non, parce que je vais l'appeler
Je vais demander
Ah, tu la connais ?
Bien sûr
Ah bon
C'est qui ?
Non, à ton avis
Ah, c'est Sandy
Ouais, bah bravo
Bravo Gérard
Alors, fais-moi confiance
C'était qui ?
C'était Sandy
Non, mais
De quoi ?
Personne n'a reconnu
Mais qui ? C'était quoi son nom ?
Cirrhose
Oh
T'as déguisé bien sa voix
C'est pour ça qu'on entendait
Vas-y, là
Ah, non
De quoi ?
Je comprends mieux
Non, mais je comprends mieux
Je comprends mieux
Ouais, ça m'étonne pas de Manu
Bah, conclusion
C'est dommage que Fildar
Il a foutu sa merde
Ah, oui, je sais
C'est une belle conclusion
Ouais, bah, de toute manière
J'espère que la semaine prochaine
Tu seras pas dans l'équipe
Parce que je veux pas de toi
C'est simple
À moins qu'il travaille
À moins qu'il travaille
Non, non, bah, il va travailler
Déjà, il va essayer
Je vais essayer de rattraper des points
Je vais faire un stage
J'ai entendu ce soir
Qu'il attendait 11h30
Pour trouver des auditeurs
Bah, si c'est Manu
Qui doit trouver des auditeurs
Autant le mettre tout seul
Avec une nana
Et lui, on peut le virer
Bah, on va le mettre
Avec Bébé Rose, ouais
Voilà
Avec la catastrophe
Donc, moi, je peux
Comment ça, la catastrophe ?
Moi, je peux dire quand même
Merci à Manu
Des deux débats
Parce que c'est la première fois
En je sais pas combien de temps
Que tu me remercies, Gérard
Donc, et puis, surtout
Merci, Rigo
D'avoir fait ton boulot
Correctement
De rien, Gérard
Fildar, je te remercie pas
Parce que tu m'as fait de la merde
Je te sers pas la main
Donc, voilà
Donc, on s'écoute
Ah, je sais pas
Le disque
Bah, moi, je sais plus
Je sais pas
Allez, file le dernier titre
Je suis parti de l'équipe
Mais moi, je te réintègre
Allez, vas-y
Non, non, c'est pas lui
Qui commande
Dans les débats
Le jeudi, c'est moi
Je crois que c'est
Technolab avec Fusion
Voilà
Et demain
Ben, le droit de l'impro
Y'a pas de problème
Là, vous allez retrouver
Rigo pour la nuit sans pub
Ouais, je vais faire
La nuit sans pub, ouais
Vous allez retrouver
Rousseau pour la nuit sans pub
Et dès demain matin
6h, Barthe
Avec des scooters à gagner
Et bien sûr, demain soir
Dès 22h
On se retrouve
Le Star System
Yes
Et moi, je vous retrouverai
Dans le courant de la semaine
S'il y a des petites réactions
Par le
Par le guet
Des auditeurs
Par le guet
Par les guets, ouais
Voilà
Il y en aura plein, t'inquiète pas
Bonne nuit à tous
Et à la semaine prochaine
Ouais
À la semaine prochaine
== Le débat sur l'armée ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Et on est déjà 1664 !
Ah bah d'accord, on commence déjà fort !
1664 !
On commence déjà fort, il est 0h19, on accueille Canif... Caniche...
On fait quel débat là Gérard ?
Sur l'armée !
Voilà, donc on accueille les auditeurs.
Canis !
Canif !
On peut écouter FN Radio sur 94.5
Bonsoir Gérard !
Bonsoir, Tagada 21 ans, Paris 101.9
Salut !
Salut !
Ah, Tagada !
Andouille, 20 ans de chinois, on peut écouter FN Radio sur 100.2
Salut Gérard !
Salut !
Croupion, 22 ans, Verdun, 93.9, FN Radio
Bonsoir Gérard !
Bonsoir, Tony !
Bonsoir Gérard, bonsoir toute l'équipe !
Bonsoir !
Paris, FN Radio 101.9
Yes !
Et... Prothèse, 21 ans, Royan, 99 FM
Bonsoir Gérard, bonsoir à tous !
Bonsoir !
Donc, première...
Comment ?
Big up !
Merci pour Rigaud, donc...
Merci pour Rigaud, c'est pas mal.
Alors, bon, on commence.
Celui qui a un téléphone portable ou pourri, là, qu'il dise tout de suite, parce que ça commence déjà mal.
De toute façon, Darty s'est fermé à ce temps-là.
Non, mais dans ce cas-là, s'il a un téléphone pourri, dans ce cas-là, il va avoir Manu au standard, ça ira plus vite tout de suite.
Je vais le trouver.
Donc, alors, première question, avez-vous fait déjà l'armée ?
Si oui, dans quelle arme ? On va demander à...
Andouille !
Bah, écoute, moi, je suis désolée, mais j'ai jamais fait l'armée.
D'accord.
Canis ?
Bah, moi, écoute, Gérard, en tant que fille, j'ai jamais fait l'armée, mais j'aurais aimé, franchement.
D'accord.
De toute manière, ça, c'est des questions qu'on va aborder lors du sujet aussi, hein.
Ouais, ouais, ok.
Donc, Tagada ?
Moi, oui.
Dans quelle arme ?
L'armée de terre.
À 21 ans, t'as déjà fait l'armée, donc t'as devancé l'appel, alors ?
Bah, non.
Bah, si.
Bah, non, ils sont venus me chercher.
Non, non, non, non, non, attends.
Commence pas à dire des conneries, toi, parce que...
Je te dis tout de suite que...
T'as eu des mises ?
Ouais, ouais, non, non, mais Tagada...
Oh, oh, Tagada, Tagada, Tagada.
Oui.
Soin de toi.
On se calme, ok ?
Donc, à mon avis, t'as devancé l'appel parce qu'à 21 ans, ils viennent pas te chercher comme ça, hein.
Alors, me prends pas pour un con.
Me prends pas pour un con, s'il te plaît.
Ça dépend si vous voulez s'engager.
Tu voulais t'engager, Tagada, ou pas ?
Bah, oui.
Non, mais attends, ça, les trucs sur l'engagement, c'est moi qui les pose, les questions, c'est pas toi, d'accord ?
Non, mais tu dis que c'est pas possible.
Non, mais tu as pas commencé déjà le premier débat comme ça.
D'accord, je voulais poser une question, je suis désolé.
Euh, Andouille, toi-même.
Oui, bah moi, j'ai déjà répondu, j'ai déjà répondu.
Ah, t'as déjà répondu, c'est vrai, je t'ai passé en premier.
Croupion ?
Ouais, alors moi, je suis totalement anti-militariste, donc il est hors de question que je mette les pieds dans une caserne avec des cons, quoi.
Ouais, mais ça...
Oh là, merci pour le Larsen.
De toute manière, ça, je vais te dire une chose, que maintenant, ça va être bientôt obligatoire, alors donc, t'auras pas le choix.
Euh...
Tony ?
Moi, je suis pro-militariste, mais je me suis fait réformer.
D'accord. À 20 ans, t'en es sûr de ce que tu me dis, là ?
Ah, sûr et certain, ouais.
Ouais. Je pense pas à moi, à mon avis.
Et je te jure, et puis je te raconterai même l'histoire, si tu veux.
Ouais, non, non, mais j'ai pas besoin de savoir toute l'histoire complète.
Prothèse ?
Ouais, bah moi, je voulais m'engager, mais je me suis fait réformer parce que j'étais pas assez con pour faire l'armée, quoi.
De toute manière, y a pas besoin d'être con pour faire l'armée, d'accord ?
Parce que si tu... Non, mais attends, si tu veux dire ça pour moi, tu vois, je vais te dire une chose...
Non, non, mais y a pas besoin d'être con pour faire l'armée, de toute manière, l'armée, c'est obligatoire et c'est tout.
Tu m'as dit tout à fait, les cons, de toute façon, ils sont chefs.
Ouais, bah, de toute manière, avec un con comme moi, on s'amuse, avec un con comme toi, on se fait chier, d'accord ?
Sur IRC, y a Zioui qui te demande si tu aimes ramer.
Je vois pas du tout le rapport avec le débat, hein.
Bah, pourtant...
Donc, moi, je peux vous dire que j'ai fait l'armée, dans quelle arme...
Eh, en fait, personne m'a dit dans quelle arme...
Ouais, dans quelle arme, Gérard, au fait ?
Non, mais...
Au fait, Gérard, dans quelle arme ?
Prothèse, ouais, pour l'instant, c'est moi qui pose les questions.
Ouais, mais dans quelle arme, au fait, Gérard ?
C'est moi qui pose les questions, c'est pas vous.
Oui, mais dans quelle arme ?
C'est pas... C'est moi qui pose les questions, toi, Prothèse.
Au fait, ouais.
Dans quelle arme, toi ?
Bah, j'ai été réformé, je t'ai dit.
Eh, c'est le qui dit au fait, tout à l'heure, tu vas te calmer, toi.
Je voulais m'engager dans les RIMA, Régiment d'Infanterie, Marie.
Ouais, dans l'infanterie.
Ouais, j'suis en ligne.
Tony ?
Bah, je te dis, je me suis fait réformer, mais moi, je voulais n'importe quoi, de la cuisine, de n'importe quoi, moi, j'aurais fait.
Croupion ?
Oui, tout sauf la Légion.
Ouais.
Andouille ?
Moi, je serais plutôt partie dans l'arme blanche.
C'est-à-dire, chasseur alpin ?
C'est du ninja.
Tu m'as outé les mots de la bouche.
Bah, c'est chasseur alpin, hein, les plus blanches, ouais.
Les samouraïs.
Euh, Tagada ?
C'est quoi, la question ?
Non, mais je te demande dans quelle arme, abruti, parce que tout à l'heure, tu as dégagé, ça va aller vite.
Abruti, toi, si tu commences.
Dans quelle arme, quoi ?
J'ai fait l'armée ?
Ouais.
Bah, je te l'ai dit tout à l'heure, dans l'armée de terre.
Ah, non, tu ne l'as pas dit, nuance.
Je l'ai dit, je l'ai dit, j'ai...
Euh, Canis ?
Bah, moi, j'ai rien fait.
Canif ?
Canif, ouais.
Bah, j'ai rien fait, mais ouais, dans l'armée de terre, j'aurais aimé.
Bah, moi, j'ai...
Tu verras, il y a des mâles dans l'armée de terre.
Ouais, bah, oh, tu te calmes, toi, parce que tout à l'heure, tu as fait comme la semaine dernière, Tony.
Attends, Gérard, toi, tu l'as fait dans quelle armée, alors ?
C'est... Moi, c'est... J'étais dans l'infanterie, dans le 110e R.I. en Allemagne.
Et t'inventais quoi ?
T'inventais quoi ?
Non, mais c'est le 110e Régiment d'Infanterie, Abruti.
Ah, Infanterie, j'ai compris.
Et toi, dans quelle arme ? Tu ne l'as pas fait, tu ne l'as pas fait, parce que toi, t'es trop con, alors ?
Déjà, lui, il est trop con, déjà, pour faire son stand-up, il attend 11h à nuit.
Il y a un petit sondage qui nous a été communiqué, donc, à la question, pour ou contre l'armée,
20% des gens...
Non, mais c'est important de savoir, Gérard.
Ouais, mais ça, on n'en a rien à foutre des pour ou contre, parce que c'est pas...
C'est un débat, on en parle, vas-y, Manu.
Donc, 20% des gens sont pour Alain Prost, 30% des gens n'ont pas de permis,
et 50% n'ont jamais été alarmés en un seul mot.
Bon, alors, déjà, les deux premières questions, je ne vois pas ce que ça vient tout là-dedans.
Les gens ont répondu ça, ils sont...
Ouais, mais ceux qui répondent ça, c'est des cons, ce n'est pas de ma faute.
Donc, deuxième question, à quoi l'armée sert-elle de nos jours ?
Aujourd'hui, on va demander ça à, ben, Tony.
Non, on va demander à Tagada.
Pardon ?
Tagada.
À se faire des mecs ?
Putain, mais, hé, hé, hé, non, mais t'es vraiment con, toi !
Il y a eu le sergent du mec, après, il y a eu l'infirmier, je m'en rappelle...
À quoi sert l'armée de nos jours, aujourd'hui, Tagada ?
Tu réponds comme rectement, ou sinon, tu gerbes.
Bon.
Euh...
À former des hommes, des vrais, des mâles, hein.
Bon, maintenant...
Tu me prends Tagada, tu lui expliques comment que ça se passe, un débat.
Ouais, mais peut-être que pour lui, justement, l'armée...
C'est mon point de vue, hein.
Ouais, non, mais...
Non, mais explique-lui quand même comment que ça se passe, un débat, parce que...
Toi, tu poses une question, il doit répondre.
Ouais, ben, pour l'instant, s'il répond à côté de la plaque, c'est pas la peine de...
Non, il répond ce qu'il veut.
Il répond au mot de l'acteur.
Euh, Rigaud, attendez, c'est vous, ok ?
Rigaud, il y a une question, non ?
Euh, ça va très vite, vu qu'on est en train de dépasser les 1800 connectés.
Oh, lol, lol, lol, lol.
Alors, l'armée sert à se mettre des cotons-tiges dans le cul ?
Non, non, ça c'est bon, ça va trop vite, j'ai pas trop le temps.
C'est qui qui s'amuse à dire ça ?
Ben, c'était un certain Gérard que...
Ah bon, d'accord, ouais, ok.
Euh, Andouille ?
Ouais, ben, l'armée, ça sert à se battre.
Ah bon, pour toi, l'armée, on se bat ?
Ouais, ouais, c'est une école de bagarre.
Ah bon ?
Ah, ok, attends, attends, on va...
C'est excellent.
Ah ouais, d'accord.
Alors, tu crois que c'est l'armée qui fout le bordel dans les rues ?
Non, non, non, mais je pense que là-bas, c'est une bonne école pour apprendre à se battre.
Ça fait qu'après, quand tu rentres chez toi, tu peux te battre tranquille, quoi.
Ah bon, c'est nouveau, ça ?
Ouais, vive la guerre.
Ah ouais, ouais, c'est nouveau, ça, ça vient de sortir.
Tiens, il faudrait que je réfléchisse à cette question.
Euh, Canip ?
Ben, écoute, moi, Gérard, pour moi, je sais vraiment pas à quoi ça sert,
parce que vu le peu de gens qui veulent y aller, ça doit pas servir à grand-chose.
Ben, disons, ça sert pas à grand-chose dans l'ensemble.
En fin de compte, tu perds carrément facilement un an de...
Si t'es en stage ou au boulot, tu perds facilement une année pour rien.
Ouais, mais maintenant...
Non, non, mais attends, j'ai pas fini avec tout le monde, là, on va demander à tout le monde.
Andouille, elle a répondu.
Croupion ?
Ouais ?
Donc, toi ?
L'armée, ça sert à faire chier les gens, à faire chier les Parisiens tous les 14 juillets pour voir défiler 5 000...
Bon, ben, ça...
Bon, là, merci pour le Larsen.
Y a pas de quoi.
Euh, Tony ?
À se faire sodom.
Ah, ouais, d'accord.
Alors, Tony, tu me redis encore une connerie comme ça, je te préviens, tu fais comme la semaine dernière,
je te gerbe au premier débat, OK ?
Tu me poses une question, je te réponds.
Non, non, mais je te demande, sois un peu moins con, hein, que tu l'aies.
Tu réponds correctement aux questions, sinon tu gerbes.
Je te le dis tout de suite, parce que j'ai pas l'intention de me faire chier ce soir.
Je suis désolé.
Gérard, sur IRC, il y a Le Chiant qui te demande s'il faut savoir faire du rouille.
Du windsurf pour faire l'armée de l'air.
Oh, non, c'est quoi, ça ?
C'est quoi, du windsurf ?
Si quelqu'un pouvait me le dire, c'est quand tu sautes en parachute avec ton tank.
Ah, d'accord.
Non, non, non, tu sautes, alors tu vois, t'as un petit string rose.
Qui, qui, qui, qui, qui c'est ?
Ah, c'est Tagada.
T'as un petit string rose avec des petites dentelles sur le côté.
Ensuite, t'as une jartière, voilà.
T'es sur un surf et tu prends un gros code.
Alors, le code, tu le décides.
Non, non, c'est bon, Tagada, ça y est, ça y est, ça y est, c'est bon, on a compris.
Prothèse pour finir le thème de...
Ouais, bah, l'armée, je dirais que ça sert à apprécier le kaki et les corvées de chiotte.
Bon, bah, ça, donc, moi, je...
Comment ?
Ouais.
Non, mais rien.
Qui c'est qui a voulu rajouter quelque chose ?
Tagada.
Tagada ?
Non, c'est pas moi.
C'est pas moi.
Bon, alors...
Non, mais c'est pas grave, vas-y.
Donc, c'est pas...
Donc, l'armée, à l'heure actuelle, sert à quoi ?
Bon, bah, en fin de compte, comme j'ai dit tout à l'heure sur Andouille ou Croupion qui m'avaient parlé de ça,
bon, bah, j'avais vaguement dit,
donc, normalement, l'armée, c'est, en fin de compte, vous perdez un an de salaire,
parce qu'en fin de compte, vous n'êtes pas sûr, quand vous ressortez de l'armée, de récupérer votre emploi.
Normalement, si, vis-à-vis de la loi et selon les collections collectives de la société,
normalement, ils sont obligés de vous reprendre, quand vous avez terminé l'armée,
ils sont obligés de vous reprendre facilement, normalement, si je ne me trompe pas,
et je pense que Manu ou Fildar ou Grégoire pourront me confirmer,
je crois que, normalement, c'est un mois, un mois, normalement.
Par contre, Gérard, c'est Manu, là.
Ouais, l'armée, ça sert pas, tu peux pas passer ton permis gratuitement, tout ça, des trucs comme ça ?
Mais, justement, mais attends...
Mais, c'est pas les bonnes questions, Manu, que tu poses.
Je savais pas, je savais pas.
Justement, celle-là, celle-là, on va la poser, mais c'est la toute dernière.
Je savais pas, je suis désolé, Gérard.
Vu qu'on a commencé plus tôt...
Et, Gérard, je vais te demander, ceux qui vont à l'armée et qui, avant, n'avaient pas de travail,
est-ce qu'ils le récupèrent, après ?
Ben, ça, s'ils en ont pas, ils pourront pas en retrouver derrière.
Donc, c'est l'arnaque.
S'ils en avaient pas au départ, ils en auront pas à la sortie.
Ouais, mais ça, c'est regrettable.
Non, non, sauf parce que, maintenant, il faut dire une chose.
Quoi sert l'armée ?
C'est qu'on peut très bien, aussi, trouver...
Un job.
Faire un job à l'armée, à la sortie, si vous avez été compétent pendant les 12 mois qu'on...
10 mois.
Est-ce que tu peux avoir un petit pot ?
Non, non, mais ça, les...
Un dipôme.
Est-ce qu'il peut avoir un dipôme à l'armée, ou pas ?
Non, non, non.
Non, c'est impossible.
Déjà, c'est tout juste s'il y en a un qui arrive à récupérer leur permis de conduire, à la fin.
Ils savent même pas lire.
Mais s'ils ont pas son permis à l'armée, est-ce que c'est envisageable d'avoir dans le civil ?
C'est qui, ça, qui me pose ça ?
Oui, mais attends, Tony, c'est la 11e question.
C'est la dernière question, Tony.
Ah, pardon, excusez-moi.
Donc, si vous voulez commencer par la 11e, on va le faire tout de suite, et...
Non, ben non, on va...
Non, mais si, on va...
Ben si, comme t'en parles.
Bon, ben allez, on fait la 11e, ça va.
Donc, Tony, comme t'en parles, on fait la 11e.
Après, je veux la 8 et la 6, si c'est possible.
Bon, ça y est.
A la bouche.
Donc, alors, avez-vous eu l'occasion de percer votre permis de conduire, donc, à l'armée ?
Non, qu'on m'a demandé la prothèse ?
Non.
Non.
Je voulais, mais c'est justement pour ça que je voulais m'engager.
C'est pour passer tous mes permis, puis après, tu verras quoi.
Mais j'ai pas pu.
Oh, non, mais attends, parce que de toute manière...
Mais attends, si tu t'engages, faut bien préciser...
Je vais préciser une chose, que si tu veux passer ton permis, de toute manière, même en t'engageant, t'es obligé de faire ton engagement jusqu'au bout.
Ah ouais, justement.
Et si tu t'engages, normalement, c'est pour 2 ou 3 ans, ça dépend du temps que tu veux faire.
Ça dépend de l'armée aussi.
Moi, on m'a dit que les épreuves de conduite, elles étaient, à l'armée, elles étaient redoutables.
C'est vrai.
C'est Tony, ça ?
Oui.
Ouais, non, mais ça, je vais te dire...
Attends, Tony, je te prends tout de suite, oui ?
Ouais, prends.
Oui, tu me rends compte que t'en as de la chance.
Merci, qui te demande si t'as été maître chien à l'armée, est-ce que c'est de là que vient ton histoire d'amour récente ?
Euh, non, maître chien, je pense pas que...
Et pourquoi t'as tué le chien aussi ?
Euh, Tony ?
Oui ?
Je t'ai dit, tu arrêtes tes conneries, sinon tu vas dégager avant 1h du matin, toi.
Mais ça, c'est pas envisageable.
Ouais, c'est envisageable, alors fais bien gaffe.
C'est inadmissible.
Ouais, alors donc, tu disais, toi, tout à l'heure, comme t'avais une question à me poser, donc tu peux peut-être finir ta pensée.
Hein ?
Bon, d'accord, Tony, je crois que...
Ah, non, non, non, c'est pas moi qui ai parlé, là.
Non, mais...
T'avais une question tout à l'heure, Tony, à poser, vas-y.
T'avais une question.
Ça se finissait par B, c'est ça ?
Bon, d'accord.
Tony, ça commence à bien faire pour toi.
Non, mais c'est quoi, la question ?
Croupion, Croupion.
Non, non, ça y est, ça y est, ça y est, ça y est, ça y est, Tony.
Ça y est, Tony.
Croupion, Croupion.
Ouais ?
Donc, toi ?
Ouais, bah, moi, de toute façon, j'ai pas fait l'armée, hein.
Mais il est hors de question que je passe mon permis à l'armée.
Mais ouais, non, mais c'est la condition sine qua non, si tu veux rentrer.
Oh, là, là !
Hé, Croupion !
Oui ?
Attendez, s'il vous plaît, Croupion !
Oui ?
T'as pas un téléphone pourri ?
Non, non.
Ça, c'est...
Ça fait drôle, hein.
Mais il est possible.
J'ai l'impression que c'est elle, hein.
Je vais voir, je vais voir.
Un portable, ça, hein.
Andouille.
Oui ?
Bah, moi, comme je t'ai dit, donc, j'ai pas fait l'armée.
Hum ?
Mais, euh...
Non, mais, de toute façon, moi, ça m'intéresse pas de passer mon permis.
Je préfère profiter des gens, tu vois, profiter de leur voiture.
Comme ça, je paye en réunion.
Ouais, mais ça, c'est un peu dégueulasse, n'empêche.
Ouais, mais enfin, chacun vit sa vie comme il veut.
Ouais, c'est vrai.
OK.
Est-ce que tu le payes, le permis à l'armée, ou pas ?
Non, mais attends, justement, je vais répondre après à la question.
Ah, d'accord.
Euh, Tagada.
Eh, on m'a fait un au revoir.
Oh, Tagada, tu réponds correctement, parce que tout à l'heure, ça m'a...
La bouche pleine.
Ça m'a gerbé, toi.
Déjà, quand je te parle, t'évites de manger, t'évites de faire comme Fildar.
Non, il mange pas, là.
Deux secondes, je voulais juste dire, quand même, remercier les gens de l'IRC,
parce qu'on est déjà plus de 2000, on est 2011.
Oh là là !
Et je voulais saluer Yannick, qui nous écoute en direct du Canada.
Ils sont beaucoup à nous écouter, on t'écoute à travers le monde.
Ouais, bah, c'est bien.
C'est pas mal, ouais.
Et beaucoup de militaires, aussi.
Je crois qu'on va battre les records, encore.
Ah, c'est déjà fait.
Euh, Canif.
Ouais, bah, non, écoute, Ira.
Moi, j'ai pas passé mon permis à l'armée, non.
D'accord.
Donc, alors, tu voulais me poser une question ?
Ouais, tu t'en rappelles plus ?
Non.
Bah, maintenant, tu vas la répéter.
Est-ce qu'on paye le permis de conduire à l'armée ?
Non.
Pourquoi ?
Ça, c'est...
Tu le payes pas, parce que c'est toi qui demandes à passer ton permis,
donc c'est gratuit.
Et combien coûte ?
Zéro point, de toute manière.
Ça dépend du contingent, dans quel contingent tu te situes pour passer ton permis.
C'est quoi, un contingent, Gérard ?
Par exemple, on est en combien, là ?
C'est comme un compte en banque ?
Novembre ?
Non, non, non, c'est pas du tout pareil.
Contingent, c'est par exemple du...
C'est peut-être des naissances.
Non, plus !
Arrête de dire des conneries, toi, quand je parle.
Merci.
Contingent, c'est par exemple...
C'est tous les deux mois.
Donc, tous les deux mois, t'as un contingent.
Comme là, le mois prochain, ça sera la 98-12.
Ah, d'accord.
C'est ça qu'on appelle des contingents.
Ouais, c'est l'année plus le mois.
Voilà.
98-12, c'est quelle ville, ça ?
Oh, t'as gueule, toi.
Donc, voilà, comme ça, t'es servi.
Et tu peux passer tous les permis ?
Bateau, tout ça ?
Non, non, non, tu passes uniquement que le permis B
ou le gros, là, le 40 tonnes.
Mais par contre, il faut bien dire une chose,
que celui qui passe son permis à l'armée,
ils ont un certain nombre de kilomètres à faire
pendant leur armée
pour qu'ils soient validés après dans le civil.
Mais par contre, il y a un permis qui n'est pas validé
et c'est dommage.
Il est valable ou pas ?
Disons non, il ne sert à rien.
On a dans le civil, en fin de compte, ce permis-là,
c'est le permis VAB véhicule d'avant-blindé.
C'est les fameux trucs, là, tu vois, les sirous,
comme les gendarmes mobiles qu'ils ont, là, en ce moment.
Ah, comme dans la 7e compagnie ?
Ouais, voilà, grosso modo.
Non, mais ça, c'est avec des chenilles, c'est pas pareil.
Ah, d'accord.
Gérard ?
Oui ?
Il y a un autre petit sondage.
À la question, êtes-vous déjà allé voir une armée ?
25% des gens, ils sont allés avec leur femme.
35%, ils sont allés avec leurs enfants.
Et 40% ont demandé l'arme et qu'elle a.
Qu'est-ce que t'en penses ?
Non, mais attends, parce que là, il y a un truc.
Avez-vous déjà été voir l'armée ?
Je ne vois pas du tout le rapport.
On peut visiter, non ?
Ça ne se visite pas ?
C'est pas un parc ?
C'est pas comme la tour Eiffel ?
Non, non, non.
Il n'y a pas de...
Je crois que c'est la garde républicaine, si je me souviens bien,
qui s'amuse à faire des trucs porte ouverte pour...
C'est con.
Pour simplement voir des chevaux.
C'est tout.
Gérard, il y a vomi de porc sur l'IRC
qui te demande si tu as fait la Deuxième Guerre mondiale.
Non.
Il te demande pourquoi.
Et la Troisième ?
Il n'y en a pas trois.
Il y en a eu deux, donc je n'ai jamais fait ça.
La Guerre du Golfe ?
Non, mais ça, ça n'a rien à voir.
Ça, c'est des questions...
Il te demande pourquoi tu ne l'as pas faite.
Je ne l'ai pas faite, c'est tout.
Il n'était pas engagé, il n'a pas gagné.
Tu étais réformé ?
Non, non, j'ai fait mon armée normalement comme tout le monde.
Donc, j'ai fait douze mois.
Ils t'ont accepté, toi, là-bas ?
Ben oui.
Pourquoi ?
Oui.
Je voulais savoir, est-ce que tu avais participé au défilé du 14 juillet ?
En Allemagne, oui.
Mais pas sur Paris.
Tu as défilé ?
Ben, en Allemagne, oui, à moins 17 degrés.
Où ça ?
Et tu as défilé en quelle tenue ?
En treillis, avec les chevaux.
Non, non.
Il avait un petit string à dentelles roses.
Bon, ta gueule, tu t'écrases parce que tout à l'heure, tu as dégagé, toi.
OK ?
Donc, troisième question.
Peut-on faire carrière en faisant l'armée ?
On va s'écouter un petit disque.
Un petit disque, et puis on se retrouve tout de suite après.
Ouais, on est en train d'atteindre les 2300, là.
Ça va arriver bientôt.
Gérard, ce soir, tu cartonnes.
Mais ça, c'était prévu qu'il fallait qu'on cartonne ce soir, donc...
Allô ?
Allô, Gérard ?
Canis.
Allô ?
Allô ?
Allô ?
On n'entend plus rien.
Et Gérard ?
Ça y est, pile d'art.
Tu n'as rien fait, Gérard.
Ça y est, ça commence.
Les auditeurs, vous entendez, là ?
C'est imperceptible.
On n'entend rien.
Attends, je vais toucher un bouton.
Je vais toucher un bouton.
Allô ?
Allô ?
Allô, vous l'entendez, là ?
Allô ?
C'est mieux, là.
C'est mieux.
C'est pas 30 secondes, on l'entend pas.
Canis !
Vous l'entendez, Gérard, là ?
Oui, on l'entend.
Vas-y, parle.
Parle, Gérard, parle.
Canis !
On t'entend, impeccable.
C'est bon, c'est bon, c'est bon.
On récupère Canis.
Oh !
Merci, quand je parle.
OK.
Canis, le jour-là.
Tagada.
Oui.
Andouille.
Oui.
Croupion.
Je suis d'Andouille.
Oh, tu t'écrases, toi.
Tony.
Bonsoir.
Et prothèse pour terminer.
Et donc, vous avez pu réfléchir à la question, donc je la répète.
Peut-on faire carrière en faisant l'armée ?
On va demander à Tony.
Moi, je sais pas.
Enfin, moi, si j'avais l'occasion de faire carrière en faisant l'armée, je la ferais.
Mais ça me branche pas du tout, l'armée.
Pas chaud.
Mais la Légion, il parle.
Il paraît qu'on peut faire carrière.
De toute manière, quand tu fais l'armée dans la Légion, de toute manière, tu t'engages un peu.
Ouais, ouais.
Non, mais il y a des débouchés en tant que, je crois, on m'a dit, un gardien de chef dans l'Atlas.
Ouais, c'est ça.
Alors, Tony.
Qu'est-ce qu'il y a ?
Tony, tu réponds correctement à la question, parce que sinon, ça va mal se terminer pour toi.
Tu vas retourner chez toi.
Écoute, c'est ce qu'on m'a dit.
Je sais pas, moi.
Ouais, ouais, ouais.
C'est ce qu'on t'a dit.
Depuis tout à l'heure, tu m'assumes que moi, je reste imperturbable.
Ouais, ouais, tu restes imperturbable, mais tu réponds la moitié à côté des questions.
Bah non.
Quand on te pose des questions, tu réponds les trois quarts à côté.
OK ?
Alors, si c'est pour répondre des conneries, c'est pas la peine qu'on t'appelle constamment pour faire les débats.
OK ?
Je me drogue.
OK, bah si tu te drogues, tout à l'heure, tu vas retourner écouter la radio tranquillement.
C'est tourné, Tony.
Prothèse.
Ouais, je pense que c'est possible, ouais.
Ouais, mais dans quel sens ?
Pour toi, ça peut être possible.
Toi, ça m'étonnerait, parce que c'est lui que tu t'es fait réformer, donc...
Bah ouais, justement, je m'étais renseigné au début à la caserne de chez moi.
On m'avait dit que je pouvais faire carrière dans Maître Chien.
D'accord, on verra ça après.
Rigo, t'avais peut-être une question ?
Non, il y a juste Davy One.
Attends, je lis vite fait.
Il demande si lorsque t'as fini de faire l'amour avec Sandy, tu l'as remis le couvert.
Non, mais ça, c'est pas du tout le thème du débat.
Donc, si c'est pour dire des conneries comme ça, comment qu'il s'appelle ?
C'était Davy One, et on te demande aussi, c'est Oxyd qui te demande si quand t'as été parachuté,
est-ce que ton débat est suite au fait que tu n'avais pas de parachute ?
Ouais, ça, je vois pas du tout.
C'est incompréhensible.
Ouais, c'est incompréhensible.
Prothèse, toi ?
J'ai déjà répondu, genre.
Donc, t'as répondu, croupion.
Ouais.
Donc, pour toi ?
Bah, malheureusement, parce que malheureusement, on peut faire carrière.
Donc, c'est chiant, il y a des gens qui font la guerre, ça, c'est chiant.
Et heureusement pour certains.
Parce que tous ceux qui ont échoué au concours de maître chien, au concours de la police,
bah, ils vont dans l'armée, quoi.
De toute manière, dans l'armée, tu peux très bien faire ton service militaire dans la gendarmerie ou dans la police.
Faut pas l'oublier.
Ouais, non, mais en général, ceux qui font carrière, ils font pas carrière dans la police.
Non, mais ceux qui veulent passer, ceux qui veulent être gendarmes ou policiers,
peuvent le faire en faisant leurs 12 mois.
Ouais, c'est parce qu'ils ont raté leur concours.
Non, non, non, non, non.
Non, parce que...
À l'armée, à l'armée, ils te demandent ce que tu veux faire,
et tu peux préciser si tu veux être dans la gendarmerie ou dans la police,
ou passer tes permis.
Ou coiffeur.
Ou même, ça, cuisinier.
Ouais, t'as plusieurs trucs, t'as cuisinier, t'as un permis, coiffeur,
on va passer, on va pas s'éterniser sur tout ça.
Andouille.
Parce que généralement, comme Tagada, les gens, si Tagada avait fait l'armée,
il aurait fait coiffeur.
Non, mais attends, on va demander à Andouille.
Et pas le mitrailleur.
Andouille.
Oui, bah, écoute, moi, je pense qu'effectivement, c'est possible.
Oh là là, mais qui c'est qui a un téléphone pourri, là ?
C'est pas moi.
C'est un portable.
Donc, toi, alors ?
C'est quelqu'un qui a un portable.
Non, mais c'est tout à fait possible, à partir du moment, déjà, où on le veut vraiment,
parce qu'il y en a qui y vont uniquement, ça leur fait chier.
Ouais.
Et puis, il y en a qui...
Oh, on laisse parler les gens, s'il vous plaît, merci.
Ouais, on me laisse parler, moi.
Et d'autre part, il y en a qui aiment vraiment ça, donc ils finissent par s'engager.
Et c'est particulièrement les gens qui aiment bien se faire boucher le cul, quoi.
Ouais, mais...
Non, mais ça...
Bon, ça, Andouille, je vais te dire une chose, que la personne qui veut s'engager...
Euh, Fildar, s'il te plaît, merci.
Y a rien, Gérard.
Ceux qui veulent s'engager, c'est leur problème, hein.
Oh, t'arrêtes de s'y plaître, toi, quand je parle, s'il te plaît, merci.
Donc, je réponds à la question d'Andouille.
Donc, y a certaines personnes qui peuvent s'engager au bout de 6-7 mois, hein.
Voilà.
T'es gada ?
T'es engagé à quoi ?
Dans l'armée.
Ah, d'accord.
Et faire, en fait, leur métier de l'armée.
Ouais, ils peuvent s'engager sur une...
Sur une durée, je crois que c'est de 2 ou 3 ans, je sais plus exactement.
Mais c'est quoi, le métier de l'armée ?
Ça consiste en quoi, faire l'armée comme métier ?
Ben, c'est obligatoire, hein.
Maintenant, tu peux pas y échapper, hein.
Sauf si t'es père de famille ou si t'es...
Non, mais si, par exemple, toi, t'imagines, toi, tu t'es engagé à l'armée, à faire 3 ans d'armée.
Qu'est-ce que tu fais à l'armée pendant 3 ans ?
Ben, pendant 3 ans, tu peux monter de grade et tu peux commander ceux qui vont à l'heure actuelle.
Mais faire quoi ?
Ben, j'ai commandé à faire quoi ?
Faire leur lieu au carré, à éplucher des patates ?
Ben ouais, ça, éplucher des patates.
Maintenant, à l'armée, faut dire une chose qu'ils ont...
Non, non, il y a des mixeurs.
Non, non, ils ont des trucs exprès.
Tagada.
Ah, non, attends.
Oui, il y a INT qui te demande si t'as appris à lire à l'armée.
De toute manière, t'as pas besoin d'apprendre à lire à l'armée, tu...
Ça se saurait, sinon.
T'as pas besoin de savoir lire pour faire l'armée ?
Pas besoin, hein.
Il suffit de savoir te torcher, c'est tout.
Voilà.
Tagada.
Tang, T-A-N-K.
Tagada !
Oui ?
Alors, moi, je pense que...
Franchement, non.
Alors, tu peux préciser ?
Euh... Non.
Non ?
Alors, Tagada, je te conseille une chose.
Soit que tu réponds correctement aux questions quand on te les pose,
et quand on te demande de préciser, tu le fais, ou sinon, tu gerbes.
C'est bien précis.
C'est admissible.
C'est clair ?
Ok.
Ok ?
C'est net.
Alors, je te préviens, c'est le dernier avertissement que je te donne depuis tout à l'heure.
Merci.
Au prochain, tu dégages.
Hein ?
Ou sinon, tu vas passer voir Manu, il va te mettre les points sur les îles et barres sur l'été, comme je dis souvent.
Tu sais qu'il va mettre les barres ?
Ouais, ouais, tu vas voir.
Alors, Tagada, tu vas voir Manu, s'il te plaît.
Allez, hop.
Euh...
Canis...
Canis...
Moi, Gérard, si j'avais dû rentrer dans l'armée,
ben, ouais, j'aurais bien voulu...
J'aurais bien voulu, mais...
Oui, on peut, je pense, ouais.
Oh là là, elle est où, elle ?
Elle est où, elle ?
Elle est où ?
Si tu t'amuses à faire des conneries, tout à l'heure, je vais me lever, je vais te massacrer.
Ah ouais ?
Ok.
Tu vas pas commencer le premier débat ?
Tu vas me faire des tortures indiennes et tout ?
Ah ouais, tu vas voir.
Pulgure au poing !
Ouais, t'as l'air pulgure au poing.
Flak au gire !
Donc, Canif, pour terminer.
Ben, je pense que Gérard, moi, je pense qu'on peut...
Oui, on peut s'engager dedans, ouais.
Non, mais est-ce qu'on peut faire carrière ?
Ben oui, c'est ce que je te dis, on peut faire carrière dedans, ouais.
D'accord.
Gérard, t'es prothèse ?
Ouais, prothèse.
Je voulais savoir, parce que comme toi, t'as fait ton service, t'es un peu enseigné sur le tout, quoi.
Je voulais savoir si on pouvait faire un animateur radio à leur maison.
Non, pas du tout, tu vois.
Tu peux inventer une radio, Radio Kaki, par exemple ?
Non, parce qu'ils ont leur système de radio à eux, donc c'est pas...
C'est de la Cibi qui font ça, Gérard ?
Non, non, non, non, non, non.
Ils font quoi ?
Euh, oui.
Il y a Cyber Ticket...
Titi sur l'IRC qui dit que la fanfare de la caserne de Surenge ou Terremix pour motiver les troupes de Corvée de Chiotte, c'est vrai ?
N'importe quoi, lui.
Bon, t'arrêtes, Fildar, avec ça.
Ça, on le sait, hein.
Donc, quatrième question, ça, ça va intéresser Canif, Andouille et Croupion.
Ah, c'est une question pour des meufs.
Peut-il supprimer l'armée aux femmes de nos jours ?
Alors, on va demander à Canif, parce qu'apparemment, vous êtes vachement bien réveillé, ça fait peur.
Ben écoute, Gérard, on attend que tu nous cites, quand même.
Mais non, mais, hé, au début, je vous pose la première question, je vous demande à tous de réagir.
Maintenant, quand je demande, faut-il supprimer l'armée aux femmes, quand j'ai pas besoin de préciser, donc...
Bah, tu vas pas te plaindre !
Bon, écoute, Gérard, on va pas te plaindre.
Oh, tu te calmes, toi !
Comment elle parle, là ?
C'est laquelle, là, qui s'énerve, là ?
Oh, tu parles à Gérard, là, ou...
C'est quoi, c'est quoi, cette bouffonne ?
C'est laquelle, là, qui s'énerve ?
Ben, mais j'ai lu une !
Andouille !
Oh, pisseuse, va !
Et Andouille !
Andouille !
Va m'emmener au standard, si j'y suis !
Allez !
Allez, Gérard !
Allez, Gérard !
Allez !
De voir !
Canip !
Bon, écoute...
Moi, je veux ce numéro, parce que j'adore les dominants.
Non, non, non, c'est bon, c'est bon !
Canip !
Oui, oui, bon, donc, ben non, je pense pas, parce que moi, j'aurais bien voulu, mais bon, la plupart des meufs, elles veulent pas la faire.
Ouais, non, mais, je te demande, faut-il supprimer...
Je te dis, je te dis, pour moi, moi, pour moi, non, je pense pas, parce que moi, j'aurais bien voulu la faire, l'armée, mais...
Il y en a beaucoup qui veulent pas le faire, donc, je pense que, vu la majorité, ouais, je pense qu'il faut le supprimer, ouais.
Ouais, mais, de toute manière, toi, à 19 ans, je pense que c'est un peu...
C'est un peu jeune, encore, hein ?
Ah, mais, de toute façon, je les ai fait tomber, hein, donc...
Ouais, non, non, mais, même, de toute manière, faut que tu te fasses recenser d'être la majorité, hein, donc...
Ouais, ils en parlent...
Oh, là, qui c'est qui s'amuse, là ?
Ça commence à bien faire !
Tagada !
Chier, hein !
Et je peux répondre à la question, Gérard ?
Non, mais, à la minute, toi !
Vas-y, 5 minutes !
Tagada !
Oui, moi, j'étais avec Manu, tu peux me répéter la question ?
Alors, faut-il supprimer l'armée aux femmes ?
Ah, oui !
C'est pour toi, ça, Tagada !
Alors, moi, tu vois, je me l'ai pas fait écouter assez tôt, donc j'ai dû la faire.
Ouais.
J'étais dégoûté. Bon, maintenant, ça va mieux.
C'est propre, hein, tu me diras.
Non, mais, Tagada, tu prends ta voix normale, tu prends pas la voix d'un travelo, d'accord ?
Parce que, tout à l'heure, tu as dégagé, ça va être le dernier...
Ça va être vite fait pour toi, parce qu'il y a d'autres personnes qui veulent participer au débat.
Ok ?
Alors, soit que tu réponds correctement, soit que tu dégages.
Alors, je viens de répondre correctement, et t'as vraiment aucun respect pour la dignité humaine, hein,
parce que c'est, depuis l'opération, c'est ma nouvelle voix, tu vois ?
Ça me plaît pas ?
Hop, c'est bon, Manu, tu me mets quelqu'un d'autre, parce que là, je crois que c'est pas...
Je vais pas continuer avec lui comme ça.
Gérard, je voulais te demander, est-ce que les femmes, elles font la même chose que les hommes à l'armée, ou pas ?
Euh, oui.
C'est-à-dire ?
Ben, ils sont obligés de faire...
Elles font pipi debout, tout ça ?
Non, non, mais...
Non, mais ça, c'est...
Non, c'est pas pareil.
Mais elles sont obligées de faire comme les hommes, c'est-à-dire les corbets...
Les pompes, tout ça ?
Ouais, mais ça, c'est obligé.
Attendez, s'il vous plaît, merci.
Attendez, parce qu'il y a Sexe sur l'IRC qui te demande si, quand tu étais à l'armée,
tu te mettais la mitraillette dans le cul quand on te privait de coton-tige.
Bon, ça, je vais même pas y répondre.
Je réponds pas aux conneries comme ça sur l'IRC.
Est-ce que je peux répondre ?
Euh, Andouille.
C'est pas grave.
Donc, je te mets à préciser que Manu m'a repris à l'antenne,
et qu'il m'a calmée.
Ouais, bah, t'as intérêt de te calmer, sinon tu vas faire comme ta gada,
tu vas avoir...
Pisseuse.
Bah, tu te calmes, hein.
Ouais, bah, c'est toi qui vas te calmer,
parce que tout à l'heure, je vais passer à croupion tout de suite.
Alors, fais gaffe.
Ouais, passe à moi.
Moi, je suis à ton numéro, parce que t'es une dominante, toi.
C'est bon, je peux parler ?
Vas-y, alors, dépêche-toi.
Toi, tu m'excites.
Oh, Tony, tu t'écrases, s'il te plaît.
T'aurais été sergent-chef ?
Alors, bah, moi, non, moi, je suis contre.
Parce qu'en fait, si les ananas, elles ont envie de s'engager,
bah, elles ont bien raison.
Et moi, personnellement, j'irais quand je serais plus défait au mec.
Mais pour l'instant, ça va, donc j'irais pas.
Bah, de toute manière, tu serais obligé d'y aller, hein.
Faut pas l'oublier.
Gérard, à la place...
Pardon, à la place de ta gada, on a que je m'en fous.
Ouais, c'est léger.
Je m'en fous.
Moi, Génie, je voudrais répondre à la question sur l'armée, là.
Parce que tu parlais des filles.
Moi, j'ai un copain qui fait l'armée, et il m'a dit que les filles...
Eh, tu peux préciser ton nom quand tu parles ?
C'est Tony.
C'est Tony, bonsoir.
Ouais, bah, pour l'instant, je vais demander à Croupion, tu vois.
Toi, t'es un peu trop pressé.
Toi, tu m'aimes pas, je sais pas pourquoi tu m'aimes pas.
Ouais, bah, tu vas te calmer, s'il te plaît.
Moi, je t'aime bien, Tony.
Ah, merci.
En plus, toi, t'es une dominante.
Moi, tu m'écoutes, y a de la meuf.
Oh, ça supplie, là !
Allez, on revient au débat.
Croupion.
Oui.
Bah, y a des femmes, oui, qui sont dans l'armée.
Mais, en général, c'est des lesbiennes ou des mal baisées, donc...
Non, mais...
C'est pas gênant pour la société qu'elles soient là-dedans, quoi.
Eh, Croupion !
Oui ?
Croupion, t'évites un peu trop les vulgarités, quand même.
Il est 0h54, on va pas commencer à jouer sur des saloperies, hein.
Mais non, je dis pas des saloperies.
Les femmes dans l'armée, c'est des saloperies.
Oh, Tony, s'il te plaît, merci.
Eh, Croupion, vous vous calmez.
Rigo, pour l'IRC.
Sur l'IRC, on me demande si, en fait, c'est l'armée du salut que t'as fait.
Non.
Euh, Tony, maintenant.
Donc, ouais, tu parlais des femmes.
Moi, j'ai un copain qui fait l'armée.
Et il m'a dit que les femmes, fallait pas croire que c'était, enfin, des mimours,
G.I. Jane, tout ça.
T'as des copains, toi ?
Parce que...
Ouais, ouais, j'ai des copains et des copines, aussi.
Oh, on se calme, là, derrière, quand y en a qui parlent.
Parce que ça, tout à l'heure, ça m'a chauffé.
Un petit peu de respect, quand même, merde.
Tony !
Ouais, euh...
Donc, ouais, c'est ce que je disais.
Et, euh...
Donc, ouais, les femmes, faut pas croire qu'elles ressemblent à...
C'est des canons, quoi.
Parce que, en fait, c'est des boudins.
Bah, oui.
Là, je vais te dire...
C'est la plupart.
Et puis, ouais, elles sont souvent à l'infirmerie.
Et puis, euh...
Enfin, les bidasses, elles font tout pour pas se blesser, en fait.
Elles ont toujours leurs règles.
Enfin, bon, c'est chiant.
Oh, mais ça, euh...
Ça, c'est...
Ça, c'est leur problème.
Oh !
On meurt, les meufs, là.
Eh, oh, on se calme.
Vas-y, je t'en prie.
On se calme un peu, là, derrière, s'il vous plaît.
Merci.
Prothèse.
Ouais, bah, moi, Gérard, je pense qu'il faudrait leur supprimer, parce que...
Si les femmes se mettent à faire l'armée, après, il n'y aura plus personne pour faire
la cuisine quand on regarde la télé, quoi.
Non, mais attends, Prothèse, je vais te le dire, maintenant, ça va devenir...
Ça devient obligatoire, hein.
C'est inadmissible.
Ouais, mais ça devient obligatoire, hein, maintenant.
C'est obligatoire, maintenant, hein.
Oh, mais ça y est, là !
Celui qui n'arrête pas de jacter, là, ça commence à bien faire.
Euh, Rigo ?
Ouais, c'est encore Cybertiti.
Comme tu lui as dit que t'avais pas fait l'armée du salut, il te demande si t'as fait
l'armée des douze singes.
Mais lui, il a pas fait l'armée des cons, lui, ça vaudra mieux.
Je m'en fous, maintenant, pour finir.
Euh, bah, moi, personnellement, les meufs, elles font ce qu'elles veulent, quoi.
C'est tout ce que tu peux préciser ?
Bah, je suis pas une meuf, alors je m'en fous, quoi.
Bah, ouais, mais je te demande, est-ce qu'il faut supprimer l'armée aux femmes, maintenant,
oui ou non ?
Bah, tu peux essayer de préciser ta pensée, quand même.
Bah, franchement, je sais pas.
Hé, hé, hé !
Hé, avant qu'on t'appelle, t'aurais pas fumé la moquette, toi ?
Mais t'es pas le tabou, là ?
Parce que, dis donc, apparemment, vous avez l'air de répondre la moitié des...
à côté des questions, hein.
Mais c'est toi qui mets pas le feu, Gérard.
Non, mais attends, je mets pas le feu.
Je disais mieux, les gars, vous répondez à côté.
Franchement, hier, c'était plus...
Enfin, je sais pas, ça pulsait, quoi.
Là, c'est...
T'as pas le droit, t'as pas le droit.
C'est tout, tout je m'endors et tout.
Non, je critique pas ton débat, GG1, je constate, simplement.
Et alors, mais de toute manière, le premier débat, il se passe toujours...
Ah, d'accord, excuse-moi, je vais attendre le deuxième.
Non, non, mais de toute manière, au deuxième, c'est pas sûr qu'on reprenne les mêmes, hein, pour s'y déconner, hein.
C'est la première fois que je passe à l'émission de Gérard.
Stop !
Pour reprendre un peu le thème du débat et parler de l'armée un peu...
Fais-nous un petit sondage.
Voilà, c'est ce que je vais faire, un petit sondage.
À la question, combien donneriez-vous à une armée ?
32% des gens ont dit qu'ils donneraient 2 euros.
28% donneraient leurs animaux.
40% donneraient leurs domestiques.
40% donneraient leur approbation.
Et 1% ont déjà donné leurs dents et n'ont pas voulu donner leur moustache.
Qu'est-ce que t'en penses ?
N'importe quoi !
Rigo, sur IRC ?
Sur IRC, il y a toujours du monde.
Enfin, bon, je passe les questions, genre, GG est-il homo ?
A-t-il eu des rapports agibles avec une femme depuis son adolescence ?
Ça sert à rien, quoi.
Non, mais ça, c'est pas du tout...
Ah, on te demande si tu connais Rambo.
Non.
C'est ça.
J'ai un peu, peut-être.
Bon, on va continuer, là, parce que...
Il est quand même déjà, j'ai erreur, 57, donc il faudrait peut-être qu'on accélère.
Il reste encore 1, 2, 3, 4, 5, 6 questions.
On a déjà fait l'armée.
Oui, mais plus que 3 minutes, GG.
Alors, quels sont les inconvénients de...
Ça va suffire, Manu.
Quels sont les inconvénients ou les avantages de l'armée ?
On va demander ça, ben, je m'en fous.
Franchement, tu vois, les inconvénients...
Ben, je sais pas, quoi.
Je l'ai pas fait, moi, l'armée.
L'auditeur qui siffle, il faut qu'il arrête, hein.
Ouais, franchement, ouais.
Ouais, GG, je te dis, moi, j'ai pas fait l'armée, donc je connais pas les inconvénients ni les avantages, donc je m'en fous, quoi.
D'accord, tu t'en fous complètement.
Non, je te dis, je l'ai pas fait, donc je peux pas te répondre, quoi.
Prothèse.
C'est logique.
Ok, prothèse.
Ouais, je pense que les inconvénients, ça pourrait être qu'on peut pas se faire les meufs, comme on l'a précisé tout à l'heure.
C'était des gros boudins.
Elles sont où, les meufs ?
Et les avantages, je sais pas, j'en vois pas trop.
Tony ?
Ouais, les inconvénients, c'est qu'on peut pas se baisser, et les avantages, c'est que...
Enfin, y'en a pas, en fait.
Alors, attends, tu peux préciser, là, parce que je vois pas du tout le...
Tu veux que je précise ?
Ton nom.
Non, mais tu précises la pensée que t'as.
C'est qu'on peut pas se baisser, mais je peux pas le dire, ça passe pas.
Ouais, d'accord. Alors, Tony, ça commence à bien faire, hein, toi.
Non, il faut analyser la chose.
Groupion ! Groupion !
Les avantages, c'est que quand t'es illettré, bah, tu peux trouver du travail.
Mais les inconvénients, bah, c'est que ça fait chier tout le monde, quoi.
Tu peux préciser le...
Les petits jeunes qui ont pas envie de le faire, et puis ils sont emmerdés pour donner dix mois de leur vie à ces connards, quoi.
Non, mais attends, parce que...
Oh, Tony, ça commence à bien faire, toi, là, maintenant.
C'est pas moi, là, là.
Ouais, bah, tu vas te calmer, parce que tout à l'heure, ça va être...
Arrête de t'en prendre toujours à Tony.
Oh, Andouille, tu te la permes !
Maintenant, tu vas répondre !
Oh, Andouille, je vais te parler à...
Eh, ta gueule, Andouille !
Bon, alors...
Tu sais pas, là, bordel !
Eh, eh, tu mets Tony et Andouille ensemble, là, qu'ils arrangent leur salade, quand ils auront terminé...
Nous, dimanche aussi, on va se marier.
Ouais, ça suffit !
Tu mets Tony et Groupion, là, en rentonne, ils vont faire leur petite popote ensemble, parce que c'est pas dans le débat qu'on fait leur popote.
Euh, Canif ?
Bah, écoute...
Écoute, tu peux me répéter la question, s'il te plaît, Gégé ?
Alors, quels sont les inconvénients ou les avantages de l'armée ?
Bah, écoute, pour moi, les inconvénients, c'est l'uniforme.
Ouais.
Et puis, l'avantage, bah, je sais pas, il y a plein de gars, quoi.
T'as le choix, au moins, hein.
Là, t'es sûre de pas être toute seule, hein.
Ouais, mais, euh...
Comment ça, euh...
Bah, je veux dire, si t'es infirmière, là-dedans, je veux dire...
Bah, c'est un ken, quoi.
Tu peux y aller, hein.
Ouais, mais ça, de toute manière, tu peux très bien faire ton armée en étant infirmier ou infirmière, hein.
Ça, c'est strictement pareil, hein.
Ouais, non, mais pour moi, c'est ça, les avantages, hein.
Ouais, mais ça revient à peut-on faire carrière en faisant l'armée, tu vois.
C'est à peu près le même rapport que ce que tu me dis.
C'est à peu près pareil que la troisième question qu'on avait posée, hein.
Ouais, ouais, c'est vrai.
Euh, Rigo ?
Oui, il y a Davy1 sur IRC qui te demande si tu connais le...
Enfin, si tu as connu le soldat inconnu.
Non.
Non, ok.
Et Ryan, non, tu ne connais pas Ryan ?
Bah, enfin, sur IRC, on m'a dit que Gérard, c'était le soldat Ryan qu'on n'a pas retrouvé.
Euh, est-ce qu'on va le sauver, au moins ?
Ça y est, ils ont...
Bah, il n'a pas été sauvé, ouais.
Toi, fais gaffe, parce que tout à l'heure, je vais te sauver ma main sur ta gueule, quand même.
Oh, oui, c'est calme, là.
Ouais, c'est bon, c'est bon, c'est bon.
Alors, ennui, maintenant.
Ouais, alors, l'inconvénient, c'est qu'on a l'impression de perdre son temps là-bas.
Ouais.
Et l'avantage, c'est que, justement, on ne perd pas son temps là-bas.
Alors, tu peux préciser le fond ?
Bah, oui, donc, l'inconvénient, c'est que tu perds ton temps quand tu es là-bas.
Ouais.
Et l'avantage, c'est que tu ne perds pas ton temps quand tu es là-bas.
Ok.
Ouais, d'accord, je vois à peu près.
C'est logique.
Ouais, c'est logique.
Non, mais de toute manière, je pense qu'il n'y a pas beaucoup d'inconvénients ni d'avantages là-dedans,
parce qu'en fin de compte, les avantages que tu as, c'est que...
De toute façon, tu es obligé de la faire, donc...
Voilà.
Et en plus, t'es payé.
Ouais, t'es payé.
T'es payé combien, Gérard, à l'armée, justement ?
Je crois que c'est 4 euros.
Non, non, non, attends, normalement, si je me...
Oh, on se...
Bon, ça y est, oui.
Je les ai coupés, je les ai coupés.
Exprès.
Normalement, je pense que ça ne te fait même pas la moitié de ton salaire.
Tu dois toucher à peu près 1 500 balles...
C'est le SMAC ou pas, la main ?
Non, même pas.
Même pas ?
T'as le droit à une cartouche de cigarette par mois et tout.
Gérard ?
Oui ?
Ouais, c'est prothèse.
On a parlé ce soir, je voulais savoir si t'avais fait le parcours du con en te battant.
Alors, quand tu dis des trucs comme ça, tu vois, au lieu de dire con et puis battant,
parce que toi, t'as l'air d'être con quand tu poses une question,
donc pour toi, tu ne l'auras pas fait, le parcours du combattant,
et ça, c'est un truc qui est assez dangereux à faire.
Ouais, bravo, Gégé.
Bravo.
Il y a de l'air, alors ?
Donc, la sixième question...
C'est plus fort.
C'est la sixième question, là ?
Ouais.
Déjà ?
Ouais !
Vous allez réfléchir et on va s'écouter un petit morceau, à moins qu'il y ait une question IRC...
Non, il y avait juste Denis qui donne les avantages de l'armée.
C'est le premier lieu où on a accepté Gégé sans faire d'histoire.
Le désavantage, c'est qu'ils ne l'ont pas gardé.
Bon, ça, je ne vois pas du tout le rapport.
Gégé ?
Ouais ?
C'est qui ?
Je m'en fous, là.
Tu peux te mettre en antenne avec Andoï, là, il y a moyen de moyenner.
Ben, rien.
Vous allez aller tous en antenne, maintenant ?
Je vais vous poser la sixième question.
La sixième question, là ?
Peut-on s'engager dans l'armée si on n'a pas de boulot ?
Oui, on va s'écouter Thierry Big Hop avec Yo-Yo, Passe-moi la moutarde, pour mon old dog.
On se retrouve tout de suite après.
Donc, un petit point sur l'IRC, on a dépassé les 2500, on en est à 2684, moins 3.
Pourquoi moins 3 ?
Parce qu'il y en a 3 qui viennent de partir.
Ah bon, alors donc, on récupère Canif.
Oui, c'est vrai.
Oui, c'est vrai, je suis toujours là.
Bonsoir, Andoï, j'espère que tu t'es calmée depuis tout à l'heure.
Non, pas vraiment.
Pas vraiment, mais tu vas te calmer.
Non, je suis déjà pisseuse.
Croupion ?
Oui.
Croupion ?
Oui, oui.
Tony ?
Oui.
Prothèse ?
Salut, les loulous.
Eh, je m'en fous.
Ouais, je m'en fous.
Donc, t'as pu discuter avec Andoï ?
Non, j'ai pas pu, personne me...
Non, n'importe quoi, on m'a filé un disque, là.
Elle est où, la fameuse ?
La fameuse, ben, tu as...
Comment il parle de...
Tu vas la récupérer tout à l'heure en rentonne,
vous allez gérer votre petite salade, à l'instant.
Non, mais j'ai...
C'est ma miche, moi, c'est ma miche.
Oh, ça y est, vous, merci.
Donc, alors, on va demander à Canif si elle a compris la question.
Ben, écoute, je m'en rappelle plus, j'ai rien.
Ah, non, mais faudrait peut-être écouter quand je pose des questions.
Je peux la remonter après le disque ?
Je pense aux auditeurs qui viennent seulement de nous rejoindre.
Alors, peut-on s'engager dans l'armée si on n'a pas de boudreaux ?
Donc, Canif ?
Ben, ouais, je pense, ouais.
Mais tu fais quoi ?
Tu fais quoi, toi, au fait, comme boudreau ?
Moi, je suis secrétaire.
Secrétaire ?
Secrétaire comptable.
T'es en tailleur ?
Oh, hé, vous me tchonnez derrière, là !
Et vos commentaires, moi, je vous emmerde.
Voilà.
Comme ça, c'est bien répondu, tout ça.
Moi, j'aime les femmes qui ont du caractère.
Oh, tu t'écrases, toi !
Ça, tout à l'heure, tu as dégagé, toi, maintenant.
Je vous préviens que, là, à 1h10, je vais gerber, hein.
Ça va gerber sec.
Non, gerbe pas.
Voilà, c'est pas mal.
C'est qui ?
Ah, c'est une... parce que...
C'est, ouais, c'est Prothès, c'était une cabine, je vais le rappeler.
D'habiter mystère.
OK.
Donc, Canif a répondu.
Andouille ?
Ouais, bah, moi, je pense qu'on peut s'engager, effectivement.
Voilà.
Et j'ai rien d'autre à rajouter, parce que sinon, tu vas encore me gerber, alors je préfère rien dire.
Voilà.
Bon, alors, Andouille, c'est la dernière, c'est simple.
Soit que tu réponds correctement, soit que tu gerbes tout de suite.
C'est pas simple.
Tu choisis.
Non, non, non, elle passe à moi, avant.
Hein ?
Alors, Croupion ?
Ouais.
Donc, pour toi ?
Bah, ça sert justement, quand t'as pas de boulot, à t'engager, ouais.
Ouais, mais ça, c'est...
Je pense qu'il y a beaucoup de personnes qui vont me répondre ça.
Et quand ils arrêtent l'école, aussi, les gamins, ils vont à l'armée, non ?
Non, non, non, non, ça...
Non, mais attends, parce que l'armée...
Faut que tu te fasses recenser à 18 ans.
C'est une poubelle, l'armée, on dirait.
Bah non, mais...
Oui, oui, oui, c'est qui, c'est qui, là ?
Canif, on peut ajouter quelque chose ?
Oui ?
Moi, aussi, j'avais entendu parler que, quand on voulait s'engager dans l'armée,
il fallait pas avoir plus de 25 ans, je crois.
Euh, non, je pense pas, parce que ça, j'en ai pas entendu parler, à mon avis.
Non, non, attends, Tony, il y a une question, hier.
Oui, il y a un Réa qui te demande si tu as rencontré Sandy à l'armée.
Non, pas du tout.
Sandy, je l'ai déjà dit la semaine dernière, comment que je l'avais rencontrée sur un magazine.
Non, mais Sandy, elle a fait l'armée, par contre.
C'est pas le débat sur les pouces qu'il fait.
Elle réparait les tanks.
D'accord, Tony ?
Quoi ?
C'est toi qui viens de répondre les tanks ?
Pas du tout, pas du tout.
Non, c'est moi, c'est moi, j'ai dit.
Non, elle bosse à la banque.
Donc, Tony ?
Ouais.
Donc, pour toi ?
Ouais, bah, c'est sur l'engagement, c'est ça ?
Hein ?
Ouais.
Peut-on s'engager dans l'armée si on n'a pas de boulot ?
Peut-on s'engager dans l'armée si on n'a pas de boulot ?
Bah oui, parce qu'on fout rien, on peut y aller.
Non, je dirais...
Hé, Tony !
Non, mais non.
Attends, attends, j'essaye de réfléchir, là.
Non, non, mais tu réfléchis vite, puis...
Non, mais non, Gérard, ils te prennent pas à l'armée si t'as pas de boulot ?
Bah, de toute manière, tu peux t'engager si t'as pas de boulot, hein.
Pourquoi tu t'engages pas, toi, Gérard ?
Eh, qu'est-ce que ça...
Pourquoi que...
Je t'emmerde, toi.
Oh, oh !
Oh, oh, oh !
Non, mais moi, par contre...
Eh, Tony, tu réponds, s'il te plaît.
Ouais, bah, ouais, mais je suis tout à fait d'accord avec ce qu'a dit Rigaud, là.
Par contre, moi, j'ai un exemple.
J'ai une amie qui s'appelle Mélanie, et qui avait son bac.
Et, euh...
Donc, elle voulait s'engager à l'armée parce qu'elle s'est dit,
« Ouais, j'ai un bac, maintenant, j'aimerais bien faire l'armée. »
Et ils l'ont pas accepté.
Mais attends, t'as pas besoin d'avoir un bac pour aller à l'armée ?
Non, non, mais...
T'as pas le droit à l'armée d'avoir un bac.
Faut complètement instarber.
Euh, Tony !
Pourquoi ?
Tu réponds ?
J'ai répondu, j'ai répondu.
Attends, c'est bizarre, j'ai pas entendu ta réponse.
C'est pas grave.
Ouais, bah, Tony, je pense que...
Non, mais non, mais vas-y, continue, continue.
Y a pas que moi, allez, vas-y.
Non, non, mais tu réponds !
Non, mais...
Ça y est, l'engagement, il faut se faire en sensé.
D'accord, voilà.
Eh ben, enfin, dis-donc, t'es lourd à la détente, toi.
C'est clair.
Gérard, par rapport à l'armée, y a des V1 qui disent
« Les fusils servent à fusiller, et les tanks, ils servent à t'enculer. »
Ouais, bah, ça, je l'emmerde, lui.
Euh, Manu ?
Encore un petit sondage.
La seule dernière, j'espère.
L'avant-dernière.
À la question « Combien donneriez-vous à une armée ? »
32% ont dit qu'ils donneraient 2 euros.
Mais ça y est, tu l'as déjà fait, alors...
Excuse-moi, il y en a une autre, il y en a une autre, il y en a une autre.
Qu'aimez-vous chez une armée ?
50% des gens aiment bien, 25% des gens aiment beaucoup,
et 100% aiment le balcon avec les drapeaux fan radio, je comprends pas.
Ça...
Toi, toi, toi, toi, tu vois, Pildar, tes conneries, ça, c'est tes conneries, ça.
Non, c'est pas mes conneries.
C'est tes conneries.
On va demander la prothèse.
Si...
Oui, je suis là, ouais.
C'est quoi, ça ?
C'est Noël ou quoi ?
Pildar, tu m'éteins ça tout de suite !
Ça me l'a dit.
Pildar, t'éteins ça tout de suite !
Ouais, Gérard, c'est prothèse.
Prothèse ?
Ouais.
Je pense qu'il est préférable de s'engager contre...
Bon, t'arrêtes, Pildar, ou quoi, là ?
Allô ?
Allô, Gérard ?
Allô ?
Gérard, souris...
Allô ?
Vous entendez, Gérard, là ?
Allô ?
Qu'est-ce qu'il se passe ?
Il a failli balancer le disque d'origo, donc...
Prothèse !
Ouais, donc, je pense qu'il est préférable de s'engager quand on n'a pas de boulot,
vu qu'on est payé à rien froté par tes caquilles, et j'aime bien les trahis.
D'accord. Et je m'en fous, pour finir ?
Bah, franchement...
Il s'en fout ?
Bah non, ouais, je sais pas.
Oh là là, Doc Gynéco.
Toi, tu vas gerber, toi.
Ah ouais ?
Ils sont pas réveillés, les auditeurs ?
Je m'en fous, tu te réveilles, s'il te plaît, ou tu dégages !
Bah, je sais pas, franchement, si j'ai pas de ta faute...
Mais il sait jamais rien, lui, pourquoi il vient !
Fume trop, lui !
Eh, tu reprends, je m'en fous, au standard, là, ça va pas.
Ça va pas, là.
Fume trop, là, ce gars.
Enfin, bref.
Donc, je peux vous dire une chose,
que pour ceux qui ont envie de s'engager,
ils peuvent le faire s'ils ont pas de boulot,
mais comme l'histoire du bac, ça existe pas.
Il n'y a pas besoin d'avoir un bac pour aller à l'armée.
Ça, c'est des conneries.
Quoi ?
Même pas.
Non, plus.
Ok, alors voilà.
Et toi, Gérard, alors, qu'est-ce que t'en penses de cette question ?
Bah, moi, je viens d'y répondre.
Mais je t'écoute pas.
Bah, t'écoutes pas, t'as qu'à te déboucher les oreilles
au lieu de faire des conneries.
Alors, septième question.
Faut-il parler de l'armée en cours ou à la télé ?
On va demander à...
Je m'en fous si ça va mieux pour lui.
Ça va mieux pour lui.
Ouais, j'espère.
Alors, je m'en fous.
Bah, à la télé, ouais, on voit des émissions, quoi.
Non, mais je pense qu'on t'a demandé de te réveiller, là.
Apparemment...
Je réponds à ta question, là.
Bon, alors, vas-y.
Je te dis, les pubs et tout, on les voit à la télé, à l'école,
il y a des mecs qui passent et tout, ils te parlent de l'armée,
ils sont engagés, c'est beau et tout, c'est un métier.
Et voilà, quoi.
Ok. Prothèse ?
Ouais, ouais, je sais pas.
Je pense qu'il faut pas trop en parler à l'école et à la télé
parce que ça pourrait donner des idées aux gens, quoi.
Mais non, mais de toute manière, c'est ce qu'ils font, là, avec les...
En cours, je ne sais pas, parce qu'on n'a pas des...
On n'a pas d'étudiants.
On n'a pas d'étudiants, là, avec nous, c'est dommage.
J'aurais bien voulu avoir un étudiant pour savoir...
Eh, moi, je suis étudiant.
Qui ?
Moi.
Qui ?
Moi, je m'en fous.
Eh, t'appelles d'où, toi ?
Je fais une thèse sur le shit, de Nantes.
De Nantes ?
Ouais.
Et donc, à ton avis, ils en parlent, là ?
Mais t'es étudiant en armée, toi.
Non, mais est-ce qu'ils en parlent, là ?
Est-ce qu'ils en parlent, là ?
Bah ouais, il y a plein de pubs partout.
Ah bon ?
Il fait une thèse sur le shit, là, sur les tableaux.
Une thèse sur le shit.
D'accord.
Je pense qu'à mon avis, je crois que t'es en train de me dire des conneries.
Tony !
Ouais, il y a trop de pubs.
L'autre fois, j'entendais, même sur Fun Radio, j'entendais une pub...
L'armée de terre.
Ouais, l'armée de terre occulte un mec avec une clé de 13 pour réparer les tanks.
Donc, je trouve ça inadmissible.
Tony !
C'est de la propagande.
Tony, t'es sûr de ce que t'inventes, là ?
Non, mais je te jure que ça passait.
Non, mais il y a une pub en ce moment qui veut...
Parce qu'en fait, j'ai l'impression qu'il n'y a pas assez de gens à l'armée.
Ouais.
Ils ne veulent plus y aller, donc ils font des pubs.
Le pire, c'est qu'ils te mettent ça entre deux tubes.
Ah, d'accord, entre deux tubes, t'as raison.
Croupion.
Ouais ?
Bien tenu.
Moi, je dis que non, il ne faut surtout pas en parler.
Ça pourrait inciter les gens à le faire.
Non, mais ça va, là...
Bon, Gérard, t'écoutes les auditeurs, non ?
Je suis en train de régler un problème avec Manu, ça ne te dérange pas, non ?
Bon, Croupion.
Oui, je te dis qu'il ne faut surtout pas en parler.
Ça pourrait inciter les gens à le faire.
De toute manière, pourquoi...
S'ils en parlent, c'est pour inciter les jeunes à y aller, hein ?
Oui, ben justement.
Ok. Andouille ?
Ouais, ben je suis désolée, moi, Fildar vient de me prendre en rentaine,
donc je n'ai pas entendu la question.
Non, attends, Fildar vient de te prendre en rentaine.
Non, mais attends, Fildar, il est à l'arrière.
Attends, attends, attends, Gégé, deux secondes.
Hé, Fildar, tu te calmes, là ?
Non, mais attends, c'est qui qui parle, là ?
Comment tu parles à Fildar ?
Qui c'est qui parle, là ?
C'est mon père, non ?
Non, mais attends, pour l'instant,
ce n'est pas Fildar qui commande, c'est moi, c'est Médéba.
Non, non, c'est pas toi.
Non, non, je suis d'accord, Gégé, mais voilà, quoi.
C'est Fildar qui commande.
Non, non, c'est pas Fildar, non, Médéba, c'est moi.
Alors, Andouille ?
Fildar, c'est un petit teigneux, mais je l'aime bien, quand même.
Bon, je m'en fous, tu te calmes, toi.
Hé, Andouille, t'es blonde ou brune, concrètement, là ?
Bon, je m'en fous, t'arrêtes ou tu dégages ?
Andouille, elle est pour moi.
C'est un boulot de merde, Manu, ça, je suis d'accord avec toi.
Non, non, non, c'est pas Manu.
Je m'en fous, t'arrêtes pas de faire chier son monde.
Alors, Andouille, pour la dernière fois.
S'il te plaît ?
Andouille !
Oui ? Non, mais je te demande poliment si tu pourrais me répéter la question, s'il te plaît.
Alors, faut-il parler de l'armée en cours ou à la télé ?
Moi, je trouve qu'il faut pas en parler parce qu'on fait pas de politique à l'école.
Non, mais attends, on parle de l'armée, on parle pas de la politique.
Ouais, mais c'est la même question que la politique, faut pas nous prendre pour des cons, aussi.
T'as changé armée par politique.
Tony, si t'es pas content, tu dégages, OK ?
Non, non, mais je suis content.
Non, mais bon, c'est pour le dire aux auditeurs que t'as 15 millions d'auditeurs, faut les respecter, quand même.
Ouais, ben attends, pour l'instant, toi, t'as...
Parce que depuis 10 ans, c'est les mêmes débats et tu ranges...
Bon, alors, Tony, tu dégages, allez, hop, t'es ennumé !
Hop, au revoir, Tony !
Non, je pense pas que t'es ennumé, hein !
Toi, Andouille, c'est pareil, au revoir, Andouille !
Allez, dégage, Andouille, allez !
Bah, si Andouille part, je pars.
Ouais, ben, c'est bien, aussi, je m'en fous.
Allez, dégage, je m'en fous.
C'est bien, récupère...
On est dans la merde, on n'a plus qu'à...
Tu récupères 3 éditeurs, Manu, s'il te plaît.
J'y vais, j'y vais, je les récupère, je vais les chercher, là, devant l'avenue, là.
Alors, Canip ?
Bah, écoute, Gérard, je crois que, de toute façon, notre avis compte pas vraiment là-dedans,
parce que s'ils ont envie d'en parler, ils en parlent quand même, hein.
Non, mais donc, je reviens à ce que Tony, soi-disant, qui disait,
que c'était pareil qu'on... la politique, non.
Parce que si on en parle à la télé, c'est que ça insiste pas les jeunes à vouloir perdre de l'armée.
Comme Andouille a voulu.
Comme Andouille a voulu les dire.
Mais, moi, je pense qu'ils ont tout à fait raison de nous parler de ce qui se passe à l'heure actuelle dans certains pays.
Donc, ça va être...
Bah, ça va m'intéresser certains, de toute façon.
Ouais, mais ça, ça va être la dernière question qu'on va poser.
C'est rare, moi.
Oui ?
Tes prothèses, je voulais savoir, si, quand tu te mettais au garde-à-vous devant le général, t'avais la gaule ?
Pas obligatoirement, non. Pourquoi ? Parce que ça t'est déjà arrivé, toi ?
Bah, non, mais je te posais la question.
Incroupion !
Oui ?
Si on te gêne, tu nous le dis, hein.
Ah, non, mais je vous écoute.
Non, mais tu peux quand même parler, hein, parce que, pour l'instant...
Le problème, c'est que, quand je parle, tu me dis de me taire, donc...
Non, non, non, attends, pour l'instant, je t'ai rien dit, donc je te demande de réagir.
Oui, bah, c'est...
Parce que vous êtes plus que 3 sur 7... 6, hein.
D'accord.
Donc, tout le monde a fait le tour de la question.
Ouais, ouais.
Alors, là, il y a une question qui va être bien, parce que je pense que c'est Canif qui a voulu en parler, ou même toi, Incroupion.
C'est laquelle question, Gérard ? C'est la numéro combien ?
C'est la 8.
Encore ? 2, putain.
Ouais, ouais.
Non, mais, hé, si t'es pas content, tu vois, tu poses ton casque et tu dégages.
OK, tu rentres chez toi.
Aïe.
Hé, Rigo, c'est pas à toi que je m'adresse.
Putain, maintenant, je barre aussi.
Alors, pourquoi faut-il faire 10 mois au lieu de 12, maintenant ?
Alors, on m'a demandé à Canif.
Bah, là, là, j'en ai vraiment aucune idée, Gégé.
Non, mais, avant, c'était 12 mois, maintenant, c'est passé à 10, donc, le pourquoi ?
Ah, mais, c'est ce que je te dis, je ne sais absolument pas.
Hum, d'accord.
Et toi, croupion ?
Euh, c'est pour des questions de budget.
Comment ça ?
Bah, il gagne 2 mois, il gagne du fric en se vendant que 10 mois.
Bah, non, euh...
C'est parce que ça a trop gueulé, je pense.
Non, mais, je pense...
Non, mais, comme ça, il ne paye pas les mecs pendant 2 mois, il ne les paye plus, quoi.
Ah, ouais, c'est une bonne idée, ça, je crois.
Bah, non, mais, même, de toute manière, ils sont...
Oh, vous arrêtez, là, derrière, là ?
Vous revenez bosser, là, correctement ?
Bon, attendez, je reviens.
Ah, d'accord.
OK, on est tous 3, là.
Bon, bah, euh...
OK, ça va ?
Bon, on rigole, vous revenez, là.
Donc, prochaine question.
Alors, Prothès, tu peux répondre, s'il te plaît ?
Ouais, ouais, donc, euh...
Bah, tu peux me répéter, j'ai pas bien entendu.
Donc, la question, euh...
Pourquoi faut-il faire 10 mois au lieu de 12 ?
Disons, avant, c'était de 12, et maintenant, c'est passé à 10.
C'est moi qui me suis trompé dans ma question.
C'est des problèmes de calendrier avec les années bisextiles, non ?
Non, non, non, non, non, parce qu'avant, c'était 12 mois, comme c'est...
Et puis, maintenant, ça passe à 10 mois.
Donc, on se demande pourquoi ils s'amusent à changer...
Oh, vous arrêtez avec la lumière et vous revenez bosser, là !
Parce que tout à l'heure, ça va chauffer pour vous 3, là, hein !
Tu fais des blancs, Gérard.
Donc, euh... Prothès, toi, alors ?
Ouais, donc, je te disais, je pense que c'était un problème de calendrier, non ?
Bah, non, parce qu'en fin de compte, non, il n'y a pas d'histoire de calendrier, là-dedans, hein.
Ah bon ?
Parce que c'est... Au début, c'était passé de...
C'était 12, maintenant, on est...
Ils sont descendus à 10, on ne sait pas pourquoi.
Ils ont raison, finalement, on se fait moins chier à 10 mois que 12 mois.
Ils vont descendre à une semaine, là, ça va être une semaine, après.
On récupère, ok ?
Ouais, alors, on accueille 3 nouveaux auditeurs, on accueille Face de Paix, Petit Fion et Général Moncu.
Bonsoir.
Bonsoir à tous.
On a un Général, ouais, qui vient d'un petit peu de corps d'armée.
De l'armée de l'air.
Général Moncu, ouais.
Apparemment, c'est ce que... Et l'autre ?
Il y a Petit Fion.
Ouais, bah voilà, c'était Petit Fion, pour finir.
Petit Fion, bonjour.
J'ai avec moi le sergent Susmon Gould, si vous voulez.
Ouais, non, mais ça y est, bon, alors, maintenant, on va demander à Face de Paix...
Et Face de Paix, là.
Bon, Face de Paix.
Ouais, salut.
Salut.
Ça va ?
Donc, toi ?
Oui.
Donc, la...
Alors, tu vois, moi, alors, je t'explique.
Moi, je pense que, ouais, bah, 10 mois, franchement, c'est plus cool que 12, quoi, parce que les mecs, déjà, ils y vont, c'est pas marrant, quoi, t'sais, ça les galère.
10 mois quoi ?
Bah, 10 mois de l'armée, quoi, c'est mieux que 12, quoi.
De l'armée ?
De l'armée !
De l'armée.
De l'armée.
Bon, euh...
Fildar !
Ouais.
D'accord.
T'écrases.
D'accord.
Donc, euh, vas-y, je t'écoute.
Bah, c'était pas bien.
Je vais t'écraser.
Ouais, alors, moi, je disais que, voilà, quoi, quand tu fais 10 mois, c'est classe, parce que 12 mois, c'est relou.
Non, franchement, concrètement, le mec qui part faire son service militaire...
Ouais.
On est d'accord, c'est relou, 10 mois, 12 mois.
Alors, il vaut mieux qu'il en fasse 10, t'as compris ?
Non, mais de toute manière, maintenant, au début, c'était 12, maintenant, c'est passé à 10, on se demande pourquoi.
Mais de toute manière, que tu partes 10 mois ou 12 mois, de toute manière, tu perds quand même ton temps en faisant l'armée.
Dans quel sens ?
Oh là là !
Manu, ça suffit, toi.
Je demande, parce que je comprends pas.
La semaine dernière, t'as fait du bon boulot, si tu commences à foutre ta merde, ça va...
De toute façon, vous parlez de 10 et 12 mois, mais c'est pas ça, l'armée, c'est une semaine, maintenant.
Non, non, non, non, non, non, non.
Toi, tu l'as même pas faite, alors tu t'écrases.
Si, si, Fildar, il a fait l'armée, mais pour revenir au débat, sur IRC, on te demande, on te dit en même temps, que maintenant, l'armée, elle est plus obligatoire.
Pourquoi ?
Si, l'armée est toujours obligatoire, encore.
Non, c'est pour devenir un métier.
L'armée est obligatoire.
L'armée est obligatoire.
Non, c'est tout.
Généralement, tu...
En tant que général, je peux témoigner, quand même.
Vas-y.
Parce que, maintenant...
Maintenant, on recrute, surtout dans le civil.
C'est fini, tout ce recrutement administratif.
D'accord.
Petit pion.
Alors, tout d'abord, bonsoir, Gérard.
Bonsoir.
Bonsoir.
Bonsoir.
Ouais, bah, dis-moi...
Ça te dirait de faire l'amour avec un gradé ?
Oh !
Merci.
Bah, écoute, on se retrouvera en peine, alors ?
Pas de problème.
Hé, attends, attends, attends, moi, je suis plus grand des clés.
Hé ! Oh !
On accouche.
On accouche, maintenant, là, sur la question.
On va pas s'éterniser, là-dedans, hein.
Bah, dis-moi, ça fait...
12 mois, c'est trop long, quoi.
Bah, 10 mois, c'est pareil, hein.
Bah, non, c'est 2 mois de moins.
Bah, il y a 2 mois de différence.
Bah, ouais, mais si tu fais le con pendant tes 10 mois,
tu refais un mois de plus, donc ça fait 11 mois.
Ouais, mais Gérard...
Si tu fais le con au bout de 12 mois, tu t'en retapes un de plus.
Que si tu fais le con au bout de 10 mois,
tu t'en retapes un de plus aussi,
mais seulement, ça fait plus 13, mais ça fait 11.
C'est cumulable.
Ouais, OK.
Bah, Gérard, c'est prothèse.
Ouais, je crois que c'est clair.
Tu fais 10 mois, tu pars la fleur au fusil,
puis tu fais 12 mois, bon, tu pars la baïonnette dans le cul, alors...
Ouais, bah, de toute manière, moi, j'ai fait 12 mois,
et je vais te dire une chose,
que quand tu reviens, c'est chiant.
Que ça soit 12 mois ou 10 mois,
de toute manière, c'est vraiment des conneries, je sais pas pourquoi.
Et t'avais des permes, ou pas ?
Ouais, mais, je vais te dire, les permes, c'est 48 heures,
et t'as une PLD, une...
PLD, c'est une période de longue durée,
c'est 10 jours.
Dis-moi, Gérard, je peux te poser une question ?
Est-ce que ça t'a plu, l'armée ?
Non, pas du tout, je me suis fait chier, je viens de le dire.
Pourquoi ?
Bah, c'est la question. Est-ce qu'on s'amuse en pesant l'armée ?
Ce sera la dernière question, après, on fera une petite conclusion rapide.
De nos jours. Non, il reste encore...
Non, non, non, on va abréger, on va abréger.
On peut pas. On n'a pas le temps.
Non, je te dis que...
Non, Max, Max, il est venu,
il a dit que tu gérais pas le débat,
c'est à chier, donc on va faire l'autre débat.
C'est toi qui poudre ta merde,
alors toi, tu vas commencer par la permer.
Non, Gérard, continue ton débat, c'est pas du tout la faute de fil.
Alors, est-ce qu'on s'amuse en pesant l'armée
de nos jours ? On va demander ça à Canif.
Bah, écoute, ouais, je pense
qu'il y en a qui s'amusent et d'autres qui s'emmerdent.
Donc, c'est pour toi,
de toute manière,
même en faisant l'armée, on peut s'amuser
avec ses copains, hein ?
Pendant la récré, ils font des jeux, non ?
J'ai des copains qui ont fait l'armée,
et puis ils m'ont dit que même si des fois, c'était un peu chiant,
ils avaient quand même de bons souvenirs.
Ouais, mais ça, de toute manière, tu gardes quand même
à la fin, tu gardes quand même un bon souvenir aussi, non ?
Attends, faut quand même faire quelque chose,
parce que si tu passes 12 mois
à t'emmerder, faut quand même faire quelque chose.
D'accord.
Ouais, donc moi,
je dis que dans l'armée, tu t'amuses pas beaucoup,
parce que c'est clair
qu'à part que si t'as des G.I. Joe
ou des Small Soldiers, tu peux t'amuser.
D'accord, je vois pas du tout le...
C'est un sujet, un sujet.
Groubillon ?
Ouais, non, tu te fais chier à l'armée.
Ah bah d'accord, toi, c'est carrément ta réponse.
Bah oui, ça les passionne pas, les naines à l'armée.
Faut abréger, même, toi.
Attends, toi, pour l'instant,
tu vas la fermer !
Ok ? Tu vas fermer ta gueule, maintenant.
Ça va être clair.
Passe de paix.
Bon, on va se polier.
Passe de paix, s'il te plaît.
Je suis dans la hanche, moi.
Passe de paix.
Oui, je suis là.
Gérard, c'est Prothèse, je suis dans la hanche.
Ouais, mais Prothèse, tu t'écrases, maintenant, s'il te plaît.
Merci.
Gérard, assieds-toi bien, parce que là, j'ai un peu de mal.
Bon, allez, Prothèse, tu me dégages.
Hop, terminé pour Prothèse, comme ça, il fera moins le con.
Il fera le con chez lui, à Rouen.
Je suis dans la hanche, Gérard.
Passe de paix.
Hop, on termine.
Ouais, si, c'est cool, l'armée, tu fais le con, quoi.
Ouais, bah, tu t'amuses ou pas ?
Bah ouais, parce que t'as pas envie de faire la reconnerie,
alors que tu fais le con, donc tu t'éclates.
J'ai l'air qu'il va t'éclater, parce que tout le monde
devait se foutre de ta gueule avec ta face de paix.
Non, mais tu peux pas.
Non, non, attends, attends, attends, oh !
Toi, Pildar, tu as...
Ouais, mais tu vas t'écraser un peu, toi.
Tu vas laisser finir les gens parler, OK ?
Trois minutes, trois minutes.
Face de paix, vite paix, vite paix, là, on accouche, là.
Je peux finir, là ?
On accouche.
Bon, alors...
Gérard, je suis dans la hanche.
Ouais, mais je peux finir.
Prothèse, tu dégages !
Je voudrais dire aussi que quand on a les oreilles...
Quand on a les oreilles...
Dégage-moi la prothèse, là.
Aïe !
Est-ce que je peux finir ?
Non.
Non ?
Oui ?
Aïe !
Non, mais aïe !
Arrêtez !
Aïe !
Non, mais aïe !
Vous vous chalmez, là, ou je vous chale, moi, maintenant ?
Oh !
Alors, face de paix, tu réponds correctement.
Ben, moi, ça y est, j'ai répondu.
D'accord, général de mon cul, là.
Ouais, répétez, première classe.
Général de mon cul.
On accouche.
Je suis dans la hanche, répétez.
Ta gueule, prothèse !
Répétez la question, s'il vous plaît.
Bon, allez, vous me faites chier, je répète plus la question.
Allez, conclusion.
Hop, basta.
Conclusion.
Janif.
Fais passer les autres, j'ai l'air.
D'accord, petit pion.
Petit pion.
Petit pion.
Petit pion.
Petit pion, une fois, petit pion, deux fois, petit pion.
Je suis là, je suis là.
Conclusion.
Je suis là.
Mais bouge pas ta hanche.
Prothèse, ta gueule.
Donc, tu veux ma conclusion ?
Ouais.
Ben, écoute.
J'ai écouté ton débat parce qu'en fait, je viens d'arriver sur la chaîne, donc
j'ai eu le temps d'écouter très attentivement.
Et ben, moi, je trouve que l'armée, c'est...
En concluant vraiment très, très brièvement, parce que je sais que t'as pas trop le temps,
mais il paraît que l'armée, c'est aussi excitant que de te rencontrer dans les chiottes
de la loco.
Alors, moi, je t'emmerde, petit pion, dégage, bonne nuit, au revoir.
Général, mon cul.
Aïe.
Alors, c'était un très bon débat.
Oui.
Je voulais le dire.
Et j'aimerais dire aussi un petit message pour...
Non, non, il n'y a pas de message.
C'est un dénommé Philippe qui est dans le truc.
Non, non, il n'y a pas de message.
Salut.
Phase de paix.
Je voulais dire.
Phase de paix.
Phase de paix.
Oui, c'est phase de paix.
Général, mon cul, vous voulez dire.
Allez, vous me faire foutre dans son oeuvre.
C'est bon, c'est bon.
Je vous respecte, je te mets au trou.
D'accord, allez, phase de paix.
Oui, phase de paix, là.
Ben, moi, est-ce que ce serait possible d'avoir Troufion, là, en quarantaine ?
Ben, pas de problème.
Bon, alors, tu...
C'est pas la conclusion, ça.
Allez, Gérard.
Conclusion du débat, phase de paix, dernière fois.
La ramée, c'est de la merde.
Bon, alors, ben, d'accord.
Pour toi, c'est la conclusion.
Croupion.
Ouais ?
Ben, débat pourri, et puis regardez la 6, il y a Maxou, quoi.
Ah, ben, alors, c'est vrai.
Alors, attends, Croupion.
Moi, je vais te dire une chose.
Si mon débat, c'est de la merde, et que tu regardes M6 à la place,
dans ce cas-là, t'as le cas de ne pas participer au débat.
OK ?
Regarde le chien.
Va bouffer tes croupions.
Mais arrête de bouger de la hanche.
Cani ?
Euh, ben, j'ai pas vraiment de conclusion.
Mais enfin, si, quand même, c'était pas mal.
Mais, euh, bon, voilà, c'était spécial, mais pas mal.
Eh, quand je vous demande des conclusions,
quand vous me dites, faites passer les autres,
je voudrais bien que, quand tout le monde passe,
que vous ayez quelque chose à dire.
Parce que si c'est pour me dire,
ah, ben, pour mieux écouter, regarder M6,
il y a Max qui passe.
Eh, mais, Gérard, t'énerves pas sur moi, j'y suis pour rien.
Non, mais, c'est pour Croupion que je m'adresse spécialement.
Ben, ouais, c'est pas moi qu'il faut engueuler, hein.
Donc, on le sait, on l'a aussi dans les studios, Max.
Alors, donc, voilà.
On en a parlé en début d'émission.
Bon, ça y est, euh...
Gérard, j'ai une conclusion sur l'IRC.
Alors, Davy One, qui donne sa conclusion,
il dit, eh bien, si la plus petite unité de temps,
c'est la milliseconde,
la plus petite unité de longueur, c'est le millimètre,
la plus petite unité de l'intelligence,
c'est le militaire.
Ah, ben, d'accord, c'est pas mal sa conclusion.
Moi, conclusion, c'est dommage que, ben,
qu'on a été forcés d'abréger sur la neuvième,
parce que sinon, ça s'était bien passé
dans la deuxième.
Moi, j'ai pas appris grand-chose, hein.
Toi, t'as rien appris parce que t'es con,
toi, c'est pas de ta faute.
Donc, toi, de toute manière, tu resteras toujours content de ta vie, alors...
T'attends onze heures et demie pour bosser au standard,
donc ça sert à même pas...
Donc, conclusion, c'est...
Dans l'ensemble, ça s'était bien passé.
Si t'es pas content, je t'emmerde.
Tu prends une chose, tu prends tes clics et tes claques
et tu te taches chez toi.
Comme ça, ça nous prend des vacances.
Donc, conclusion, sinon, c'était pas mal dans l'ensemble.
Je pense qu'on a atteint combien, là ?
On a perdu...
On a perdu, suite à la fin du débat,
où les gens, en partant, m'ont dit que c'était vraiment trop le bordel
et trop con et trop nul.
Donc là, apparemment, on est descendu sous la barre des 2000.
On doit être 1000... Attends, je regarde...
1597.
Ben, c'est dommage.
C'est dommage que les trois derniers que tu m'as récupérés
ont foutu la merde.
Ils me disent pas que c'est à cause des auditeurs.
Ils me disent que c'est à cause de toi, Gérard.
Non, c'est pas moi qui ai foutu la merde, c'est eux qui n'ont pas voulu répondre aux questions.
Donc, voilà. Alors, le disque qu'on va s'écouter,
c'est Gérard, du côté, avec la boule de travers.
Et donc, vous pouvez nous appeler pour le deuxième débat
qui va porter sur la prostitution.
Ah, enfin, le débat.
Attends, toi, tu vas rester à l'arrière, tu vas fermer ta gueule.
Ah, non, non.
Si, si, parce que je te bats pas en standard.
Je te bats pas en standard.
Ah, si, si, si, moi j'en ai marre, ça fait depuis 22 que je suis là, Gérard.
Ouais, ben, tant pis.
Donc, on écoute le disque et vous pouvez appeler Manu, bien sûr, les numéros, Gérard, vas-y.
C'est 0803 085000 et toujours le...
www.funradio.
Et on se retrouve tout de suite après.
J'espère qu'il y aura des putes, quand même.
Ben, toi, t'en fais partie.
== Le débat sur la prostitution ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
C'est le deuxième débat et on salue les gens qui sont sur IRC, on salue un peu tout le monde, on leur fait les coucous, on les remercie d'être là.
On a redépassé les 2000, quand ils ont entendu qu'on changeait de débat, ils sont tous revenus et on est 2147 plus 3.
Par contre, il y a un petit problème avec Andouillette, je suis désolé pour toi mais je ne vais pas pouvoir te prendre pour le débat.
Pourquoi ?
Non parce que 13 ans et demi, je ne veux pas.
C'est tout ?
Non, non, non, il est hors de question.
Non mais moi je suis précoce moi.
Non, non, je ne veux pas le savoir, 13 ans et demi, je n'en veux pas dans le débat.
J'ai dit non.
J'ai dit non.
Bon ok, je le jare.
Ce n'est pas croyable.
Voilà, c'est tout, moi je ne prends pas des mineurs dans mes débats.
Et donc le disque, oh ça suffit là.
Le disque qu'on venait d'écouter, c'est Gérard Ducoté avec la boule de travers et donc on va accueillir pour ça Barakouda, 21 ans, de la mode Beuvron.
Oui, mais reste du soir.
On écoute Fun Radio sur 106.4.
Et demi, et demi.
106.4, j'ai moi.
Et demi, ou alors je suis en avant, on ne sait pas.
Oui, ce n'est pas grave.
Grosse Bertha, 22 ans, Bordeaux, 91.8.
Salut.
Salut Grosse Bertha.
Sanisette, 19 ans, Bourricot, c'est la ville ça ?
On appelle de Bourricot.
On écoute Fun Radio 97.3.
Eh oh, il faut peut-être vous réveiller.
Quand je vous parle, vous allez me dire si c'est bien les fréquences.
Je t'ai dit oui.
Ok.
On se réveille.
Bourricot.
Sanisette, on se réveille.
Moi, je te dis réveille-toi, je t'ai déjà répondu.
Ok.
Alors Twingo, 21 ans, Paris, sur 101.9.
Ouais.
Et Petit Suisse, 19 ans, Brest, 98.9.
Ouais, bonsoir Gérard.
Bonsoir.
Donc le débat, ça porte sur...
Les putes.
Comment ?
Les putes.
Les putes.
Sur la prostitution.
Ouais, c'est pareil.
Je tiens à rappeler, Gérard, quand même, qu'on a une prostitue avec nous.
Ouais, je sais, j'ai vu.
Donc tu charges quelqu'un à la place d'Andouillette, s'il te plaît.
Merci, tu fais ton boulot.
Vite fait, bien fait.
Sinon, gare à ton matricule pour toi.
Alors, la première question, donc, avez-vous déjà été voir une pute ?
Si oui, pourquoi on va demander ça à un petit Suisse ?
Ouais, ouais, j'y vais deux fois par semaine pour me vider les couilles.
Ouais.
Ouais, je ferai un maximum de plaisir à faire ça.
D'accord.
C'est pas mal.
Voilà.
Et donc, Twingo ?
Oui, alors moi, je suis prostituée de profession.
Ouais.
Donc j'ai l'occasion d'en voir pas mal.
Ouais, je vois mes copines qui sont prostituées aussi, quoi.
Uh-huh.
Donc ouais, je vais les voir des fois, on se fait des bouches.
Donc je vais voir des putes.
Uh-huh.
Voilà.
D'accord.
Sanisette ?
Ouais, bah moi, j'exerce occasionnellement pour arrondir mes femmes, moi.
D'accord.
Bah c'est pas mal.
C'est pas mal comme truc, grosse Bertha.
Bah non.
Non, mais tu peux préciser ?
Bah non, parce que j'en suis une.
Non, mais attends, t'as un mec, commence pas à dire des conneries.
C'est un guignol.
Un peu, ouais.
Ouais, bah, et Fildar, quand je t'appellerai potchampe, tu le sortirais dessous le standard.
D'accord, mais des prostituées, mec, ça s'appelle des guignols.
Pour l'instant, tu vas éteindre ton micro et tu vas faire ton boulot comme je te le demande, ok ?
Des guignolos.
Alors, Barakouda ?
Des guignolos, s'il vous plaît, je préfère.
Oh, grosse Bertha, tu te tais, c'est le top, là, merci.
Barakouda ?
Ouais, bah moi, j'y vais comme tout le monde, pour l'hygiène, pour me vidanger, quoi.
D'accord, il n'y a pas d'autre solution que d'aller en voir.
Tu peux me dire, attends, grosse Bertha, Barakouda, tu peux me dire s'il y en a de ton côté, là-bas ?
Bah ouais, c'est quand même assez blindé au niveau pute, ouais, il y a tout ce qu'il faut, quoi, ouais.
C'est abominable.
De quel côté qu'il y en a ? Parce que je connais un peu...
Des gauches.
Tu connais les coins putes ?
Non, mais je connais la mode Beuvron parce que j'y étais, alors donc...
Ouais, mais je ne voudrais pas trop, trop citer parce que je ne voudrais pas qu'on me répète.
Après, du boulevard Jean Jaurès, quand même.
D'accord, mais c'est pas mal, c'est bien précisé, quand même, le...
T'as bien précisé, quand même, le nom de la rue.
Il n'y a pas de problème.
À la place d'Andouillette, on accueille M. Claude.
Bonsoir, je suis Macron.
Salut.
Et je le revendique.
Salut, Macron.
Bonsoir.
C'est Barakouda.
Salut, Macron.
Ouais, ça y est, ça y est, ça y est.
Donc, pour toi, M. Claude ?
Ouais, bah écoute, moi, je mets des putes sur le marché.
Ouais.
Et ce qui se passe, c'est que c'est sur le boulevard Baie.
Alors, hé, encore une fois, je tiens à préciser que le prochain qui me donne un nom de boulevard gerbe, c'est clair, net, précis.
C'est pas valable.
C'est pas valable ? Attends, toi, tu risques de gerber vite fait, toi.
Je vais pas chercher qui c'est, hein.
C'est horrible.
Ok.
Horrible.
Alors, euh...
C'est trop susceptible.
Oh ! On s'écrase.
Inonible.
On s'écrase.
Donc, M. Claude, pour continuer...
Ouais, donc, excuse-moi, j'étais un peu...
Je voulais faire un peu de débordement.
Ouais.
Je voulais faire un peu de pub pour mon commerce, je suis désolé.
Ouais.
Donc, euh...
Oui, tout à fait.
Mais je respecte ces femmes à leur juste valeur.
De traîner.
D'accord.
S'il vous plaît.
Oui, oui, c'est qui, là ?
Euh, c'est, euh, Twingo.
Ouais.
Je ne supporte pas...
Pas de marque.
Oh !
Pas de marque.
Ouais.
Eh oh ! Le prochain qui ouvre sa gueule !
Quand quelqu'un parle, gerbe !
Ok, ouais.
Ok, ok.
Ok.
Ouais.
Alors, Twingo.
Oui, je vous demande juste d'avoir un langage.
Un langage correct en parlant de nous.
On n'est pas détraînés.
Ouais, mais toi, t'es pas de série déposée, toi.
Ok, salope.
Oh !
Qui c'est qui s'amuse à dire des saloperies, là ?
Allez, hein !
Barakouda.
Barakouda, bonne nuit !
Salut !
Non, c'est pas Barakouda, Gérard.
Gère un peu, je vais essayer de voir qui c'est, mais fais quelque chose, quoi.
Ouais, mais attends.
Toi, je t'ai dit d'éteindre ton micro.
C'est pas moi.
C'est un Gérard.
Bon, Gérard.
C'est une odibe.
Gérard.
Oh !
Gérard, pour reprendre le débat, on a un petit sondage, allez.
Donc, à la question pour ou contre la prostitution, 20% des gens...
Attends, hé, Manu !
Ouais.
Les pour ou contre, ça commence à me casser les...
Non, mais tu vas voir, il est bien, celui-là.
Il est bien, il va avoir des réactions.
20% des gens sont pour Alain Prost, 30% n'ont pas le permis, et 50% n'ont jamais été
routiers, donc ne connaissent pas les prostituées.
Alors, hé, tu vois, Manu ?
Voilà.
Ta réaction, là.
Ouais.
Ça, c'est de la connerie, donc c'est pas la peine d'intervenir pour modérer...
Donner des réactions, puis...
Bah, je sais pas, ça aurait...
Non, parce qu'Alain Prost n'a rien à voir dans le débat de la prostitution, OK ?
Alors, c'est pas la peine de dire des conneries, d'accord ?
OK, d'accord.
Les routiers, ils ont quand même à voir, hein.
Bon, toi, tu t'écrases pour l'instant, OK ?
Non, mais attends, j'ai été routier, et je me suis arrêté voir des putes dans les
camionnettes, je sais pas de quoi je parle.
Ouais, bah, de toute manière, il y en a un peu partout, hein.
Des camionnettes ou des routiers ?
OK, bon, qui c'est qui veut rajouter quelque chose ?
Il y a une nana qui voulait parler, c'est qui ?
Bon, bien, c'est bien, quand je demande qui veut parler, il n'y a plus personne.
C'est pas mal.
Nous t'écoutons.
Bon, alors...
J'ai des bons de réduction sur les fellations, si ça intéresse quelqu'un.
C'est qui, c'est qui, c'est qui, ça ?
C'est M. Claude.
Ouais.
Les dix premiers, plus un invité, j'ai une réduction sur les fellations.
D'accord, eh ben...
Prisca et Zoubira.
D'accord, OK, on a très bien compris le message, donc...
J'ai pas les manques, j'en ai peur.
J'ai le sucre, je suis trop heureux.
Oh, on se calme un peu, là, ou quoi ?
Donc, alors, moi, je vais répondre quand même à la question.
Il faut.
Je vais quand même répondre à la question, parce que...
Avez-vous déjà été voir des putes, si oui, pourquoi ?
Moi, je peux vous dire une chose, que je n'ai pas eu l'occasion d'y aller.
C'est tout.
Oh, Gérard.
Tu peux nous le dire, tu peux nous le dire, on est entre nous.
Non, non, non, non, mais ça y est, j'ai répondu, donc...
Ils veulent pas de lui.
C'est bon, c'est bon, c'est bon.
C'est qui ?
Ça s'est peut-être arrivé, ça, Gérard, de te faire recaler par une pute, non ?
Non, non, pas du tout.
Deuxième.
Non, mais...
Quand vous voulez jacter, vous donnez vos noms, parce que j'en ai marre d'entendre...
Ouais, c'est Polo, c'est un menteur.
C'est qui ?
C'est Polo.
Ouais, il n'y a pas de Polo dans le débat.
C'est Polo, et c'est un menteur.
Bon, attends, toi, tu vas commencer à t'écraser.
Hein ?
OK ?
Oui, c'est Pepito, je vous l'ai dit.
Écrase !
Oh, Fildar.
Ah, on sonne à la porte.
Fildar !
Fildar !
Putain, j'ai oublié !
Putain, j'ai oublié !
Oh, s'il vous plaît, vous vous tchalmez !
C'est Lolo Ferrari.
Bon, Fildar !
Oh, quand je te parle, les oreilles, là !
Elle sonne avec son téton.
Putain, c'est pas possible de travailler avec un con comme lui, hein !
Ah, Blinquillon !
Lolo Ferrari, elle est pas baisable.
Elle est pas baisable, cette meuf.
Non, mais quand vous aurez fini vos conneries, on pourra peut-être...
Hé, Fildar, tu gères un peu, là, au lieu de faire le con ?
Mais quoi, je gère ? Je dis rien.
Non, tu gères en rien, pour l'instant.
Tu dis que t'as l'air de t'appeler pour les caméras...
Pour revenir au débat...
Pour revenir au débat, il y a un réa sur IRC
qui te demande si tu connais personnellement une prostituée.
Non, pas du tout.
C'est Sandy ?
Euh, qui c'est qui vient de dire ça ?
Je te préviens, Fildar !
Troisième édition.
Si ça recommence à parler de Sandy,
tu me vires où, où, où, Sanisa Toutingo,
je cherche pas à qui savoir.
Ok, d'accord.
J'ai trop de respect pour cette profession.
Ok, alors, je te signale, t'as intérêt de te réveiller
quand je te parle, parce que tout à l'heure, tu as morflé.
Que pensez-vous des tarifs
selon ce que vous voulez faire ?
On va demander à Barakouda.
Allô ?
Barakouda, vas-y, réponds.
Barakouda !
Il dort.
Il est là, il est là !
Il est où, Michel ?
Il est où, pute ?
Allô, Gérard ?
Barakouda, tu réponds, s'il te plaît.
Ouais, je te disais, moi, j'ai une carte d'abonnement.
J'ai souscrit à la carte Tepu.
J'ai droit à une fédération gratuite
pour 3 sauts demi-achetés.
D'accord.
Ça vaut relativement le coup.
Ça marche aussi à Paris, dans tous les coins.
C'est intéressant.
D'accord. Grosse Berthe ?
Alors, moi, mes tarifs...
Pardon.
Bon, je sens que tout à l'heure,
je vais m'énerver, ça va...
Je vais en saquer, déjà, vite fait.
Je pense que les tarifs varient entre 5 et 10 000 francs
sur l'avenue Foch, de Paris.
Alors,
Grosse Berthe, au revoir.
Ça t'apprendra de préciser.
J'avais bien précisé
de ne plus donner de nom. Grosse Berthe, terminé.
Il n'y a plus de pute à l'avenue Foch.
C'est terminé, ça, Gérard.
Terminé pour Grosse Berthe.
Sanisette.
Oui, en fait,
moi, je te disais, je pratique à l'occasion
pour arrondir mes fins de mois.
Et en général, les tarifs, ça dépend des putes.
Ça dépend
de ce qu'elles font aussi.
Et moi, en général,
je demande pas mal, quoi.
Salope.
Toi, le salaud, tu vas faire mettre ta gueule.
Alors, je t'explique pourquoi
je demande pas mal.
Honnêtement, en toute franchise, moi, j'aime la bite.
Donc, forcément, je me donne à fond.
Et donc, forcément, on revient me voir très souvent.
Et donc, forcément, j'augmente mes tarifs.
D'accord. Gérard,
il y a Yopi sur IRC
qui te demande si tu connais la différence entre une pute
et une pizza. Non, mais
ça, c'est quoi ? La pizza, tu peux l'avoir
sans champignon. D'accord.
Twingo.
Oui, c'est dégueulasse. Pas de marque.
Twingo. Oui, oui, oui.
Moi, je suis... Bon, je suis
prostituée de profession.
Mais je fais pas n'importe quoi non plus.
Donc, la pipe à 100 balles, c'est même pas la peine
à 10 ans de paie.
Mes tarifs commencent à 10 000.
Et en fait, je fais 5-6 passes dans le mois.
D'accord.
Petit Suisse.
Ouais, moi, j'ai des tickets Sodo.
Donc, j'ai des promotions sur les Sodo.
Je rappelle que je ne prends pas les tickets
de la vie. Non, mais attends.
Petit Suisse, je crois qu'il n'a pas
tellement compris la question, lui.
Si, si, j'ai des tickets Sodo pour avoir des réductions
sur les tarifs. Non, mais que pensez-vous des tarifs
selon ce que vous voulez faire, abruti ?
Ah, ben, je pense que c'est excellent, quoi.
C'est bien, hein. D'accord.
On n'a rien à voir des réductions comme ça.
Non, mais je crois que pour l'instant,
je pense que vous
déconnez à ce temps-ci.
Non. Non, presque pas.
C'est pas le genre de la maison. Non, pas du tout.
C'est pas le genre de la maison. Non, presque pas.
Donc, tu as dit qu'on se marrait.
Non, presque pas.
Bon, Jérôme, tais-toi, écoute-moi.
On accueille à la place de...
Attends, tais-toi et tu fermes ta gueule, toi.
On accueille à la place de M. Claude qui est parti se coucher
queue de velours. Et à la place de...
M. Claude. La grosse Bertha,
je cherche encore. Attends, c'est pas évident
à trouver. Qui ? C'est qui ?
Queue de velours. Ok.
Bonsoir. Bonsoir.
Alors, petit Suisse,
t'as répondu, toi.
Alors, donc, queue de velours pour toi.
Excuse-moi, je me faisais une queue.
Ouais, salut. Ah, d'accord.
Je pense que, tout à l'heure, tu as retourné d'où que tu deviens.
Fais gaffe que je te sperme pas dessus, quand même.
Ouais, ben, moi, je te dis fais gaffe parce que, tout à l'heure,
tu as retourné d'où que tu viens.
Bonsoir. Alors,
Sanisette, c'est terminé pour toi. Au revoir.
Hop. Voilà. Bonne nuit pour elle.
Terminé, ça y apprendra de
parler de Sanisette. Ok, je l'en remets.
Une admissible. Je te dis de la gerber.
Et tu fais ton boulot correctement
avant que je t'éclate. Bon.
Ok ? Queue de velours, là, pareil.
Queue de velours pour toi.
Pour moi, quoi ?
Que pensez-vous des tarifs selon ce que
vous voulez faire ? C'est la dernière fois que je répète
la question parce que vous commencez à me les gonfler,
là, sur le deuxième débat.
Les tarifs sont variés en fonction de Paris
ou la province. Moi, j'ai le souvenir
d'une époque, je t'écoute depuis très longtemps,
où, apparemment, pour 1200 francs,
on pouvait avoir une sode de mie plus un breakfast.
Oui.
Tu vois, ça peut rire les autres
abrutis derrière, mais tu veux dire ça pour qui ?
Pour toi, je me souviens qu'à une époque,
il y avait des tarifs, c'était 50 francs la pipe,
et 1200 francs pour un breakfast.
Donc, à mon avis,
à mon avis, t'es...
Non, mais, à mon avis, t'es vachement au courant
de cette publicité, donc je me demande si c'est pas...
Parce que t'en avais pas l'avantage, il y a deux ans, espèce de con.
Espèce de con, je t'emmerde, alors tu dégages
Queue de velours, merci.
Voilà.
J'aurais bien mis un coup de langue à Queue de velours.
Bon, Gérard, on a des nouveaux, on a Kékéthos.
Non, non, mais tu me remplis une fiche...
À chaque fois que tu me fais le coup,
tu sais pas écrire ou quoi ?
Non, non, mais tu te démerdes, tu me...
Bonjour, Guillaume, c'est Kékéthos.
Alors...
Il est où, Michel ?
Je sens que Fildard, tout à l'heure,
avant la troisième question, je vais te mettre
une gaufre, mais tu as ton souvenir, toi.
Chocolat chantilly, pour moi.
Banane, banane, chocolat.
Bon,
une question IRC, non ?
Oui, si tu veux.
Alors, est-ce que la carte ImagineR
peut servir pour les putes ?
Non.
Moi, j'ai une question pour les mecs de l'Internet.
gringo tu peux me trouver un site sur jacques vapeur alors toi je vais dire une chose que
si tu as un truc à demander à rigaud pour le site internet comme ça tu fais le 01 40 521 521 voilà
comme ça tu seras tout de suite renseigné merci gérard et vous pouvez toujours bien sûr laisser
des messages sur le répondeur j'ai ou j'avais oublié de préciser donc allô allô allô allô
bon ça y est vous avez fini la bouconnerie alors croyez vous qu'il faut laisser ouvert les maisons
closes on va demander ça à barakouda sont fermés fils d'art tu cherches des ans et tu fermes ta
gueule pour la deuxième fois ok gérard sur rc on me dit que si une maison est close elle peut pas
être ouverte mais il y en a qui seront ouvertes ou fermées mais je pense que les trois quarts
maintenant sont fermés on va demander à barakouda ouais il a pris le goldorak en plastique et donc à
la place de sa visite on accueille bermuda et je suis en train et à la place de queue de velours on
accueille à nu sans sky
alors salut tous ceux qui viennent de nous récuer que revenir alors barakouda pour toi
pour revenir au débat à turpentine qui te demande gérard vu que tu parles de maisons
closes est ce qu'il y a des immeubles clos non pas ma connaissance ouais ouais je voudrais encore
mon jingle un coup là non tu es tu réponds à la question s'il te plaît bon d'accord que je te
propose c'est un compromis en fait les maisons closes tu les laisses entre ouvertes à l'eau
à l'eau à l'eau à l'eau à l'eau à l'eau et quand vous aurez fini vos conneries vous vous ne direz
alors barakouda ouais tu m'écoutes je t'écoute alors je te disais à l'eau à l'eau à l'eau à l'eau
à l'eau les auditeurs vous m'entendez un bon moment temps manu mais c'est pas moi j'ai rien
fait ils sont là rien et moi vous m'entendez pas moi à kouda vous faites quoi là soir je sais pas
mais là ça vient pas nous allons touche derrière ton micro voilà vous l'entendez là vous l'entendez
gérard maintenant c'est bon barakouda troisième fois barakouda c'est la troisième fois que je
pense de la caisse je te fais appeler donc c'est barakouda de l'agence touriste que je voulais dire
c'est que ben je te propose un compromis donc les maisons closes et bien au lieu de les ouvrir tu
les laisses juste entre ouvertes ça suffira à quoi je pense qu'ils vont s'offiler ouais d'accord
quelques toss ouais bah moi les maisons closes je trouve ça abominable et je trouve qu'on devrait
tous les faire mais c'est horrible d'accord abominable bienvenue à tous les abominables
moi personnellement j'en ai rien à foutre qu'elle soit fermée ou ouverte j'en ai rien à
foutre c'est pas mon problème à ce propos gérard y'a yopi derrière merci yopi sur rc qui demande
s'il faut une clé pour rentrer dans les maisons non maintenant c'est les personnes qui l'utilisent
ont avec l'info une passe fil d'art tout écran s'il te plaît merci on m'a dit que c'était plusieurs euros
tout est une baule il me posait une question qui est bien oui j'aurais voulu savoir si je
travaillais dans une maison close qui serait ce type de passer non parce que je vais j'ai déjà
ce qu'il me faut j'ai trouvé même alors qui c'est qu'il vient d'être c'est pas moi c'est pas moi
j'ai rien dit je crois que c'est un animal c'était moi j'ai pas la zik de m'animal et les obis de lépreux
c'est moi je fais dans la bouche je vais essayer de trouver jean je sens que vous commencez déjà
toute la merde troisième question je sens qu'on va changer les auditeurs j'ai pas répondu moi on va
demander un twingo oui à deux marques oui bah moi j'ai commencé ma carrière dans ce genre de
détachement il y avait c'est mignon il y avait des mains de jardin dans la cour et tout mais
voilà elle a fermé et bon je me suis retrouvé à la rue donc il a fallu que je me brouille par
mes propres moyens donc au début c'était un peu dur j'étais dans une petite chambre de bonne mais
j'avais juste un petit lavabo de merde et puis bon bah là je me suis dit que ça s'emballe et puis je me suis dit mais attends
si tu prennes ta vie en main faut que tu t'assures quoi d'accord twingo twingo oui twingo cinq minutes
celui qui s'amuse à jacter alors que la personne parle va virer mais vite je vais pas chercher
gérard pour revenir dans le thème du débat il y a davy one encore lui non s'il vous plaît il y a
davy one sur l'IRC qui te demande s'il faut payer un supplément à la prostituée si on veut qu'elle
nous mette un coton-tige qu'est-ce que t'as fait là oh là là il a tout cassé t'as même pas entendu ma
question non parce que j'étais en train de regarder ce qu'il était en train de faire manu à l'arrêt
en train de faire des conneries je répète si t'es pas content tu dégages toi il y a davy one qui te demande le
prix d'un supplément pour une prostituée quand tu veux qu'elle te mette un coton-tige non j'ai
répondrai pas du tout comme ça ça va aller clair et c'est j'essaie d'être répondu à sa question à
celui-là ouais on va demander à anus rancelet rancel pardon ouais concernant les maisons closes
ouais nous on a eu des problèmes c'est qu'on moi j'ai travaillé pour une maison close qui a bien
marché dans les années 70 et le problème qu'on a eu c'est qu'on a eu effectivement une prostituée
qui s'est échappée ouais alors non mais on la recherche aujourd'hui on croit qu'elle traîne du
côté de suren alors anus en sky terminé pour toi au revoir terminé pour toi c'est fini elle s'appelait
christine et bah tu dégages allez hop tu me le vire terminé pour lui il a pas dit qu'elle était grosse
petit suisse pour finir ouais donc moi je trouve ça inadmissible carrément les maisons closes
surtout que moi j'ai la pute que je fréquente elle s'appelle pupute et moi j'aimais bien quand
tu avais des journées cuisses ouvertes d'accord c'est pas mal moi je pense que à mon avis comme
vous allez comme vous êtes en train de vous les gens s'il te plaît tu me laisse parler s'il te
plaît comment est un temps merde ma copine tu vois c'est clair net et précis ce coup là tu vois à temps
merde et atchi dans la gueule non non non alors maintenant celui qui s'amuse à déconner avec ça
n'a dégagé tout de suite c'est n'importe quoi alors parce que ça commence à bien faire alors
filard tu vas faire ton boulot correctement et tu as fermé ton micro c'est pas évident de chier
dans la gueule ouais ben toi tu gérard on a on a perdu environ 500 personnes quand tu as parlé
de ce qu'il y a non c'est une honte non mais c'est dégueulasse mais gérard vient t'asseoir il a rien
fait fil d'art lui t'a pas dessus tu as tu as le permis le micro je te préviens toi donc quatrième
question celui que ça plaît pas il peut ranger peut raccrocher on prend d'autres personnes il ya
du monde derrière t'attends allez-y pose la question gérard faut-il se produisait pas et
où il va il va se faire lui là avec ses allô alors faut-il se prostituer pour avoir du boulot et on va
s'écouter avec une scie pour se raser les boules donc on va récupérer pour sa barracuda en espérant
que vous vous êtes calmés durant ce disque ouais je suis là j'aimerais bien un peu mon jingle manu
c'est plus la peine de le passer quand il te le demande parce que sinon il va il va gerber lui
commence à m'énerver à l'opinion qui est aussi tu t'écrases pour un sens je récupère tous ceux
qui étaient là ok animal ok merci bon alors barakouda était toujours là toujours présent
avec mes chiens l'honore qui est quête hausse j'ai la gaule toujours la bernuda ah oui ça chauffe
oh tu te calmes bernuda s'il te plait merci bon fils d'art soit tu me les chagnes ou soit tu me
prends d'autres personnes parce que ça commence à gonfler ça commence à me gonfler c'est pas
dirigeable alors twingo toujours là gérard est-ce que tu peux répéter la question s'il
te plaît mais on va finir tout une pointe go toujours là et petit suisse ouais salut à la
place d'annus en sky on accueille fleur de lotus je te préviens n'essaye pas de les repasser sur
d'autres non je t'ai dit non le fleur de lotus lotus et donc salut à toi alors faut-il se
prostituer pour avoir du boulot voilà la question que l'on me demandait sur l'hier c'est donc on va
demander à barakouda non non ils ont jamais demandé ça je répète la question comme tu
me l'as demandé donc barakouda tu réponds s'il te plaît c'était sur l'armée tout à l'heure tu m'entends
moi je t'écoute ok je te dis objectivement dans la vie tu as une sale gueule et que tu peux rien
faire d'autre moi je crois que ouais vaut mieux ok donc pour toi pour mieux avoir une seule gueule et
puis se prostituer écoute si tu n'as pas le choix et que tu es obligé de vivre à la sueur de tes fesses
écoute faut assumer quoi je pense que d'autres sont passés par là avant n'est ce pas ok t'inquiète
hausse non je pense pas que ce soit un vrai métier quand même mais c'est bien pratique d'accord n'est
ce pas oui je t'écoute non j'ai dit n'est-ce pas d'accord question à toi l'encontre bernuda écoute
moi plus ça chauffe entre mes fesses c'est mieux c'est quoi tu me files ton number ça commence à
bien faire là vous allez vous calmer avec les avec les gens quand ils parlent ok mais c'est que des
cochons pour toi moi c'est un vrai métier donc je peux pas me permettre de dire que que plus ça
chauffe je chauffe c'est vrai j'adore le cul mais bon toi t'es plus trop fou les deux moi je fais
pas très sérieusement très sérieusement d'accord toi tu déclares pas tout exactement je le fais
payer en liquide gg tu fais du black moi je veux bien payer en nature et vous précisez vos noms
quand vous voulez parler
ouais je voulais savoir si c'est un vrai travail et il y a quoi il y a des acédiques pour les
il y a une retraite pour les putes tout ça tu cotises sur tes putes les prostituées payent une
retraite tout à fait c'est à quoi où c'est que tu cotises à la banque du sang en fait non tu as une
assurance personnelle est-ce qu'on touche les sodomisations sociales c'est à 80% est-ce que
t'as un compte épargne à la banque du sperme celui qui s'amuse je vais faire des dépôts
et des retraits assez souvent alors
petit suisse pour toi ouais bah moi j'en profite parce que en tant que client quoi mais bon si elles
veulent faire ça quoi donc c'est tout ce que tu as à dire ouais ok fleur de lotus écoute moi je veux
prostituer avec grand plaisir mais je trouve ça un peu dégradant et ça ne m'empêche pas du tout
d'aller aux putes sans sans sans problème sans après qu'il n'y ait aucun on va chez les putes
et au cul au cul ok d'accord et chez le coiffeur on fait quoi voilà ok alors moi je peux vous dire
une chose que celui qui veut faire son boulot son boulot comme ça bah tant pis non personnellement
dans un fil d'art puis là si ça ne dérange pas tu non mais il est parti chercher un truc c'est pas
grave par contre moi j'ai un petit son un petit sondage qui est bien par contre là à la question
n'en rigolez pas à la question êtes vous déjà allé voir une prostituée 25% des gens ils sont
allés avec leurs femmes 35% ils sont avec aller avec leurs enfants et 40% ont demandé mais alain
prostituée qui n'importe quoi ça y est là vous vous calmez un petit peu là on se calme l'ascar
et en mire toi d'accord c'est à moi qui parlais vas-y jara alors cinquième question pourquoi que
les jeunes se mettent à la prostitution on va demander à fleurs de lotus
pourquoi que pourquoi les jeunes se mettent à la prostitution écoute de la prostitution c'est le
chemin le plus facile pour pour gagner de l'argent quand tu vois que j'ai pas il ya des jeunes qui
veulent être cadre c'est pas de +2 alors que tu te fais sur le trottoir des cartes les cuisses
et c'est parti alors je vais dire une chose que plus d'euros et puis dans le but c'est plutôt
bien bien comment je fais maintenant moi il ya
sur irc il ya un réa qui te demande s'il ya des réductions pour les prostituées après 19h comme
france télécom non je vois pas de réduction alors petit suisse à la minute vient de couper petit
suisse tu prends quelqu'un d'autre et c'est tout on va demander à twingo oui pas de marques gérard
faut arrêter la balade qu'elle a qu'à prendre un autre nom qu'une marque de voitures c'est tout un
appel toi qu'ils ont rappelé quito je faisais je voulais dire oui moi j'ai choisi d'être de
prostituées parce que je moi j'avais envie de travailler dans la rue donc c'était ça ou
pervenche donc mettre des pvc pas trop mon truc donc j'ai choisi prostituées et tu préfères te
faire la chance de faire revanche oui j'ai eu de la chance à l'été il y en a sont trop moches pour
faire plus tant qu'ils font elles font pervenche bernuda ben moi j'ai commencé à faire ça l'âge de
18 ans j'en ai 21 et je m'aperçois en fait avec les années qui passent que plus j'en ai eu et plus
j'en demande ça suffit derrière s'il vous plaît parce que là ça commence à bien perdre maintenant
vous allez vous tenez vous allez éviter de dire des cochonneries comme ça ok sur les putes tu veux
qu'on parle de poésie si ça te plaît pas toi tu peux tu peux raccrocher ton téléphone ça nous prend
des vacances je voudrais te faire un bisou ma pute tu dégages sinon à la place de petit suisse on
accueille plus pute bonsoir gérard salut salut salut ça va c'est ça peut te foutre des médecins
à laquelle vulgarité on va demander à bâtir on va demander on va demander toi pourquoi que les
jeunes se mettent à la prostitution pas que j'en sais moi en tout cas moi j'ai fait la pute un bon
parce que je n'avais pas j'ai pas d'autres moyens de gagner de l'argent et j'adore les grosses textes
excuse moi non je pense que les jeunes qui se mettent à la prostitution c'est pas vrai il y a
beaucoup plus de vieilles mamies toutes pas belles qui prennent un fric fou et je comprends pas c'est
faux mais si c'est vrai non pilar tu t'écrases pour l'instant je donnerai mes réactions moi même
je connais jeanette qui est avenue bip et bah un coup d'oeil pour finir ok bon manu ça suffit j'aime
bien ce zik ouais mais moi j'en ai ras le bol hé non mais vous avez vous avez les idées de gâcher
les débats ou quoi là ce soir gérard j'ai un sondage qu'on m'a rapporté sur internet par
kevin klein alors quels moyens de paiement utilisez-vous ouais mais non mais tu gueules tu
dis tu gueules il fait ça il fout sa merde avec la cause de barracuda l'autre qui fait la moitié du
boulot il y a pour l'instant il y a krigo et ouais avec moi c'est abominable oh vous vous fermez vos
gueules maintenant donc j'ai un sondage vite fait quels sont les moyens de paiement que vous
utilisez lorsque vous allez voir une prostituée 55% utilisent la carte bleue 12% la carte jeune
et 15% la carte routière non bah ça normalement les cartes jeunes et cartons routières ça passe pas
vous avez commencé par vous tchalmé maintenant maintenant sa barracuda de réagir ok alors moi
je veux dire déjà que les putes moi je paye en liquide déjà c'est clair deuxièmement je suis
tout à fait d'accord il ya beaucoup de vieilles qui se prostituent et je sais pas si tu t'es déjà
fait attend attend excuse moi une seconde barracuda barracuda c'est la dernière fois que tu me met ça
terminé pour lui c'est futé
je sens que tout à l'heure je vais je vais rester avec le twin go et bernuda vous allez dégager
le débat c'est sur les prostituées là j'aimerais bien qu'on suive un peu le débat et qu'on arrête
de délirer ouais bah toi le premier tu fais ton boulot correctement temps je te défends merde
bon non mais tu vas me chercher un autre une autre personne j'arrête pas vite fait tu te démerde ya
ya des lignes qui sonne alors donc il ya comme un gars qui sait qu'elle a pas répondu tout le monde
a répondu non j'ai pas répondu moi j'ai raté non tu as déjà répondu je te fais passer je t'étais
passé d'ailleurs en premier première alors donc je peux vous dire une chose qu'il ya beaucoup de jeunes
qui se mettent à la prostitution maintenant on sait pas pourquoi ça faudrait voir parce que
c'est quand même inadmissible d'avoir des jeunes qui si qui s'y mettent aussi maintenant pas fait
de recherches gérard sur ce sujet tu sais pas pourquoi toi mais c'est une petite idée ça vient
d'où si ils ont envie de se prostituer c'est leur problème c'est pas de mien en personnellement moi
là dessus j'irai pas me foutre à la prostitution comme ça c'est à dire voilà s'habiller comme ça
toi que tu cherches
les gens et tu fais vite fait toi alors les stars d'aujourd'hui ce prostitutel on va demander à quelques
tous tu peux répéter parce que j'ai mal compris les stars d'aujourd'hui ce prostitutel mais n'importe
quoi les stars propres à protéger à la prostitu pas alors tu peux préciser un max de pognon et
voilà donc elles n'ont pas besoin d'argent ben ok mais ailleurs peuvent le faire gratuitement bon ça
ça m'étonnerait moi c'est que la dernière fois je me suis tapé pamela henderson bon le seul truc qui
m'a repoussé ses pieds mais sinon va pas demander d'argent j'ai pas l'air ça malibu comme si non mais
manu tu arrêtes un peu tes conneries s'il te plaît la prochaine fois je m'appelle mitch ouais ben la
prochaine fois tu vas t'appeler ferme ta gueule maintenant pas de problème ok bernuda ouais ben
moi j'ai déjà eu des clients effectivement des stars et des politiciens également c'est jean-marie le pen
bernuda pas de marque tu vas tu vas te calmer avec des conneries comme ça d'accord sinon tu
vas dégager pas d'insultes je dis plus de non alors enfin je voulais quand même que tu saches
que le monde des stars c'est quand même un monde très très vicieux et que en fait vous seriez bien
surpris de des gens de personnalités qui vient vous voir et surtout ce qui vous demande quoi
c'est exact moi je me suis déjà pris entre autres des coton-tiges mais j'ai pas eu que ça quoi je
veux dire c'est quand même affolant les gens de la radio ou pas des gens de la radio on peut pas
donner de nom moi j'ai pas de marque moi je suis sûr que tu t'es déjà tu as tu t'écrases excuse
moi tu dis par exemple le prénom et le nom genre sable z alors quelque chose terminé pour toi au
revoir c'est pas quelque chose je l'avais viré je vais gérer sinon la place de barracuda on
accueille giclette bonsoir là je vais te dire une chose que si c'est les mêmes mais non garat j'ai pris
25 lignes et valide en ligne alors on va demander à pleurs de lotus nantes windows a pas répondu j'ai
pas répondu je suis d'accord avec les stars sont des putes dans le sens où bah oui j'aime pas peut
venir nous voir quoi c'est des gens qui payent et qui paye bien donné quelques exemples vont
s'entretenir de nom mais j'ai dû fouetté
un comique un petit comique sans cheveux tu vois qu'avec une drôle de tête je les fouette et
pendant trois heures d'accord avec fleurs de lotus il me semble que certains stars de la télé se
prostituent certains stars enfin de la télé des animatrices qui couche avec des producteurs et ça
je dirais pas de nom et je le sais mais personne ne me le fera avouer ok c'est qu'il s'est dit c'est
et personne ne me le fera avouer ok c'est qu'il s'est dit c'est
qu'il y avait il ya des stars qui doivent se prostituer oui c'est possible pour se faire
encore plus d'argent mais c'est tout ce que tu peux préciser toi maintenant je suis en train de
pomper j'ai pas que ça sert non bon alors dans ce cas là tu as pas que ça paie va continuer à pomper
en voir allez allez hop et giclette ouais déjà bonsoir j'ai un soir et je vais dire que déjà les
stars ils vont pas voir des plus qui vont voir des gold girls comme on dit et je pense que des
google girls on connaît tu peux préciser on va pas donner de nom gérard non mais tu peux préciser
non mais on va pas parler des stars de cinéma voilà quand même c'est leur vie privée on va
être pas parasites quoi moi je peux vous dire une chose que à ma connaissance personnellement j'ai
jamais vu de stars qui se mettait à la prostitution donc non j'ai jamais vu ça encore ça m'étonnerait
que yann haye qu'il fasse un homme et gérard il ya fait plus de films bien et où elle a pu de
reconnaissance à des plus célèbres elle peut tomber dans la prostitution ça on sait pas oui donc sur
irc on me demande à propos des stars est-ce que les stars du x on peut les considérer comme des
prostituées ben t'en as certaines qui font tout en faisant des films x donc je pense que si ici
ils choisissent de faire ce boulot là c'est que c'est vraiment eux qu'on choisit c'est pas la
prostitution les films x les deux s'ils se mettent dans le hic s'ils font de la prostitution quand
même donc c'est la même chose voilà donc justement 20
la sixième basse ailleurs on vient de la paire 7e avant avant je voudrais m'adresser aux gens du
standard que c'est possible d'avoir une invitée mystère qu'aurait fait pute alors je préviens
qui s'amuse à demander ça alors pleurs de lotus tu dégages voilà comme ça plus vite alors septième
question il ya plus y at il plus de femmes que d'hommes qui se prostituent on va demander à bernudas
honnêtement j'en sais rien parce que dans le quartier où je bosse ya que des nanas mais je
suis persuadé qu'il ya autant de mecs que non mais je te demande de ce qu'il y en a plus ou moins
d'accord twingo il y en a un peu moins quand il ya un peu moins de mecs au fait de moi dans mon secteur
mais il arrive qu'on fasse des trucs ensemble pour un client c'est lui qui s'amuse à faire
du bordel avec son téléphone est prié d'arrêter tout de suite inadmissible ok qui c'est qui nous
reste quelque chose non je crois que quelque chose je t'avais dit de dégager pas loin si tu veux
répondre ouais je pensais beaucoup plus de filles qui se protégent et qui se prostituent ouais mais
s'il ya plus de femmes que d'hommes et il ya plus de femmes que d'hommes et ceux qui se marrent comme
un boucle avant à se calmer des oreilles oh là là tu vas te calmer parce que tu as dégagé c'est pas
moi allez gérard je peux répondre ouais
c'est ma croix la moutarde non tu sors d'où toi j'ai remplacé pupitre temporairement non
non on l'avait viré j'ai oublié de le dire excuse moi c'est ma croix là mais non mais
attend fil d'art tu es prié de faire ton boulot correctement c'est la dernière semaine que tu
paies les débats j'étais dans les 24 lignes je peux pas tout faire ça y est ça se calme derrière
où je vire tout le monde pour revenir au débat voilà comme allait dire manuel
il ya rocco sur irc qui te demande si le téléphone rose est considéré comme une forme de prostitution
justement on va on va en parler tout à tout à l'heure par contre moi gérard j'ai un j'ai un
petit sondage donc à la question combien donneriez-vous à une pute donc 32% donnerait
2 euros 28 28% dans leurs animaux domestiques et 40% donnera leur approbation et 1% déjà donné
leurs dents et n'ont pas voulu donner leur moustache alors je vais dire une chose soit
tu étais tu étais truc de merde la sondage c'est à peu près le même sondage que le premier c'est
même plus la peine de la marque et non mais pour l'instant tu as moitié bouché aveugle dimanche tu
vas te pliancer passé dix ans tu en train de foutre ta merde aujourd'hui la semaine dernière tu faisais
du bon boulot cette semaine que tu m'aimes tu es comme fil d'art fermez vos gueules bon je sens que
moi je pense qu'il ya autant de putes au féminin qu'au masculin mais des masculins il en faut mais
c'est tout bah ouais j'y clette il ya quand même vachement plus de femmes que d'hommes qui tu tu
as qu'à voir les deux gros salope on a là au téléphone ça explique pas mal de choses quand
même je suis désolé je ne peux pas laisser passer ça gérard vous êtes comme des grosses chiennes les
filles tu vois à l'effort des pierres ça y est vous avez fini le profession mais je ne suis pas
une chienne à moi je suis une chaîne vous savez ce que vous allez faire vous allez régler votre
merde en antenne non ça y est c'est fini on va on va s'écouter roger le peu le pipeau avec du saoul
parce que c'est dur de péter et on se retrouve après en espérant que vous vous êtes calmé et on
récupère quelques tosses en espérant que ça s'est calmé ce coup là pas de problème moi je suis très
calme et je te kiffe et bah moi je t'en moi je te dis merde ça veut dire que je t'aime bien bah moi
aussi mais moi alors ok bernuda dans le bermuda est parti on accueille laura ingalls et laura ingalls
manu s'il te plaît laura ingalls
je vous préviens vous allez vous calmer maintenant donc on a toujours twingo on récupère twingo à la
main macro on l'a il est parti macro on a su son c'est un il a encore plus haut donc il voudra en
parler et savoir à suivre pour le débat bonsoir puceau pardon s'ils sont excuse moi plus on est
des puceaux et on l'athlète dans l'éclaté toujours là et on l'a toujours tu m'aimais tu m'aimes tu m'aimes
il est plus haut et on l'athlète dans l'éclaté toujours là et à la place de fleurs de lotus qui
est parti aussi on a pu le sort ok ouais ben c'est pas mal ok donc on va reprendre oui rigaud alors
pour reprendre le thème du débat il ya access sur rc qui te demande comment on désigne une
plutôt masculin un put ou une pute simplement il n'y a pas de mais quand tu t'en prends un fil
d'art tu lui dis que c'est une pute c'est un rappeur toi toi je vais t'attraper celui qui
s'amuse à dire ça parce qu'elle met tout de suite sinon il va il va retourner au standard et on va
prendre quelqu'un d'autre ok alors je peux bien que celui qui redit des conneries dégage maintenant
je peux pas je vais pas m'emmerder longtemps ouais ouais je vais dire aux clients est
alors que pensez-vous de l'amour par téléphone donc on revient à la question qui avait été
posée sur lire c'est donc voilà alors plus le sort le l'amour au téléphone je suis pas très
je suis pas très friands de ça en fait mais que pensez-vous de l'amour par téléphone oui c'est
ce que je dis l'amour par téléphone moi j'aime pas trop j'aime bien le contact de boîte une peau
sur une peau et les effets les étrances ravageuses des chaussures ouais ok ok j'ai pas fini ouais
bah vas-y
non mais attends je vois pas du tout le rapport avec
d'accord quelques tosses ouais bah moi je trouve ça là vous l'avoir par téléphone
comme le mec avant le sort du sort faut du contact non mais non mais ça suffit toi l'horreur
tous les jours il faut du contact mais non mais ça suffit toi l'horreur non mais ça suffit toi l'horreur
non mais ça suffit toi l'horreur non mais ça suffit toi l'horreur non mais ça suffit toi l'horreur
ou tout le beau, vous allez vous calmer
cigarette ?
non mais ça y est là ?
moi j'en ai plus
moi il m'en reste 10
donc je te disais, il faut du contact
sinon c'est pas bon
je pense que t'es d'accord avec moi Gérard
moi personnellement, j'irais pas m'amuser à faire ça
par téléphone
nuance, Laura
écoute Gérard, moi je suis encore vierge
et je veux faire ma virginité
avec l'homme de ma vie
donc pour moi, faire l'amour par téléphone
c'est quelque chose de vachement important
parce que ça me permet de m'extérioriser
Manu, tu m'éteins ça s'il te plaît
juste en fond
tu m'éteins ça s'il te plaît
Manu, sérieusement, c'est chiant
on peut pas bosser
Manu, tu m'éteins ça
Manu
Manu
pour ta virginité, si tu veux, je peux te prendre ce service
je voulais lui dire
pour la mort du téléphone
non mais pour l'instant, vous allez vous taire quand Manu
on arrêtera ces conneries avant que je me lève
oui, tu m'arrêtes ça s'il te plaît
ok, ok, ok
d'accord, alors Laura
ouais, donc je te disais, en fait, moi je suis encore vierge
et je voudrais faire ma virginité
avec l'homme de ma vie
je suis l'artiste, c'est bien
oh, derrière, on se calme s'il vous plaît, merci
je suis fière d'être encore vierge
à 19 ans
et en fait, j'aime bien faire l'amour par téléphone
parce que vu que je ne l'ai jamais fait
toi t'es chum, toi
ça me permet en fait de voir un petit peu ce que ça fait
et puis donc, j'aime bien, j'aime bien
je préfère parce que je t'ai dit, je ne l'ai encore jamais fait
et j'attends vraiment le bon moment
donc pour moi, par téléphone, pour l'instant
c'est ce qui me convient le mieux
ok, question
attends, 5 minutes, 5 minutes
oh, s'il te plaît, on se calme
oui, donc il y a Rocco qui te demande
est-ce qu'il peut faire l'amour par téléphone
même s'il a un téléphone bleu au lieu qu'il soit rose
de toute manière
la couleur n'a rien à voir
alors pourquoi rose ?
parce que c'est un truc
il y a des téléphones
téléphones roses, c'est des trucs
c'est des magazines
qui peuvent trouver
un téléphone, c'est pas un magazine
dans les magazines, t'as des numéros de téléphone
et tu peux faire ça par téléphone
mais pourquoi Gérard, on appelait ça des téléphones roses ?
eh ben, tu demanderas à ceux
qui s'amusent à en faire
c'est pas les téléphones rouges ou verts
non, il n'y en a pas
Twingo
Laura, tu voulais peut-être rajouter quelque chose avant ?
non, ben non, c'est pas grave
Manu, c'est la dernière
pourquoi tu me mets ça ?
tu mets ta ça, s'il te plaît, tout de suite
Twingo
oui, moi ça m'est arrivé
de me prendre des téléphones
dans des délires sadomaso
mais c'est pas
ce qu'il y a de plus agréable en fait
c'est vrai que la chaleur moite
c'est mieux que la
froideur du plastique
d'accord, Giclette ?
ouais ben
même en par téléphone, là je suis en plein dedans
et je vais t'embêter plein la tronche
bon, alors Giclette, tu dégages comme ça, t'es tranquille
terminé pour Giclette
non, non, non, c'est terminé pour toi
c'est terminé
terminé
sussons
ouais, ouais, donc moi
vu que je suis puceau et que j'ai pas eu le cran
d'aller aux putes, je suis assez friand de ça
d'accord
c'est assez cher, en plus je me suis fait couper la lime
par ma mère, quoi, 223 francs la minute
ça fait un peu cher
c'est excessif, oui
voilà
voilà
je pense que aujourd'hui
vous avez décidé de foutre votre merde
hein, Manu et Puldar
vous avez l'intention de foutre la merde
combien de temps, là, jusqu'à la fin du débat ?
ben je sais pas, ouais, encore une demi-heure
ouais, ben encore une demi-heure, ça se voit que dimanche
tu vas passer au pli en sac parce que
la semaine dernière, t'as fait un boulot correct
cette semaine tu me foutes la merde
parce que t'as Laura, tu t'amuses à me mettre
des jingles pourris, t'as l'autre
qu'on lui demande quelque chose, qu'il veut rien foutre
moi je le fais, hein
ouais, ben attends
t'as intérêt de te réveiller vite fait, toi
parce que ça va pas aller longtemps, toi
alors, je peux vous dire que ça
ceux qui s'amusent à faire ça par téléphone
c'est vraiment qu'ils ont du fric à poutre en l'air
à propos de téléphone, Gérard, sur IRC
on me demande si avec un portable, c'est possible
euh, mais ça coûte aussi cher
qu'une communication normale
c'est plus cher, en plus
ça dépend des...
et c'est accessible ?
tu peux y avoir accès, facilement, oui
pourquoi pas ?
ok
non mais ce qui est mieux, c'est d'avoir
quand c'est comme ça
quand tu veux faire du temps
avec ton téléphone rose, avec ton portable
c'est d'avoir un forfait
ouais, mais de toute manière, le forfait
tu le vides facilement avec ça
non mais le forfait rose
ouais, le forfait rose
ouais, non mais ça, je sais pas si ça existe encore
Gérard, c'est Lorraine Galf
je peux juste rajouter quelque chose
c'est que moi, en fait
on paye pas 2,23 francs la minute
c'est qu'on m'appelle directement chez moi
sur ma ligne privée
donc si ça intéresse quelqu'un
tu verras ça après en rentonne avec Fildar
ça va pas rester plus tellement
non, non, non
il y a moyen d'aller plus tard
30 minutes
pour l'instant, on continue le débat
et vous gérerez ça
après, hors antenne
alors, que pensez-vous des sex-shop dans toute la France ?
on va demander
à Pulsor
c'est quoi cette question ?
c'est pas sur la prostitution, ça ?
non, les sex-shop, c'est pas sur la prostitution
les sex-shop, non, c'est pas la prostitution
non, ça n'a rien à voir
c'est n'importe quoi
si ça te plaît pas, tu plies le bagage
tu vas voir ta copine
ta copine, ok
on va demander à Pulsor
ouais, les sex-shop, je connais pas trop ce milieu
mais, bon, enfin, j'ai pas trop d'avis, en fait
sur les sex-shop
mais j'aime bien le rap
d'accord, Laura ?
bah écoute, donc moi, comme je te disais, je suis vierge
mais enfin, ça m'est déjà arrivé d'aller dans ce genre d'endroit
mais enfin, je me déguise un petit peu
pour pas qu'on me reconnaisse
parce que je suis vraiment très physique
tu te rases
et donc, en fait, je prends certains objets, c'est vrai
et je les donne à ma mère
et je regarde un peu ce que mes parents font
ok, Tungo ?
oui
bah moi, j'ai l'occasion, oui, souvent d'y aller
soit pour m'alimenter en film
ou en gadget d'hiver, quoi
parce que mes clients sont demandeurs
j'enfonce souvent des godes aux clients
enfin, tu vois, des choses comme ça
des menottes, des choses en cuir
des cafés de porno
d'accord
ok, euh, Susson ?
Susson !
oui ?
tu te réveilles s'il te plaît
parce que là, vous commencez à dormir, ça m'énerve
ok, donc moi, j'étais routier avant
donc j'allais dans les sex shops
pour acheter des posters pour mettre dans mon camion
mais sinon, j'y allais très rarement, quoi
c'est difficile, là, c'est routier
hé, je vais te dire une chose
que pour l'instant, t'es en train de dire
n'importe quoi
de dire des conneries
donc je pense que pour toi, ça va être terminé
non, c'est vrai
non, c'est des pervers
donc je peux te dire une chose
que c'est beau
là, t'es en train de massacrer
t'es en train de massacrer
le boulot routier
ouais, c'est vrai
donc t'as intérêt de te calmer avant que je te vire
c'est génial, c'est routier
ok
alors, ceux qui sont pas contents
vous allez dégager
parce que je vais pas chercher midi à 14h maintenant
ok ?
ok
alors, tout le monde a répondu
donc, des sex shops, si ça existe
il y en a un peu partout en France
et c'est dommage que ça existe
t'en as plein sur Paris
pourquoi c'est dommage ?
non, parce que je trouve que c'est dégueulasse
parce que c'est dégueulasse
parce que les gens
ouais, mais attends
t'as les mecs qui sont là
et dès qu'ils te voient y passer
ils insistent pour que tu rentres
mais n'importe quoi
ça c'est pas de la prostitution, ça Gérard
non, mais ils insistent pour aller voir
ce que la nana est en train de faire
et les trois quarts du temps
c'est pas une prostituée, elle bosse
tu l'es, ta mère
va te faire chanter, toi, espèce de connard
ta mère, c'est désordre
putain
tu vas te faire mettre la gueule, toi, quand je parle
ou sinon tu gerbes, ok ?
eh, debout, Sandi, debout, espèce de fainéant, toi
viens avec l'où ?
allez hop, dégage-moi celui-là
pourquoi t'es tout mou, toi ?
t'as rien fait, t'as rien fait ?
c'est que...
donc, euh...
alors, on va...
allez, paumez, Gérard, c'est plus bien
non, parce qu'il y en a qui s'amusent à dire des conneries
je sens que le débat, il va être terminé vite fait
Gérard, on est...
pourquoi t'es tout mou, putain ?
depuis minuit, il se passe rien ?
on est presque mille sur l'IRC, là
oh la la, la catastrophe !
on en a perdu énormément
ouais
la catastrophe
bah ouais, mais euh...
tant pis, hein
je veux dire, je suis désolé, on peut plus faire de débats, ça sert à rien, c'est tout
eh bah, dans ce cas-là, on arrête, je pose même pas la dixième question, et puis c'est tout
si, regarde, j'ai un petit sondage, peut-être, ça va t'aider
bah oui
donc, à la question : qu'aimez-vous chez une prostituée ?
58% des gens aiment bien
25% des gens aiment beaucoup
et 100% aiment le balcon avec les drapeaux, fun radio, je comprends pas, non
tu vois, c'est la dernière fois que tu t'amuses à balancer des conneries comme ça
parce que sinon, je vais t'éclater ta gueule à bout
c'est pas moi, c'est toi qui balance des saloperies
mais non !
alors, je te préviens, c'est la dernière fois
la semaine prochaine, tu vas dégager
et je te le dis tout de suite
la semaine prochaine, je veux pas de toi
Maitre Olivier
alors, y a-t-il autant de prostituées et d'homo dans les autres pays que la France ?
on va demander un plus de sort pour terminer le débat
euh... oui, bah, la France n'a pas le... comment dirais-je...
le truc, comment... je trouve pas le mot
l'ethnopole
voilà, bah...
en Allemagne, y avait le Titi récemment
l'ethnopole... la France n'a pas l'ethnopole
et les autres pays, pourquoi pas ?
Manu, c'est la dernière fois que tu dis des conneries aussi, pourquoi ?
c'est que le pote a gégé
et il va en camion, il l'amène en Allemagne, alors un peu de respect, quand même
alors, Laura ?
ouais, bah, tu sais, moi, au départ, je suis originaire des Philippines
et en fait, on m'a demandé... enfin, je me suis fait rapatrier en France
parce qu'au début, on voulait me mettre sur le trottoir
donc j'ai réussi à m'en sortir malgré tout
de toute manière, la question, c'est... y a-t-il autant de prostituées et d'homo ?
dans les autres pays que la France ?
non, je pense pas
je te parle des Philippines
je pense pas
au Philippines...
Pildar, tu fermes ta gueule et c'est tout
ouais, je t'écoute, Laura
il faudrait que Pildar, il la ferme un peu, ça m'énerve
non, mais on t'écoute, vas-y
ouais, donc je te dis, aux Philippines, ça cartonne, mais quelque chose de grave
parce que t'as tout, t'as même des gosses
donc t'as des gosses, t'as des homos, t'as des vieilles, t'as des grosses
t'as rien, t'as tout, quoi
mais ça, de toute manière, faut dire que
dans ces pays-là, c'est...
en fin de compte, c'est des personnes qui viennent les chercher
qui les pensent à se prostituer
c'est des pays sous-développés, là-bas
donc en fait, pour eux, y a que le cul
c'est parce que c'est des pays pauvres, en fait
voilà, c'est ça
y a une question, IRC, Rigaud, non ?
non, y a juste Arnett qui demande à Pildar de le rappeler
non, non, c'est plus la peine
le débat, il va être terminé, alors c'est pas la peine
t'as tes mots
alors, Twingo
déjà, je vois pas le rapport avec les homos, excuse-moi
mais y a aucun rapport avec les homos et les prostituées
donc tu pourrais reformuler ta question
ouais
alors, y a-t-il autant de prostituées et d'homos dans les autres pays que la France ?
oui, ben non, je te dis qu'il y a aucun rapport avec les homos, quoi
ça me déplie
ouais, on parle pas des homos, on parle de la prostitution, là
voilà
tu peux être homo sans être prostituée
voilà
donc, c'est ta réponse ?
non, non, moi je te dis que c'est pareil, quoi
y en a partout, hein
et à ton avis, Gérard
dans les pays, y a le plus de prostituées ?
euh, c'est dans les pays étrangers, comme...
mais ça, on en a parlé avec Laura tout à l'heure
on l'a dit, c'est dans... c'est les...
c'est les adultes qui vont chercher les mômes pour les prost...
pour les mettre à la prostitution
connard, on va te faire péter l'anus, du con
ouais, ouais, ça c'est vrai aussi
moi, dans la place
Fildard, tu vas essayer de me choper tout de suite celui-là ?
== Le débat sur les catastrophes naturelles ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Et pas d'insultes de Gérard !
Et voilà donc bonsoir à tous, 0h41 donc vous pouvez toujours nous appeler pour les débats du jeudi
donc au 0800 308 5000 et 0870 5000 toujours l'IRC www.funradio.fr
Oui tout à fait 1782,6 connectés quand même
C'est bien
Et donc n'essayez pas d'appeler sur le Minitel, il ne fonctionne pas
Donc on va remercier Tony de l'IRC pour ce que j'avais demandé à Rigaud qui a été fait
Donc je remercie Tony en passant
Et moi Gérard, s'il te plaît, avant de commencer j'ai une dédicace à faire, dédicace à Sandy
Et toi la grosse, debout espèce de peignasse là !
Tu vois pas que les autres s'amusent là ? Allez debout !
Viens avec nous !
C'est bon Magui, c'est bon ! C'est bon on va commencer, on va accueillir Gemma Lopez, 21 ans de Valence, 98.8 !
Ouais !
Bourdon, 20 ans Paris, 101.9 !
Ouais mais restez du soir Gérard !
Bonsoir !
Bonsoir !
Bonsoir !
Suisse la moi, 23 ans, Damien, on écoute Fun Radio, 91.8 !
Quand tu veux Gérard !
Astico, tu commences pas s'il te plaît, merci !
Astico, 18 ans, Pontiby, on écoute Fun Radio sur 94.1 !
Bonsoir Gérard !
Prout, 25 ans, Toulouse, 105.9 !
Bonsoir Gérard !
Et Tekel, d'Arcachon, 22 ans, on écoute Fun Radio sur 92...
Salut Gégé !
Sur 92, voilà, terminé !
Donc on attaque sur les catastrophes naturelles
Alors, la première question : comment se déclenche une tempête, on va demander à Astico
Tant tu peux passer à quelqu'un d'autre parce que là je suis en train de mettre mon tampon
et puis...
D'accord, alors si ça commence comme ça, ça va pas aller, alors on va prendre Suisse
moi là !
Oui, comment ça commence une tempête ?
Ouais !
Comment se déclenche une tempête ?
Je sais pas, t'appuies sur un interrupteur, ou je sais pas...
Euh non !
Qui c'est qui veut répondre ?
C'est Bourdon, c'est Bourdon !
Ouais bah vas-y !
Alors je fais des études de météorologie, et alors il faut savoir qu'il y a des nuages,
alors t'as des cumulonimbus et des cumulohannus, ok, c'est deux types de nuages bien différents,
et quand t'as le cumulopinus qui rentre dans le cumulohannus, ça fait une différence de
température et ça fait un orage forcément, même une tempête !
D'accord, mais tu...
Oh, Bourdon !
Oui ?
Tu parles bien devant ton micro, tu t'éloignes pas quand tu parles, ok ?
Ouais mais ça c'est à cause des elfes !
J'ai mal aux fesses !
Ouais bah en fait les tempêtes c'est à cause des courants d'air quoi, parce que parfois
ça fait du vent, et quand il y a beaucoup de vent comme ça, et bah ça fait beaucoup
de vent et ça peut faire des tempêtes quoi.
D'accord !
Et parfois ça...
Ouais mais dans ces cas-là tu fermes la fenêtre et puis c'est bon !
Ouais mais il faut le dire aux gens qu'ils ferment la fenêtre, mais si jamais il y
a beaucoup de courants d'air dans le monde et ça fait des tempêtes quoi...
Bah fermez les fenêtres alors, fermez les fenêtres !
Ouais il faut fermer les fenêtres en fait quoi !
Un sticot, un sticot c'est le top !
Ça peut être dangereux quoi !
Un sticot !
Ok donc j'ai fini de le mettre, donc la question c'est comment se déclenche une tempête
c'est ça ?
Ouais ! Parce que je ne vais pas m'amuser à les répéter alors vous écoutez bien
quand je pose les questions hein !
D'accord Gérard !
Ouais bah je l'ai bien écouté hein la preuve !
Alors vas-y !
Alors bah une tempête c'est très simple, c'est dû à une différence de température,
c'est-à-dire que quand il fait chaud chez toi tu ouvres la fenêtre pour que l'air
rentre, et quand il fait froid tu la refermes, et quand il fait vraiment très très chaud
tu ouvres les deux et là ça fait un courant d'air, et là il y a un choc thermique et
la tempête arrive.
Good !
Moi je crois que c'est par rapport à l'atmosphère quoi !
Eh celui qui s'amuse à faire des conneries derrière va se calmer parce qu'il va pas
rester longtemps celui-là !
Ouais !
Alors Prout pour continuer ?
Bah moi je pense que c'est l'atmosphère avec le vent tout ça quoi !
Bah voilà quoi sinon moi je sais pas trop donc je réponds ce que je sais quoi !
D'accord ! T'es quelle ?
Bah moi je pense qu'au contraire une tempête est déclenchée par une voluote !
Oh tu te calmes derrière s'il te plaît merci !
Si tu m'as parlé vous avez déjà parlé donc c'est bon hein !
Eh j'ai mal au peintre, j'ai mal au peintre, j'ai mal au peintre !
Bourdon là vous allez vous calmer s'il vous plaît hein !
Au contraire c'est déclenché par une violente perturbation atmosphérique et le vent peut
souffler à... ce que je veux savoir c'est que le vent il peut souffler de 1802 km/h !
Ok ! Moi j'ai pu voir à peu près sur un dictionnaire donc c'est une violente perturbation atmosphérique
et le vent peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
Et le vent il peut souffler à...
== Le débat sur les moyens de communication ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Et voilà, toujours la suite du débat de Gérard, 1h54 et on vient s'écouter, au début c'était les mouettes de Boulogne avec la chaise dans les chaussettes et là c'était...
Je sais pas, c'est toi qui avais le titre Gérard ?
Bah moi j'ai la mouette de Boulogne avec la chaise dans les chaussettes et là j'ai pas le deuxième.
Mais ça c'est la suite, c'est les colons de Neuilly avec ce que tu veux autour...
Avec du caca sur les ailes qui pue.
Ok, donc vous pouvez toujours nous joindre au 0800 75 000 et 0800 308 5000, toujours Rigo sur l'IRC www.funradio.
On va passer des petits bonjours, aujourd'hui assez, Compi Music, Big Up, Super Ouragan, Davy One, Jarvis Cooker, Torkane, The We, Oxide, Junkhead et compagnie.
Et on va saluer aussi les gens de Belgique.
Et Coton-Tige !
Il y en a un qui s'appelle Coton-Tige.
Et on va saluer aussi quand même les gens de Belgique.
Et Yanti !
Yanti, pardon.
Qui nous écoutent.
Donc on va attaquer le deuxième débat, les moyens de communication.
Donc on va attendre que M. Fildar se réveille.
C'est arrivé Gérard !
Parce que là pour l'instant j'ai pas de nom à vous annoncer.
Donc si ça y est c'est fait.
Ok, alors on va accueillir Karambar, 23 ans d'Angoulême.
Bonsoir Paris, bonsoir Christophe Coutant.
Comment ?
Non, t'énerves pas Gérard.
Non mais quand on dit bonsoir, tu dis bonsoir.
D'accord ?
Bonsoir, oui.
Alors Bénur, 27 ans Paris, on écoute...
Non, 21 ans, pas 27, excuse-moi, 21 ans.
Oui, bonsoir Gégé, bonsoir Adé, bonsoir la France.
Bonsoir.
Bonsoir.
On appelle un accueil...
Pustule !
Pustule !
Pustule, 27 ans d'Onis, où qu'on peut écouter Fun Radio sur 107.2.
Bonsoir Gérard, bonsoir les garçons.
Bonsoir Pustule.
Bonsoir.
Bonsoir Adé.
Je parie qu'elle est dans le coup elle aussi.
Ah ouais ?
Tourniquet !
Tourniquet, 26 ans Damien.
Oui, bonsoir.
Eh oh !
Ah merde, c'est de Tourniquet Gérard.
Non, non, non.
J'ai un Bourriquet et un Tourniquet.
C'est Bourriquet, moi.
Non, mais attends, pour l'instant, je ne t'ai pas appelé.
Alors, on dit bonsoir Tourniquet.
Bonsoir Tourniquet.
Bonsoir Gérard.
Bonsoir.
Bonsoir.
Bourriquet, maintenant.
Oui, bonsoir Gérard, bonsoir...
19 ans d'Orléans.
Salut, bonsoir Fildard, bonsoir Ego.
Salut Bourriquet.
Bonsoir à tous.
Bonsoir Bourriquet.
Oh, ça y est, ça y est.
Bonsoir à Gaëlle, qui nous écoute aussi chez elle.
Bonsoir à Gélie, s'il vous plaît.
Comment ?
Qui ?
Gaëlle.
Non, mais attends, c'est bien de dire des conneries comme ça.
Ah, ok.
Proute apparente de Versailles.
Poutre.
Salut Gérard, c'est dommage que vous ne m'ayez pas appelé le débat précédent.
J'avais des choses marrantes, là, ça va être tourette, je vous le dis direct.
C'est bon, tu peux te lâcher.
C'est reconnu.
Non, mais ça y est, vous vous calmez, merci.
On connaît les voix.
Non, c'est moi qui commande, pour l'instant, ce n'est pas vous.
Non, c'est bon.
Ok, alors, le débat, c'est moyen de communiquer.
Donc, quel moyen de communication possédez-vous ?
On va demander à Carmbar.
Les hormones.
Hein ?
Les hormones, les papillons, tout ça, voilà.
Ah, ça va pour toi, c'est un moyen de communication, les hormones ?
Oui, avec les pets que je lâche, des fois, ça fait fuir mes copains et tout,
et ils comprennent tout de suite que j'essaie de communiquer.
D'accord.
C'est quand tu veux qu'ils s'en aillent de chez toi, c'est ça ?
Voilà.
Bien sûr.
Moi, j'ai la bouche, comme tout le monde, pour communiquer.
D'accord.
J'ai aussi un portable.
D'ailleurs, j'ai ton numéro.
Ouais.
Benioir, tu fais gaffe, parce que tout à l'heure, tu as...
C'est pas moi, c'est pas moi, c'est pas moi.
C'est qui qui vient de dire qu'il y avait mon numéro ?
Volo.
Hein ?
Jean-Luc.
Jean-Luc !
Jean-Luc !
Jean-Luc !
Pussule.
Oui ?
Moi, je possède des phéromones, qui sont des hormones sexuelles, voilà.
Et aussi un téléphone.
Pas de marque.
Comme moi, cochonne.
Ton Ike ?
Moi, j'ai un portable.
Ouais, c'est tout ?
Ouais, c'est tout, mais c'est déjà pas mal, tu sais.
Ouais, bon, Ike ?
Moi, j'ai un portable, j'ai un tatou.
J'ai une Sibi.
Hein ?
Et voilà, j'ai du papier, du stylo, j'ai tout, quoi.
D'accord.
Question.
Je vais laisser un petit sondage, vite fait.
Par le biais de quel appareil préférez-vous communiquer ?
96% par la bite, 15% par la langue, 45% par portable, 25% par téléphone, 28% par Game Boy
et les autres consoles de jeux vidéo.
Et pour toute l'apparente ?
Ouais, moi, j'ai un PC.
C'est Jean Voyageur qui fait caca sur les balcons.
Non, attends, je vois pas.
Regarde bien, regarde bien.
Regarde bien sur ta terrasse.
Ouais, bah, fais gaffe, toi, parce que tu pourras peut-être dégager avant la fin du débat.
C'est bien possible.
On dégage jamais, lui.
Ouais, non, mais c'est ce qu'on verra.
Parce que c'est pas lui qui commande, ça sera moi.
Donc, qu'est-ce que je voulais dire d'autre ?
Quel moyen de communication posséder ?
Moi, j'ai simplement un portable.
Qu'est-ce que t'as, toi, Gérard ?
Moi, j'ai simplement un tatou.
Ça me suffit.
Largement.
Non, t'as un portable.
Un tatou.
Les hémorroïdes.
Le portable et le tatou, voilà.
C'est tout.
Et quand même, Gérard, tous les gens de l'IRC reconnaissent qu'ils utilisent Internet pour communiquer.
Ouais, mais ça, justement...
Internet.
Voilà.
Donc, pensez-vous que l'Internet a beaucoup changé de nos jours ?
On va demander à 40 bars.
Comme dit Tony, pourquoi moi ?
Alors, 40 bars...
Ouais, mais ouais, Internet, bien sûr que ça m'a changé ma vie.
Bien sûr que je fais mes courses par Internet.
Plein de trucs par Internet, bien sûr, c'est génial.
Internet par vous, Internet.
Merci, Internet.
Non, mais attends, parce que tu vois, là, ce que tu dis, de faire ses courses par Internet...
Moi, je vais te dire une chose, hier, ils m'ont appelé pour ça, et justement, j'avais vu le reportage là-dessus,
comme quoi tu pouvais acheter des vaches et tout ça par le site, par le moyen de l'Internet.
Attends, toi, qui c'est qui vient de sortir ça ?
Je sais pas, on va chercher.
C'est bon, on gère.
Continue, continue.
Bénure.
Non, mais continue, ce que t'es en train de dire, Gégésie, sur ce que t'avais à la télé.
Non, parce que sur...
Parce qu'on parle de l'Internet, donc c'est vrai que tu peux acheter beaucoup de choses.
Qu'est-ce que tu peux acheter, par exemple, sur Internet ?
Ben, tu peux faire tes courses, tu peux acheter des vaches, des bagnoles, un appartement, tout, tout ce que tu peux trouver.
Avant tout, carrément ?
Ben, ce que t'as besoin dessus.
D'accord, donc si tu veux, tu passes une annonce, tu tapotes, là, ouais, je cherche une vache, des années 80, d'occasion.
Même des CD, je pense que tu peux trouver ça par le bien de l'Internet, maintenant.
Ah, carrément.
Et puis, l'Edric et Martin ?
Bénure.
C'est Bénure, et je voulais dire que, comme on dit, ouais, ça a bien changé.
C'était plus que c'était, à l'époque, au bon vieux temps, on faisait des Pac-Man, maintenant, c'est Internet, c'est autre chose.
Ben non, mais pour toi, est-ce que...
Et je pense que toi, t'en es resté quand même un peu à l'époque du Pac-Man, en général, quand même, non ?
N'importe quoi, toi.
Quand même, quand même.
Pistule.
Ouais, moi, j'ai pas Internet, je suis pas in, par contre, j'ai une console ségale.
Et là, c'est pour le Larsen.
Merci pour le son.
Tournique.
Ouais, ben, moi, j'ai Internet, et depuis le temps que je l'ai, ben, je bouge plus de chez moi.
Et tu peux préciser ?
Ben oui, je fais mes courses, au lieu d'aller au supermarché, je vais sur Internet.
Je veux des cigarettes, et ben, je vais sur Internet.
Je veux tout ce que je veux, je le prends sur Internet, et je bouge plus de chez moi.
Une bille.
Tu prends ton pied sur Internet, aussi, non ?
Euh, ça dépend avec qui, ouais.
En général, ouais, parce que je loue les services...
Tu prends ton pied sur Internet ?
De Rigaud, de Rigaud.
Tu prends ton...
Oh là !
Tu prends ton pied ?
Oh, Rigaud, il s'en fait pas mal, hein, le Rigaud, là.
Alors, euh, ça y est, bon, bourriqué.
Ça crache cher.
Oh !
On se calme.
On reste, on reste tranquille.
Oh !
On ne touche pas que des boutons, hein.
Tu ne caches pas derrière ton écran.
Bourriqué.
Oui, bonsoir à tous.
Oui, donc, c'est vrai, ça a bien changé, l'Internet.
Moi, je me souviens encore du temps où ça s'appelait Intermarché.
J'ai compliqué de faire mes courses, et puis, j'ai dragué la caissière.
Bourriqué.
Bourriqué.
Attendez, hé, bourriqué.
Ouais.
Ouais.
Ouais.
T'as bien compris le sens de la question ?
Ah, bah, ouais, aussi bien que toi.
Non, mais je ne crois pas, hein.
Ok.
T'avais qu'à écouter ce que j'ai dit, déjà, tout à l'heure.
D'accord.
Prout apparente.
Oh !
Putre !
Bon, alors, qui c'est qui a un portable et qui s'amuse avec de la flotte, là, depuis
tout à l'heure ?
Ouais, parce que ça me donne envie de pisser.
C'est moi, je suis dans ma main, je veux faire un jardin secret.
Hé, ça commence à bien faire, vos conneries, maintenant.
Je vais venir me masser le dos, là.
Ah, il y en a un qui a coupé.
C'est pas moi.
Manu.
Donc, prout apparente.
Je kiffe aussi les boom blasters qui ont...
Quand tu baisses les basses, c'est un son pourri.
Et quand tu montes, c'est carrément une discothèque.
N'importe quoi.
Oh, là, là, il y a des portes.
Hé, qui c'est ?
Oh, là, là, on t'appelle de partout, là.
Oh, Manu !
C'est pas moi qui ai pris les auditeurs, c'est Fildar.
Moi, je ne comprends rien à ce qui se passe.
Pour en revenir au débat et à Internet, il y a Delight qui dit qu'Internet, ça a bien
changé.
Il y a même des blaireaux comme toi qui savent ce que c'est.
Si je suis un blaireau, ben lui, pourquoi il s'amuse à tapoter pour avoir des notes
astronomiques ? Parce qu'il n'y a pas que l'Internet qui fonctionne aussi de nos jours,
qui peut changer.
Il y a aussi le bien du Minitel, mais ça coûte plus cher que l'Internet, je crois.
Donc, le Minitel, ça coûte cher et l'Internet, c'est pareil, ça doit coûter aussi cher
parce que déjà, il faut que tu t'abannes là-dessus.
C'est faux.
Non ?
C'est faux.
Non, ça m'étonnerait.
C'est faux.
Ça m'étonnerait, moi, je te dis.
T'as cherché dans le dico si ça voulait dire Internet ou pas ?
Non.
Pourquoi ?
Non, parce que j'ai pas pensé à regarder et Internet, ça veut dire ce que ça veut
dire.
Et toi, celui qui me dit abrège, il va se calmer.
Fildard, tu as commencé par te calmer parce que tu m'as trouvé des auditeurs qui sont
nazes.
Oui, c'est vrai.
Attends, tu crois que c'est facile en 5 minutes de trouver des gens potables ?
Gérard, d'ailleurs, il y a Bourriquet qui est parti et on accueille Je Pus de l'Arrêt.
Oui, bonsoir.
C'est l'invité mystère.
Donc, c'est Je Pus de l'Arrêt à la place de Bourriquet.
Appelle l'invité mystère.
Bonsoir.
Gérard, bonsoir à tous.
Salut, à Tulipe.
Salut.
Donc, alors, je te répète la question.
D'accord.
Pensez-vous que l'Internet a changé beaucoup de nos jours ?
Ouais, c'est vrai que ça a pas mal.
Ça a pas mal.
Oh, mais c'est pas un bordel, là !
Manu, tu vas te prendre une gaufre, hein !
À propos d'Internet, il y a Ouragan sur l'IRC qui dit que le meilleur moyen de communiquer
maintenant, c'est le site gg-mois-le-cul.com.
N'importe quoi.
N'importe quoi, ce con.
Alors, Je Pus de l'Arrêt, donc, pour toi...
Ouais, ouais, ça a pas mal évolué.
J'ai déjà cliqué sur Mulo hier soir.
J'ai été d'ailleurs sur ton site de www.tantous-de-surenne.fr.
Alors, Je Pus de l'Arrêt, tu dégages à ton mère, tu dégages.
Voilà, comme ça, ça va être vite fait, Je Pus de l'Arrêt.
C'est un nouveau, celui-là.
Je me disais bien que tu Pus de l'Arrêt.
C'est un nouveau, celui-là.
C'est pas un habitué.
Merci pour les Larsen, encore !
Eh ben, c'est pas la cateaube !
Possédez-vous un portable, un tatou pour votre travail ?
On va demander à 40 barres.
Non, ni l'un ni l'autre, et j'aimerais bien que tu m'en offres un jour.
Non, ben, ça, tu vois, tu fais comme tu viens de faire.
Tu demandes à ta pelle quand il y a la possibilité d'en gagner.
Tu téléphones, tu fais 0875 000 et...
Non, ben, tu n'as qu'à regarder Fun TV, il y en a gagné cette semaine.
Voilà.
Donc, pour toi...
Voilà, cateaube !
Putain, il commence à me penser les couilles, ce espèce de petit con, là.
C'est au standard, Ben Hur.
Eh, connard !
Alors, Ben Hur.
Voilà, cateaube !
C'est le gamin qui a l'habitué, là.
Ben Hur !
Oui, je suis là. Non, mais il a raison, le gamin.
Ben Hur, tu réponds correctement, tu dégages !
Ouais, ben, je voulais te dire que j'ai un portable,
et si tu veux le numéro pour marceler, là, ce quart, tu peux toujours rêver.
Ben, toi aussi, tu peux rêver.
Mais je t'ai redemandé.
Non, ben, alors, tant mieux.
Mais tu peux me le filer, quand même.
Non, ben, là, tu iras te faire sodomiser.
Gérard, j'ai calmé, je pue de l'arrêt.
Non, non, non, je t'ai dit de le dégager.
Non, mais moi, je veux plus le savoir, moi.
Quand je te dis de virer la personne, tu la vires.
C'est pas la peine de le calmer, tu le vires.
C'est tout, c'est tout.
Ça va vite avec moi.
Il est propre, il sent bon de l'arrêt, maintenant.
Alors, Pissul.
Ouais, moi, j'ai ni tatoune ni portable,
et je veux bien le numéro de portable de Ben Hur.
0-1-42-3-1, là.
Euh, hé, c'est...
Oh !
92-4-6-9.
92, c'est bien.
Non, c'est bon, là, Manu.
Tu peux me gérer, là ?
Il y en a deux, là, qui sont en train de s'échanger des numéros.
Oh, mince.
À l'antenne, merde, Manu.
C'est nul.
C'est naze.
0-1-43.
Oh, putain.
Je suis là, hein.
Euh, Tourniquet.
Oui.
Euh, oui, ben, moi, je m'en sers énormément
parce qu'en fait, je suis commerciale.
Et, euh, en fait, donc, je vends des portables.
Ouais.
Et je m'en sers énormément
parce que j'ai des clés...
J'ai de la clientèle qui m'appelle régulièrement
pour, justement, acheter des portables.
Bon, attends, parce que là, ça commence...
C'est lui qui est dans sa baignoire, là.
C'est qui, là, qui est dans sa baignoire ?
C'est moi, c'est moi.
C'est qui ?
Moi, moi, c'est Poutre Apparente.
Ah, mais attends, je voulais dire une chose,
que peut-être que Poutre Apparente,
il est dans sa baignoire,
mais lui, au moins, il se lave, quoi.
Attends, moi, je t'en viens, d'accord ?
C'est qui ?
C'était Pépito.
Eh, putain, mais, eh.
Manu.
Manu, je sais pas par où il passe,
je sais pas ce que Fildar a sélectionné.
J'ai la proute.
Proute Apparente.
Proute Apparente qui répond à la question
et je sens qu'on va poser une question,
on va mettre un disque
et on va changer d'auditeur.
Ah, carrément.
À la place de, je sais plus,
je suis plus de l'arrêt,
on accueille Viens dans mon trou.
Non, mais t'as fait c'est quoi ?
Bonsoir.
Bonsoir.
Bonsoir.
Bonsoir.
Bonsoir à tous.
Salut.
Bonsoir.
Bonsoir.
Bonsoir à tous les auditeurs de fun.
Répète-la, s'il te plaît.
Proute Apparente.
Répète la question.
Non, non, attends,
tu me fous de ma gueule ou quoi ?
Pour calmer le débat,
Manu, sur IRC,
il y a Arnaud qui te demande de le rappeler.
Non, non.
Dès que j'ai une ligne.
Ouais, dès que tu viens,
le nouveau qui vient d'arriver.
Alors, Proute Apparente.
Ouais, je te copie,
c'est pas un habitué, lui.
Ah, ouais, ouais.
Non, mais répète-la moi
parce que j'étais au standard,
s'il te plaît,
parce que j'ai du Larsen,
c'est vrai en plus.
Possédez-vous un portable
ou un tatou pour votre travail ?
Non, non, non, non.
Je travaille pas,
je suis au chômage.
D'accord.
J'ai des émergements, en fait.
Eh, Viens dans mon trou.
Faut pas trop le dire.
Ouais, ouais, ouais.
Faut pas trop le dire
parce que je suis dans la balette.
Pas tous en même temps, s'il vous plaît.
Pas tous en même temps.
Allô ?
Pas tous en même temps, merci.
Ouais, Viens dans mon trou.
Ouais, moi, j'ai un portable,
j'ai un tatou
et j'ai deux pots de yaourt
avec une ficelle.
D'accord.
Celui qui s'amuse à faire du mort s'arrête.
Pourtant, c'est le débat.
Attends.
Celui qui fait du mort s'arrête.
Attends, j'essaye de te rappeler, là.
Grosse merde.
Ta femme, elle pue, là.
Bon, alors...
Ça y est, ça y est.
Le disque.
Le disque.
Le disque, ouais.
Ben, pose la question, moi, Gérard.
Non, non, mais de toute manière,
on va changer, parce que là,
ça va pas être...
Tu peux poser...
On va changer tout le monde.
Tu peux poser la question
pour les futurs auditeurs
qui écoutent déjà la question de chez eux.
Alors, pensez-vous que le phoque
est un meilleur moyen de communication
que le mort, c'est ça ?
Ah, ben, tu vois, on y revient.
Et on se retrouve juste après.
Donc, vous pouvez toujours nous appeler
au 0800 308 5000
et 0800 75 000.
Et toujours, il y a Rigo
qui vous attend sur l'IRC www.fanradio.
Et on s'écoute...
Un petit cadeau.
C'est un petit remix.
Donc, bonsoir à Rigo.
Et voilà, donc, vous pouvez toujours
nous appeler au 0...
Qui c'est qui s'amuse avec ça, là,
depuis tout à l'heure ?
Manu, Manu !
Y a personne honneur au standard ?
Si.
C'est bizarre, parce que là,
ça s'arrête, là, comme par hasard, Manu.
Donc, qui c'est qui répond déjà, là ?
Je dis, il était pour le remix.
Alors, si t'es pas content,
tu restes chez toi, toi.
C'est Jean-Luc.
Jean-Luc !
Alors, tu dégages,
tu peux rester chez toi,
ça me perd des vacances.
Donc, vous pouvez toujours nous appeler
au 0800-308-5000
et 0870-5000
et toujours
www.funradio.fr
ce .fr
funradio sur l'IRC.
Donc, Rigo, vous êtes...
Roger !
Vous fermez vos gueules, là,
ou quoi, quand on parle ?
Gérard, à propos de ta question,
il y a quelqu'un qui répondait
tout à l'heure à ta question.
Tu vas la reposer, peut-être,
pour les gens qui n'ont pas entendu.
Euh...
Laquelle ?
La dernière.
Que pensez-vous
que le FOC
est un meilleur moyen
de communication
que le...
le morse ?
Celui qui s'amuse à ça,
comment s'amuse...
Justement, il y a
un panel sur l'IRC
qui me demande la différence
entre l'invité mystère
et un FOC.
Il me dit que...
Il me dit qu'il y en a un
qui a des moustaches
qui sent le poisson
et qui est énorme
et l'autre,
c'est un mammifère marin.
Non, ça, c'est
les auditeurs, Gérard.
Bon, Manu,
t'essaies de me trouver
qui c'est qui s'amuse à ça.
Ça y est, j'ai trouvé.
Je vais aller le kiquer
en live, tout à l'heure.
Il y a l'un des deux
qui s'est jonglé
avec un ballon, aussi.
Alors, j'avais oublié.
J'ai un petit truc
à vous dire.
Sur la première question,
quel moyen d'économisation
procédez-vous ?
Donc, il y a 40% des Français
qui n'en veulent pas chez eux.
20% de Français
ne savent pas ce que c'est.
18% des Français
n'ont pas compris la question.
Et 15% des Français
aiment le commus clinique.
Alors, ça, je vois
pas du tout ce que c'est.
Le commus clinique.
Le commus clinique.
Le commus clinique.
Alors, on récupère 40 barres.
Ouais, bonsoir.
Ouais, bonsoir.
Moros.
Bonsoir, monsieur.
Non, non, c'est...
Vous fermez vos gueules !
Et pas tous en même temps,
s'il vous plaît.
Merci.
Ouros, il s'appelle.
Ouais, c'est Ouros.
Ouais.
C'est Yougoslav.
Moros.
Moros.
Oui, je suis là, bonsoir.
Bonsoir.
C'est un nom de pédé, ça.
Tomate.
Eh, je te permets pas.
Oh, mais parlez plus fort
devant les combinés
quand je vous...
Parlez pas tous en même temps,
surtout, parce qu'on n'y comprend rien, sinon.
Alors, Tomate.
Salut, Gérard.
Salut.
Luciole.
Salut, Gérard.
Salut.
Blanche, suis-moi la...
La caverne.
La caverne.
Salut, Gérard.
Salut.
Et je pue la pisse.
Ouais, je sais pas, ça, c'est moi.
Non, c'est...
Non, c'est toi.
Je ne sais pas lire, pardon.
Ouais, ouais.
T'as compris,
y'a que moi qui ai un nom normal, quoi.
Ouais.
À part des noms des autres
qui prennent des noms de...
Non, non.
Vous êtes habitués,
vous prenez vos noms, merde.
Non, mais attends, Gérard.
Ouais, je te copie.
Roger.
Ouais, bref, go, t'as taillé.
Oh, tu t'es fait un peu, là, toi !
Bac de verre gras.
Bac de verre gras à 300 mètres.
S'il vous plaît, s'il vous plaît,
vous gérez un peu, là.
Manu, tu gères un petit peu, là.
Pose ta...
Pose ta question et on enchaîne, quoi.
Eh, mais merde, tu vas...
Je vais pas la répéter 50 fois,
tu vas calmer tes...
Demande aux gens, à part un, alors.
Alors, 40 barres.
Oui, au début, ouais,
avant que je le quittais.
D'accord.
Tu sais ce qu'il aime bien ?
Qu'est-ce que c'est que ce salope, là ?
Tu sais ce qu'il aime bien ?
Je te jure, je sais pas.
Il faut qu'il y ait dans le porte-monnaie.
Tu sais ce qu'il aime bien ?
Non.
Non, non, non, non, ça, non.
40 barres.
Oui, tu peux répéter,
parce qu'il y a quelque chose
qu'il n'a pas entendu.
Oh, non, non, non, mais vous commencez
à me les casser à 2h14, là, hein ?
Alors, pensez-vous que l'époque
est un meilleur moyen de communication
que le morse ?
Ben, ouais.
Et celui qui s'est mis à ça, arrête, eux !
Manu !
Je vois pas la lumière verte.
Bon, Gérard, pour revenir au débat,
il y a D-Light qui dit qu'on utilise le morse
parce que le phoque est en voie de disparition
et qu'on n'a plus le droit de l'utiliser.
Moi, je pense, ouais.
Moi, enfin...
Ouais, je suis d'accord, ouais.
40 barres, toi ?
Je vais dire ouais, encore.
D'accord, ben, toi, 40 barres,
ça va être...
J'ai un manque d'inspiration,
j'ai ce soir, je sais pas ce qu'il...
Ouais, ben, dans ces cas-là,
si t'es malade, tu dégages.
Mais non, ça va bien.
T'as qu'à te liser, comme moi,
drogue-toi.
Ouroz !
Ouais, c'est Ouroz.
Ben, je voulais dire,
tu parles des phoques,
je crois qu'on devrait appeler Brigitte Bardot,
y'a que ça à faire,
parce que les phoques,
comme on l'a déjà dit,
c'est une espèce protégée.
Et je pense que l'armée,
parce que c'est l'armée
qui utilise le morse et le phoque,
devrait pas se servir de ce genre de choses
et je voulais savoir
si toi, c'est vrai que t'étais spécialiste
non pas en phoque, mais en phoque.
Non, pas du tout.
D'accord.
Une question IRC.
Oui, sur IRC,
y'a Superouragan qui m'explique
qu'on utilise le morse
parce que le TKL est trop lourd à porter.
N'importe quoi, lui.
Euh, Tomate.
Ben, il est monté sur moi !
Fildar, fais gaffe à ce...
Mais c'est pas moi !
Fais gaffe, Fildar.
Fais gaffe à toi, Fildar.
Fildar, la DAT, merde.
Tomate !
Je sais pas,
parce qu'il dit que c'est ses amis qu'à lui,
il faut pas que je t'effraie
avec ses amis, tout part.
Au début, c'est...
Eh, ça commence à bien faire !
Qu'est-ce qu'il aime bien ?
Non !
J'ai coupé.
Tomate !
Tomate, Tomate !
Voilà, je sens que la conclusion
va se faire vite.
Non, non, Tomate, Tomate.
Gérard, parle bien dans ton micro, aussi.
Tomate !
Oui, je te réponds, regarde.
On utilise le morse
parce qu'ils arrivent mieux à voler
que les pigeons voyageurs.
Non, mais ça, je vois...
Non, mais le morse,
c'était un moyen de communication avant.
Oui, mais le pigeon voyageur aussi,
les morses arrivent moins bien à voler
que les pigeons, donc...
Ouais, mais le morse,
il est quand même long à...
Il était quand même long à...
à envoyer, hein.
Ouais, il nage vite.
Oh, je doute !
Non ?
Luciole !
Ouais, ben, en fait,
le phoque comme le morse
c'est quand même assez dépassé
comme moyen de communication, maintenant.
Ben, maintenant, ça n'existe plus aussi.
Non ?
Je crois que ça n'existe plus.
Si, si, ça existe encore
dans certaines postes.
Hum, hum.
Et, non, mais maintenant,
il y a des moyens
beaucoup plus adaptés
comme le courrier, par exemple.
C'est toi qui mets les tampons ?
Ouais.
Bon, ça y est...
C'est une technique
et je les mets avec les dents.
Blanche, suis-moi la caverne !
Ouais, ouais, ouais.
Moi, je voulais dire
que j'étais pédé comme un phoque
et il y avait ma grosse bite
qui s'amorce.
Oh, là, là, là, là.
Oh, ça, c'est pas mal, ça.
Ouais.
Et, je sais...
Ça peut faire du genre au casse, ça.
Ben, il s'est pour moi fêté !
Je ne sais pas lire !
Ben, ouais, euh...
Il s'est pour moi fêté !
Non, le morse,
je ne le maîtrise pas trop.
Gérard ?
Ouais ?
Blanche, suis-moi la caverne,
je veux savoir si...
Je veux savoir si t'es...
Ah, j'entends pas ce que tu parles.
Toi, toi, t'es un rigolo, toi.
Vas-y, vas-y.
Justement, j'avais déjà utilisé
les Toki Whiskey.
Les Toki Walkie ?
Les Toki Whiskey.
Zéro, allez, viens-le, reprends.
Ça, c'est raide, ça.
Oh, mais vous fermez vos gueules
un peu, maintenant !
On est en net, merde.
Je ne sais pas lire.
Ben, il montait sur moi.
Ouais, ouais, non, non, non.
Le morse, je t'ai dit
que je ne maîtrisais pas.
Je préférais le...
Enfin, c'est tout, ouais,
comme tu disais, là, je...
Mais, puis l'art !
Mais, il me faut rire,
les auditeurs, Gérard,
j'y peux rien.
Fais gaffe, parce que
tu as pris une taille
de commande de la télé,
on en a besoin.
Bon, eh, Manu !
Je te préviens !
Putain, c'est bon,
c'est le connard, là,
au deuxième débat.
Parce que c'est pas possible
de travailler comme ça.
Ça marche.
Et toi, t'arrêtes de balancer
n'importe quoi !
Arrêtez, là, le débat,
c'était bien, là.
Eh, dégage !
On est pour le cul, Gérard !
Non, dégage !
Non, non !
C'est toi qui fais des conneries,
tu sais, non ?
C'est vraiment une merde.
Toi, t'es un branleur
fort possible, hein.
Tiens, tout ça,
de mes couilles !
C'est bon, c'est bon, c'est bon !
Eh, on parle de tes 4%,
ça m'étonne pas
que t'es aussi con !
Bon, Gérard...
Bon, allez, vous fermez
le global, maintenant !
Gérard, pour revenir au débat,
on me demande
si tu préfères le Morse
ou le FistFox.
Je vois pas...
Je vois pas du tout
le rapport.
Vous n'y êtes pas.
Ah !
Vous n'y êtes pas !
Ah, vas-y, vas-y !
Gérard, t'as arrêté
le débat !
Attends, Gérard,
il est debout ?
Il a lancé quelque chose
contre Fildar ?
T'es gaffe !
T'es gaffe !
T'es gaffe !
Vas-y, droite, gauche,
dans le ciguerie !
T'es gaffe !
T'es gaffe !
T'es gaffe !
T'es gaffe !
T'es gaffe !
T'es gaffe !
T'es gaffe !
Mais qu'est-ce que je fais,
moi, Gérard, là ?
Rigo, faut que tu viennes
m'aider, là !
Ouais, je vais au standard.
Arrêtez le merde,
tout le monde a la DAT, là !
Viens m'aider !
Bon, je veux juste dire
aux gens de l'IRC
que je vais au standard
vu qu'il n'y a plus Fildar
là-là, il faut que Manu y aille.
Alors, donc,
pour la question sur le morceau...
Oh là là, ça commence
à m'énerver, ce soir.
Le con, le roi des cons !
Bon, Manu, tu vois, là,
il y a des trucs qui vont pas, là.
Bah, attends, je viens d'arriver,
je regarde, je regarde.
M'excuse, m'excuse !
Non, non, toi, tu vas dégager.
Ouais, vas-y, hein !
Non, non, t'inquiète !
Non, non, tu vas là, tu vas là,
tu vas là, je veux plus te voir !
Je veux plus te voir !
Je veux pas te voir à l'arrière,
tu vas y, au standard !
Non, je te promets, Gérard !
Je te promets, Gérard, j'arrête.
Non, c'est Gérard !
Je te promets, fais gaffe !
Non, j'arrête, promis.
Fais gaffe !
Ouais, je fais gaffe.
C'est Gérard, c'est lui qui décide, hein !
Fais gaffe.
Alors, tu vas au standard !
Non, parce que je connais pas
les auditeurs, j'aime pas.
Ouais, bah, t'aimes pas,
tu vas peut-être faire ton boulot
correctement, parce que tu commences
à faire chier ton monde, toi,
aujourd'hui, hein !
Alors...
Oh, non !
Bon, Manu, t'essayes...
Bon, Manu, je vais essayer de gérer.
C'est quand même...
Non, non, non !
C'est toi qui fais des conneries.
Moi, je fais mon possible, hein !
Ouais, mais il peut les calmer, quand même.
Alors, bon...
Pour la cinquième question,
Jésus, J.S.
Utilisait-il encore
des pigeons voyageurs
pour communiquer ?
Jésus ?
Putain !
Ils vont se calmer,
ces bandes de cons ?
Eh, oh !
Eh, tu te calmes, Goliens ?
S'il te plaît, mon Goliens !
Reste poli, là !
Et si vous êtes pas contents,
vous raccrochez vos téléphones,
on prend d'autres personnes.
Mais tu nous parles sur un autre ton ?
Ouais, bah, si je veux, d'accord !
Il va se calmer, l'hydro-stéphane.
Comment il est ?
Le bulbeur achidien.
Bon, euh...
Décode le trisome.
Alors, 40 bars.
Oui, est-ce que tu peux répéter, s'il te plaît ?
Alors, J.S.
Utilisait-il encore...
J.S. ?
J.S.
Non, non, c'est pas J.S.
Oh, là, là, oh !
Non, mais vous êtes lourds, ce soir, hein !
J.S. utilisait-il quoi ?
Des pigeons,
des pigeons voyageurs
pour communiquer.
Bien sûr,
et même, c'était dans la Bible et tout.
Ah, c'était beau, c'était...
Oui.
D'accord.
Euh, O.R.O.S.
J.S. n'y est pas !
Oh, là, là, oh !
Tu sais qu'il s'amuse à personne, là !
Mais c'est la D.A.T., putain !
C'est ça !
Ouais, c'est O.R.O.S.
Ouais ?
Ouais, je voulais dire que J.S.,
le KGB, la CIA,
tout le monde utilisait
des pigeons voyageurs.
C'était nul.
D'accord.
Tomate ?
Ouais, euh...
Il utilisait les pigeons voyageurs,
et, en fait, quand il en recevait,
il les bouffait.
Hum ?
Il m'a volé baldis,
dans mon porte-monnaie.
Euh...
Si ça vous fait rire,
moi, ça me fait pas rire,
parce que celui qui s'amuse à ça,
il m'a dégagé,
je vais pas chercher qui c'est, maintenant.
Oh, non, non, non, non, non.
Le ciel !
Ouais, tu peux répéter la question,
s'il te plaît ?
Alors, J...
Mais fais gaffe, toi, le connard,
à ce que tu dis, toi.
Ouais.
Et O ?
Alors, J.S.,
utilisait-il encore
des pigeons voyageurs
pour communiquer ?
C'est qui, J.S. ?
Oui, mais c'est qui, J.S. ?
À votre avis ?
Je sais pas, je te demande.
C'est pas le gars d'Andalas ?
Non.
C'est pas le gars d'Andalas ?
Oh, là, là, là, là, là, là, là.
John Soros.
Mais non, mais dis-leur,
tu sais, parce qu'ils captent pas.
J'ai écrit,
on voulait pas le dire,
espèce de con, ma nuit, aussi.
Je commence à faire...
Ouais, mais gagne-toi.
Ils captent pas, les auditeurs,
faut bien leur expliquer.
Alors, voilà, Luciole, maintenant.
Ouais, mais c'est pas le gars d'Andalas.
Oh, là, là, là, là, là, là, là !
Oh, là, là !
Là, vous avez fait rire le gars,
quand les gens y parlent, maintenant !
Tu vois, pour une fois que c'est pas moi.
Luciole !
Ouais, ben, on fait pas de religion
à la radio, Gérard.
Là, c'est n'importe quoi.
Là, je crois, de cette manière,
ça va être la fin,
j'arrête à la 5.
Non, non, non, mais là,
il faut remettre Manu.
Ça y est, c'est bon ?
Non, mais le standard...
Non, non, mais attends,
pour l'instant, que...
Tu les calmes, hein.
Ça y est.
Ouais, ben, tu vas les calmer.
Tu vas voir, t'écoutes, tu vas voir.
Luciole !
J'ai dit, ben, te laver les feux,
tu pues.
Oh, là, là !
Non, mais, Gérard,
Gérard, sur IRC,
il trouve ton débat tellement nul
qu'il se demande si t'es le vrai Gérard.
Non, ben, attends,
si ça leur plaît pas,
dans ce cas-là, ils arrêtent,
ils se demandent,
ils empruntent après Manu
et puis, là, ils font les cons.
Alors, Luciole,
tu veux...
Tu es bon, maintenant ?
J'ai dit, ben, te laver les feux,
tu pues.
Bon, alors...
Dégagez, dégagez, dégagez.
Bon, terminé pour celle-là,
ça va vite, c'est moi, maintenant.
Ça y est, ça y est.
Alors, blanchis-moi, là, à la caverne.
J'ai dit, ben, te laver les feux,
tu pues.
Attends, Manu, tu gères, là.
J'ai pu, personne, merde !
Attends, c'est pas n'importe quoi,
ce que tu dis, hein.
Ouais, ouais.
Blanchis-moi, à la caverne.
Non, maintenant, j'ai pas le temps.
Mais quoi, il est ouvert en bouquet ?
Allô ?
Ouais.
Ouais.
Donc, c'est pour toi ?
Attends, j'entendais pas
parce que je l'ai pas sur l'antenne.
Putain, mais vous avez décidé
de me faire crier ou quoi,
aujourd'hui, là ?
Tu peux me répéter, s'il te plaît ?
Alors, Jésus-Christ utilisait-il encore
les moyens des pigeons voyageurs
pour communiquer pour un sixième point
à la question que je répète ?
Ouais, c'est fort possible.
Ouais, je pense que, ouais,
ça doit être écrit dans la Bible
et puis, tout ça, c'est de la religion.
Ouais, je pense que c'est possible.
D'accord.
Je ne sais pas lire.
En fait, ces animaux-là,
c'est un don de table
parce que c'est pas comme les chiens,
ils donnent pas de papade, tout ça.
Tu leur dis d'aller porter un message
à ta dulcinée
et ce qu'ils font,
c'est quitter les corps des grains de pain
et ils t'écoutent pas, ces animaux-là.
Non, mais attends, de toute manière,
les pigeons, les pigeons...
Bon, attends, n'importe quoi,
les pigeons voyageurs,
de toute manière, ça existait.
On n'a jamais délivré les messages.
Si.
Non, non, non, attends,
faut pas déconner.
Non, non, c'est ce que je dis.
J'ai essayé d'en dresser quelques-uns
et j'ai jamais réussi.
Si je leur attachais des trucs à la patte,
des bagues,
ouais, voilà, des bagues avec des messages,
oui, j'ai envie de te baisser
comme une chienne, tout ça.
On m'avait coupé le portable, en fait,
et j'envoyais le pigeon comme ça
et jamais il n'y allait.
D'accord.
J'ai eu des problèmes, je me suis retrouvé...
Non, mais ça y est, on a compris.
Je me suis retrouvé avec une grosse force.
Ça y est, on a compris.
Oui, Gérard, sur IRC,
il y a Super Ouragouin,
il te demande comment tu fais
pour envoyer les pigeons voyageurs assez loin.
Eh ben...
Avec une bague.
Avec une bague ?
T'arrives à lancer les pigeons avec une bague ?
Non, mais...
Les pigeons voyageurs,
tu l'envoies à 2000 kilomètres,
comment tu fais ?
Non, mais...
Ils s'envolent,
ils prennent leurs ailes
et puis ils volent.
Oula, j'ai perdu 1000 personnes, là,
d'un coup,
ils m'ont dit que c'était à cause de Manu.
Voilà, voilà, bravo.
Non, c'est à cause de Christy,
bravo Manu.
Donc, c'est quoi comme...
On va s'écouter un disque,
tu poses la question, Gérard,
le temps que je te donne la question.
Non, je ne sais pas si tu puisses.
Celui-là, tu me le vires.
Tu le vires, mais...
Je l'ai trouvé, je le viens.
Non, non, mais tu vois,
ça va aller vite, là.
Alors, pour...
Oui, Rigo ?
Non, non, Rigo, pendant que...
Pose une question Internet
pendant que je note le disque.
Alors, peut-on dire
que Gégé est transgénique
mi-pigeon, mi-phoque ?
C'est quoi, ça ?
Je ne sais pas.
C'est Citrouille qui demande ça.
Et il y a Jarvis Cooker
qui demande si on peut attraper
des maladies viagras ou autres
en communiquant.
Non, ça, c'est plus le débat
sur les maladies.
Qui c'est qui s'amuse
avec cette musique de là ?
Et sinon, il y a Yankee
qui me dit qu'on utilise
le morse maintenant
parce que les phoques
font de la radio.
Non, mais je ne vois pas
du tout le rapport.
Donc, sixième question.
Pour draguer, vous servez-vous
de votre regard
comme moyen de communication ?
Et vous pouvez toujours
nous appeler au 0875 000
0803 085 000
et toujours Rigo
qui vous attend
sur le site www...
Je n'arrête pas d'attendre
depuis...
.funradio
et on s'écoute
Riri...
Riri.
Riri, Fifi, Loulou
avec Moi, c'est mieux
avec du couscous.
Et on se retrouve
tout de suite après
pour la suite du débat
et la fin.
''Musique''
Et voilà, donc vous êtes toujours sur PUN Radio, c'est la suite du débat sur les moyens de communication,
et on vient de s'écouter Ricky, Fluffy, Loulou, avec ses... moi c'est mieux, avec du couscous.
Donc en parlant de couscous, on va être bien servi, parce qu'il y a justement...
Ah, il y en a quelqu'un qui a amené du couscous ?
Non, non, mais on a un auditeur qui s'appelle Couscous, qu'on avait vu depuis longtemps, donc on récupère...
Ah, il y a Couscous qui est là ?
Carambar, bonsoir.
Oui, bonsoir. Eh Gérard, est-ce que tu me permets pour une fois d'être gentil ?
Je voudrais dire bonsoir à ma petite amie Jessica, bonsoir Paris, bonsoir Jessica.
Voilà, ok.
T'as pas de petite amie.
Bon, ça y est, vous n'allez pas recommencer pour la pain ?
Oui.
Ok.
Ou Rose ?
Ouais, je suis dans la place, et je voudrais dire bonsoir à ma main droite.
Ok, Tomate ?
Bonsoir à tous, je suis Carrie, à la main droite.
Carotte ?
Salut.
Salut.
Couscous ?
Oui, bonsoir.
Ah, Couscous !
Ouais.
Bonsoir à tous, bonsoir à ma main, et bonsoir à Abdel Wahid.
Ok, c'est bon, Couscous.
Vous n'avez pas remarqué que les autres habitués en voulaient pas, là ?
Ce mec, là.
Oh ! On se calme, s'il vous plaît, hein, maintenant.
Et bonsoir à tous les terroristes qui m'aiment.
Non, non, non, non, non.
Eh, ta gueule toi-même, toi, connard.
Oh là là.
Eh, mon doigt.
J'aime pas Couscous.
Mon doigt sent le caca, là.
Mon doigt sent le caca, pour terminer.
Ouais, ouais, bah ouais.
Alors.
Bonsoir.
Bonsoir, ça y est, là, oui.
On va commencer, on va finir le débat, maintenant.
Non, non, ils sont cools, hein, ils sont cools.
Alors, pour draguer, vous servez-vous de votre regard comme moyen de communication ?
On va demander à 40 barres.
Ouais, pour comment, encore ?
Bah, ouais, tout à fait, ouais.
Énormément, ouais.
La persuasion, et en plus...
Attends, bouge pas, je change de côté la cassette.
Non, non, mais attends, si t'enregistres en même temps...
En plus, tout ça, c'est des trucs à moi, ça.
Ouais, pour lui, après.
En plus, je suis serveur, donc ça aide.
D'accord.
Et je me fais plein de nanas, mais là, depuis quelques temps, je me suis calmé,
je suis avec une super fille, et je l'embrasse très fort.
Ok, d'accord.
Non, mais...
Je t'aime.
Attends, il passe ses messages persos, c'est quoi, ça ?
Il est amoureux.
Euh, 40 barres !
Alisabeth Guigou ?
Non, 40 barres, c'est bon, c'est...
J'ai été dit, ça nous écoute...
Comment pour 40 barres, hein ?
Tu m'as dévibré, Alisabeth.
Ouros !
Ouais, bah, écoute, moi, j'ai un petit problème dans la vie,
c'est que j'ai un regard de tueur,
donc, bon, je suis un peu obligé de mettre des lunettes de soleil,
parce que c'est...
Désormais, les filles, j'ai fusé, j'ai regardé...
Oh, vous arrêtez de vous marrer, là ?
Ah, vas-y, vas-y, vas-y, vas-y...
Oh, non, non, non, non, non !
Je sens que ça va se terminer vite fait, Manu, avec toi.
C'est que ça vient de moi, je les ai presque...
Vas-y, vas-y, vas-y, c'est bon.
Tomate !
C'est quoi, la boîte mobilique, là, c'est quoi ?
Tomate !
Moi, j'ai un petit appareil, dont je ferai le nom,
qui, en fait, envoie des messages à quelqu'un qui a le même appareil.
Donc, si j'ai envie de...
Si je crois que quelqu'un est dans la rue et que j'appuie sur un bouton,
ça sonne sur son appareil.
Ouais, c'est le nouveau truc, Gérard.
T'as vu à la télé ?
C'est le truc pour les amoureux, là.
On est des espèces de beepers.
Ah, ouais, mais...
Les fucklovers, là, les fucklovers.
Ouais, ouais, ouais.
J'avais vraiment vu ça, ouais.
Carotte ?
Bah, moi, j'ai des sales yeux, donc je m'en sers pas...
Je me sers pas du regard pour draguer.
C'est un du cul, toi.
D'ailleurs, je ne drague pas et puis on ne drague jamais parce que je suis moche, on se compare toujours à Sandy, donc tu vois, ça n'arrange pas.
Alors, Carotte, tu vois, tu viens de dire un nom qu'il ne fallait pas, donc tu peux retourner chez toi, c'est terminé pour toi. Au revoir.
Ça y est.
Salut.
Couscous.
Coucou.
Coucou.
Vous êtes un méchant chiant ou pas, là ?
Couscous, on t'écoute.
Pas de marque.
Moi, on m'appelle la Clash, Couscous. Moi, quand je la regarde, c'est méchant, c'est terroriste.
D'accord. Mais moi, je dois être dans le caca, là.
Non, moi, je suis borgue.
Non, mais tu peux quand même répondre à la question ou pas ?
Je suis borgue, j'ai qu'un oeil, donc ça ne le fait pas, tu vois.
Bon, d'accord.
Sans manquer de respect, il ne faut pas se moquer des aveugles.
Oui, entre parenthèses, voilà.
Super Montagné, si tu nous regardes.
Oh, c'est bon, on a pu, on se calme.
Ouais, euh...
Non, non, il n'y a personne à la place de Carotte.
Il n'y a personne.
Attends, je vais, je vais.
Tu vas, tu vas, tu vas te manier, maintenant.
Oh, merci, c'est Carotte.
Alors, euh...
Question IRC.
Oh, oh, oh !
Appelle le TK de Mystère.
On se calme, là !
Le TK de Mystère, il t'emmerde !
Le TK de Mystère !
Ok.
Alors, Rigaud, une question IRC.
Alors, question de Hatt.
Les pigeons, ouais, mais voilà, ils parlent des pigeons voyageurs parce qu'il y a un délai avec Internet.
Quand ils écoutent par Internet, ils écoutent ce qu'il y avait il y a 20 minutes.
Donc, ils me parlent encore des pigeons voyageurs.
Eh, Gérard, je voudrais demander à TK si c'est possible qu'elle me suce ma saucisse à quatre pattes.
Va te faire foutre, t'abrouti !
C'est qui qui vient de dire ça ?
C'est qui qui vient de s'amuser à dire ça ?
Je vais le trouver, Gérard, continue.
Et d'ailleurs, d'ailleurs, à la place de, je ne sais plus trop qui, on accueille Tom à la Catalane.
À la place de Carotte, alors.
Voilà, exactement.
Alors, vas-y, Tom.
Oui, bonsoir, Gérard.
Bonsoir.
C'est Griselda.
C'est encore la même.
Bon, tu as compris la...
Pour draguer, servez-vous de votre regard comme moyen de communication pour toi, la question.
Oui, ben en fait, je louche, alors tu vois, c'est pas très évident pour moi.
Non, c'est sûrement, c'est tout.
Oh non.
Oh, ça commence à...
Vous laissez parler les gens ou pas ?
C'est Groton qui vient de dire ça.
Il n'arriverait pas à me faire jouiller.
Non, je vous ai pas sympa parce que je louche et j'ai un grave problème.
Eh, je sens que le prochain qui s'amuse à dire ça...
Ça va dégager !
Il jouait pas, c'est tout.
Il jouait pas.
Il jouait pas.
Si je jouais, je suis juste resté avec lui.
Euh, Manu, quand tu vas...
Ouais, je vais, je suis en train de les chercher.
Ouais, alors...
Je suis en train de les chercher dans mon porte-pone.
Donc, euh...
Gérard ?
Donc, ouais, oui ?
Il y a Ertonio sur l'IRC qui te demande si on peut draguer avec leur regard aussi bien que...
Parce qu'il a des lunettes, en fait.
Il voulait savoir si c'est pareil que quand on n'a pas de lunettes.
Ben, je pense, oui.
Ben, il est monté sur moi, c'est tout.
C'est tout, hein ?
Et il manque plus que les doubles sons, maintenant.
Ben, quand vous aurez fini...
Quand vous aurez fini vos conneries...
Ouais, j'en ai...
On pourra demander à Ton qui va répondre.
Je passe le bonjour à tous les égords d'Israël.
Hé, Couscous !
Couscous, ça suffit !
C'est abusé, ça !
C'est abusé, là.
Elle est tensionnée, là.
Oh là là !
Mais c'est quoi, là, ce bordel, là, Manu, là ?
Tu me l'as...
Tu peux peut-être les calmer, mais je peux les calmer, tu vois, un par un, donc...
Couscous, il a abusé, là.
Alors, Ton...
Ouais, alors, moi, je te disais, je louche.
C'est un gros problème.
J'ai des doubles foyers, donc tu vois, ça m'arrange pas,
alors je vous demanderais un petit peu de pitié pour moi, quand même.
Euh, je te calme, moi.
En plus de ça, donc, j'ai une sale gueule, donc il y a rien qui m'arrange.
C'est clair.
Et, ben, du coup, je sais pas quoi faire.
D'accord.
Et en plus, ton pote, il s'est fait virer de la sécu, alors c'est la top.
Je sens que ça va...
Ça va jarcler, ça va jarcler.
Ça y est, ça y est.
Ça va...
Alors, quel mot...
Quel est le moyen de communication...
Quel est le moyen de con...
Quel est le moyen de communication quand on a n'a pas...
Donc, on va demander...
Le meilleur moyen, quel est le meilleur moyen...
Voilà, de communication quand on a n'a pas.
On va demander à Karnevar.
Euh, le P, le...
Non, la lettre ou la parole, je sais pas, moi.
Hum.
Voilà, Gérard.
Euh, Ouros ?
Bah, je sais pas, je dirais un français correct.
Ouais.
Euh, Thomas ?
Il faut crier très fort.
Comment ? Dans quel sens ?
Bah, il faut crier très fort.
Bah, si t'es autiste, hein, j'en sais pas.
Hum-hum.
Ok.
Euh...
Thomas ?
Tu veux que tu viennes répondre ?
Ton, euh...
Je sais pas, à quoi, là ?
À la Catalane.
Ton, à la Catalane ?
Ouais, bah, moi, je me sers du téléphone.
Au moins, on me voit pas.
Et puis, on peut pas imaginer le monstre que je suis.
D'accord.
J'aime bien ta voix, moi, gros boudin, là.
Oh, vous fermez vos gueules, s'il vous plaît, derrière.
Merci.
Elle est moche, elle est moche.
Ouais, euh...
Sur IRC, il y a Arnette qui dit que quand on n'a pas de moyen de communication,
elle ferme sa gueule.
Bah, voilà.
Eh, couscous ?
Le téléphone à arme.
On raconte pas n'importe quoi.
Sinon, on leur coupe les cordes vocales à coups de rachois.
Ouais, ouais, ouais, mais...
Couscous, tu réponds comme il faut à la question.
Bah, je te dis que le téléphone à arme.
Moi, je te dis le téléphone à arme.
D'accord.
Euh...
Mets-moi le doigt...
Oh, putain, non !
Ouais, Gérard.
Mets-moi le...
Embrasse-moi.
Mets-moi le doigt dans le caca.
Ouais, viens, t'assures que sur mon sexe, on est réactifs.
Bon, allez, allez.
Hop.
Terminé pour lui, il répondra même pas.
Allez, hop, c'est fini.
Il dégage.
Voilà.
Allez, hop.
Alors, euh, donc, euh...
Alors, il y a un petit sondage, là, pour ou contre les moyens de...
Bon, couscous, s'il te plaît, tu me laisses finir ?
Ouais, d'accord, mais je t'emmerde.
D'accord, mais je t'emmerde.
Euh, là, je crois que...
C'est pas moi, Gérard.
C'est un mec qui s'est émimité.
C'est qui ?
C'est pas moi.
C'est ce moule.
Ouais, mais restez quand même polis, s'il vous plaît, avec les gens qui vous emmerdent.
Merci.
S'il vous plaît.
C'est pas gênant.
Faut pas être tentaculé en cul de tâcheur.
Euh, donc, pour ou contre les moyens de communication, il y a 60% qui n'ont pas le temps de répondre à la question.
Hum.
Il y a 30% des Français pensent pouvoir le faire eux-mêmes.
Hum.
Et 10% des Français qui estiment que ce n'est pas le thème du débat.
Ben, je vois pas pourquoi que 10% disent que c'est pas le thème du débat, alors que c'est le thème du débat.
Ben, ouais.
Mais j'étais sur moi, c'est tout.
Oh, là, là !
C'est pas moi.
C'est à toi, Gérard.
Moi, euh...
Alors, euh...
Excuse-moi, Gérard.
Quand même, à la place de mon doigt, sans le caca, machin, on accueille Gilles Comoisy.
Bonsoir.
Bonsoir.
Salut, Gilles Comoisy.
Salut.
Bonsoir, tu vas bien ?
Salut.
A tous.
Salut, chat de pourri.
Alors, donc, la question, donc, Carambar, tu réponds, s'il te plaît ?
Tu peux répéter, s'il te plaît.
Alors, quel est le meilleur moyen de communication quand on n'en a pas ?
J'ai déjà répondu, j'ai dit la lettre ou la parole.
C'est vrai, il avait déjà répondu.
Ah, ok.
Où, Rose ?
Ben, j'ai déjà répondu, tu ne suis rien à ton débat ou quoi ?
Mais attends, tu restes poli, toi, parce que tu n'avais même pas répondu.
Mais si je te dis un français correct, alors tu es un peu ce qui se passe, quand même, putain.
Le roi des cons, ouais.
Thomas ?
J'ai aussi répondu, Gérard.
Ben, ton... ton, elle a...
Je t'ai déjà répondu aussi, Gérard.
Alors, pousse, pousse.
Je t'ai déjà dit, téléphone arabe, putain, t'es sourd.
Elle t'a peut-être posé cette question-là, déjà, Gérard.
Non, mais il y en a un, il y a le Comoisy, là.
Si, j'ai le Comoisy.
Ben, alors ?
Tu devrais le savoir.
Non, non, non, pas de moyen de communication.
D'accord.
Je vis dans une grotte.
Ok.
Alors, huitième question.
Les hommes utilisent-ils les animaux pour communiquer ?
Les hommes utilisent-ils...
Les hommes utilisent-ils les animaux pour communiquer ?
Ah, ben, t'es bien placé pour en répondre.
Oui, tout à fait, ouais.
Attends, tu sais qu'ils viennent parler, comme ça, là ?
Ils sont à la Catalane.
Ah, ben, répond à la Catalane, tu peux.
Tu me viens répondre à la Catalane, ça y apprendra de répondre des conneries.
Je mets pas à mine à l'huile, à la place.
Bienvenue chez les pizzas, avec la pépère au lait.
Alors, 40 bars.
On va t'en faire de la colisse de bras.
40 bars, s'il te plaît, tu réponds comme il faut.
Ah, mais vous vous salmez un peu, là, maintenant ?
La pépère au lait, là.
Ouais, Christine en est l'exemple.
40 bars, quand même.
Oui.
Pour toi ?
Euh, je suis d'accord.
Ouais, je pense que oui, oui, tout à fait, ouais.
Je tiens, ouais.
Ouais ?
Ouais.
Euh, Ouros ?
Ah, pardon, il est parti.
C'était lui, les conneries.
Ouais, ben, c'est bien, alors.
Ouais, ben, t'as bien fait ton boulot, une fois, Manu.
Ouais.
Gérard, sur l'IRC, il y a D-Light qui dit, oui, on peut utiliser des animaux pour communiquer.
La preuve, les dirigeants de Fun Radio utilisent bien Gérard pour communiquer avec les animaux.
Oh, n'importe quoi, lui.
Tomate ?
Ouais.
Euh, ben, j'ai connu un mec qui utilisait des puces savantes et des morpions.
D'accord.
Ouais, à la place de ton à la Catana, Catalane, pardon, on accueille Oasis.
S'il n'y a pas de bulles, là.
Oasis, OK.
Bonsoir, Oasis.
Elle veut te planter, c'est pas le gars.
Ah !
Oasis, c'est pas le gars.
Elle veut te planter, c'est pas le gars.
Oasis, c'est pas le gars.
Il n'y a personne qui va oser s'appeler Fildar, là, pour les chaussettes.
Je sens qu'on va conclure le débat ici.
4%, il ne faut pas déconner.
Oui.
Donc, Oasis.
Moi, si tu pourrais me répéter la question, je viens d'arriver, donc...
Les hommes utilisent...
Qu'utilisent-ils les animaux pour communiquer ?
Euh...
Ouais, ouais, ouais, c'est...
C'est un excellent moyen de communication, de...
De prendre, par exemple, un chien avec soi.
Oui.
Ça permet, franchement, de développer...
J'aimerais te dire que je t'aime avec un tatou.
T'as le cœur de l'oreille.
Je voudrais te dire que je t'aime, mais tu ne me réponds pas.
C'est où ?
C'est les feuilles, c'est ce qui s'allume en vert, Manu.
Je voudrais te dire que je t'aime, mais tu ne me réponds pas.
Bon.
C'est vrai, Manu, il est nu, ce soir.
Alors, je sens que c'est...
Non, mais ce qu'il faut faire...
Gérard, Gérard, Gérard, Gérard.
Tu fous un coup de fouet à Manu, là, hein ?
Non, non, mais ça va aller vite, c'est la...
Ça va être la dernière question.
Je ne sais pas si...
Parce que ça y est, j'ai retrouvé quelqu'un.
C'est pour ça que j'ai galéré.
Ah, ouais, d'accord.
À la place de Ouros, on accueille Préparation H.
Bonsoir, c'est Préparation H, Fably.
Préparation H.
Oui, bonsoir.
A tous.
Oui, alors...
Aïe, aïe, aïe, aïe, aïe, aïe, aïe.
Oui, tout à fait, oui.
On se calme.
Vous ne l'avez pas, celui-là ?
Aïe, aïe, aïe, aïe, aïe, c'est pas mal.
Avec qui, la chaise, là ?
Le tabouret.
Et puis le trou du cul qui saigne.
Voilà.
Non, mais quand vous aurez fini vos conneries,
les gens, ils pourront peut-être répondre.
Oui, c'est vrai.
Il y en a qui veulent répondre et faire un débat sérieux.
Alors, euh...
Est-ce que vous l'avez, ce capsule ?
Euh...
C'est qui qui demande ça ?
C'est Finger.
Je sens que tout à l'heure, on va conclure, hein ?
Oui.
Alors, préparation H.
Oui, ben, je viens d'arriver, j'ai pas entendu la question.
Alors, les hommes utilisent-ils des animaux pour communiquer ?
Les hommes, ben non, je crois que c'est interdit par la loi
d'utiliser les animaux pour niquer, donc...
Pour communiquer !
Ben, que ce soit en communauté ou pas, c'est pareil, c'est interdit, c'est tout.
Non, mais je crois que...
Non, mais discute pas, c'est tout, c'est la loi.
La loi, elle est appliquée, il faut se plier, c'est tout.
Moi, je suis d'accord.
Ben, couscous.
Non, non, moi, je suis d'accord.
Non, non, moi, je suis pas d'accord.
C'est impossible, on peut pas niquer dans la commune avec un dromadaire.
Fais pas les animaux !
Fais pas les animaux, t'écorches les moutons, salauds !
Putain, t'en as qui sautent des phacochères...
Vous allez énerver, couscous, arrêtez !
Intégriste !
Hé, Gérard, c'est pas parce que tu niques un phacochère que tout le monde a le droit, hein ?
Ça y est.
C'est le combat.
Non, mais...
C'est pour l'eau, c'est pour l'eau, c'est pour l'eau, pardon, Gérard.
J'ai le cou moisi, là.
Ouais, moi, je veux bien me sacrifier et m'appeler Fildar, t'as qu'à faire.
Non, non, c'est bon, c'est bon, ça va aller.
Pour passer la pub des chaussettes qui te puent.
Non, ça va.
Alors, moi, je peux vous dire une chose, comme vous êtes en train de déconner,
le débat, il s'arrête là.
Non, non, Gérard.
Encore une question.
Non, non, non, non.
Encore une, là.
Il était bien, il est bien, le débat.
Non, non, ils sont tous gentils, n'est-ce pas, les auditeurs, vous êtes gentils ?
C'est là pour comprendre les gens qu'on est cons.
Ouais, c'est vrai.
Non, Manu ?
Alors, les transmissions de pensées, est-il un moyen de communication en faisant l'amour ?
Et ça sera la dernière question.
Est-ce que tu peux la répéter, s'il te plaît ?
Alors, les transmissions de pensées, est-il un moyen de communication en faisant l'amour ?
Manu ?
Quoi ?
Tu fais chier.
Alors, 40 bars.
Est-ce que, à ton avis, tu sais à quoi je pense, là ?
Non, eh bien, tu vas le dire.
Ben, contenté, Jean.
D'accord, eh ben, bonne nuit pour toi, 40 bars.
Faisons-te...
Non, non, c'est bon, c'est terminé.
Est-ce que t'as une réponse à donner ?
Qu'est-ce que t'as à donner sur la question, 40 bars ?
Les transmissions de pensées.
Moi, je sais qu'avec ma copine, sans faire exprès, on dit beaucoup de choses semblables ensemble.
C'est-à-dire ?
Eh ben, c'est-à-dire, oui, avec nos meilleurs potes, c'est ça.
On a la même expression, des fois, ou des trucs comme ça, quoi, en faisant l'amour,
et tout, c'est bien.
Vous faites quoi ?
Hein ?
C'est...
Ah, vas-y, c'est bon, c'est bon, c'est bon.
C'est très bon.
Préparation H.
Je ne vais pas le dire, celui-là.
Oui, ben, moi, je suis sûr qu'après l'amour, comme tu disais, toi et ta copine, vous avez de la transmission de pensée,
que vous avez envie d'une gamelle de fresquises au même moment.
Toi, tu ferais mieux de faire des préparations pour cons.
Fildar, mets-nous un double son, là.
Ah, j'ai pas, j'ai pas envie.
Non, arrête, arrête, arrête.
Fildar, il t'a un peu le faux cul, là, ce soir.
Ouais.
J'ai pas besoin d'utiliser la pensée, parce que je crie très fort, donc je pense qu'il entend assez.
Fildar, mets les auditeurs en double son.
Tu jouis ?
Je jouis, je jouis, je jouis très fort.
Tu jouis très fort ?
Je jouis et pas.
Lui, je jouis, ça dépend.
Oh, Aziz !
Fildar, mets les auditeurs en double son.
Ben, moi, sexuellement, avec mon copain, ça se passe très bien.
Ah, t'es un copain, toi ?
Ouais, ouais, ouais.
Tant pis, Tony.
Je crois que c'est un dommage.
On est au top au niveau transmission de pensée, et puis tout va bien, quoi.
On est exactement sur la même longueur d'onde.
Moi, je vais te transmettre, moi, salope.
Tu viens de trouver quand tu veux.
Ton tampon, il vient de tomber, là.
Ça arrive.
Là, quel équerre on va faire ?
Vous êtes perpés, vous.
Vas-y, Gérard, on enchaîne.
Non, non, mais on prendra peut-être qu'il se calme.
Donc, Aziz.
J'ai absolument pas envie de faire ça.
Couscous.
Ouais, Gérard, c'est vrai que depuis que tu t'es fait enculer par une lampe torche, on t'appelle la luciole.
Couscous, tu restes poli, parce que sinon, ça va mal finir pour toi.
Ouais, tu vas gerber, hein.
Moi, je suis d'accord avec Aziz.
Gérard, je te...
Sous la console, là.
Je le coumoisille.
La transmission de pensée, pourquoi pas.
D'accord.
Alors, moi, je peux vous dire une chose.
Il y avait un truc que je voulais dire.
C'est que pour les aveugles, le moyen de communication...
Le moyen de communication...
Bon, tu es calme, s'il te plaît, Manu.
Merci.
Et après, on fait la conclusion, comme ça, ça va être terminé.
Donc, pour les aveugles, c'est sûr que c'est pas évident pour eux de pouvoir communiquer.
Et c'est...
Maintenant, je crois qu'il y a des nouveaux trucs qu'ils font.
Donc, on va demander la conclusion du débat à 40 bars.
À moins qu'il y avait une question hier, c'est non ?
Oui, il y a Sandi, la pute, qui demande qui veut lui bouffer le cul.
Mais bon, c'était pas le thème du débat.
Voilà, bon, donc, 40 bars, conclusion.
Deux choses à dire.
Déjà, tu t'es fait griller parce que 40 bars, en fait, c'était 40 bars.
Et deuxièmement, toutes les expressions de Christine, c'était moi.
Donc, j'ai pris le plaisir.
OK, ben...
À la semaine prochaine, Gérard.
C'est ça, ben, tu repasseras pas la semaine prochaine pour toi.
Et ils vont être sur moi.
C'est ça.
OK, ben, tu repasseras pas la semaine prochaine pour toi.
Préparation, préparation H.
Ouais, alors, deux choses aussi.
La première, c'est que je te mets un fulgurant pour où je pense.
Et la deuxième, c'est que tu t'es trompé.
Tu l'as appelé j'ai le coup moisi au lieu de j'ai le con moisi.
Et on savait déjà que t'avais le coup moisi, c'est clair.
D'accord, ouais, tu l'as dit, Thomas.
Enculpant qui ?
Ouais, ben ouais, c'est comme d'habitude.
Toujours aussi nul, toujours aussi à chier, toujours aussi...
Toujours aussi Gérard, quoi.
Eh ben, dans ces cas-là, Thomas, c'est simple.
Tu allais bouffer tes tomates, comme ça, tu nous emmerderas plus qu'on nous fait des conneries.
Bravo Gérard, ouazis, t'es bien calmé.
Ouais, eh ben, moi j'ai trouvé que le thème du débat, il était franchement très très intéressant.
Ouais.
Il était vraiment bien, mais c'est dommage que ce soit toi qui l'a présenté.
Ah mince.
Pourquoi ?
Ça parlait bien.
Pourquoi ?
Ben, parce que t'es toujours aussi catastrophique et rien ne change, quoi.
Ben, dans ces cas-là, tu fais pareil, tu la gardes ton ouazis.
Ouais.
Gossos.
Gossos.
Ouais, ouais, ben, le débat, il était pas trop mal.
Bon, il y avait un petit peu de bordel dans la maison, mais sinon, c'est toujours de la merde.
Ouais, mais de toute manière, eh, Gossos, non, n'empêche, on aime bien t'avoir dans...
J'aime bien t'avoir quand même dans les débats.
Tu le sais bien, on rigole bien avec toi.
Ah, d'accord, je te réserverai une petite égorgerie de...
C'est ça.
Ok, allez, bonne soirée à toi, Gossos.
J'ai le coup moisi pour finir.
Ah, mais je rouillais pas.
Bah oui, je sais, on fait tous ça.
Ouais, moi, je voulais seulement dire, enfin, je voulais seulement te demander si je pouvais avoir la grosse vilaine au standard, après.
La grosse vilaine, c'est qui ? C'est laquelle ?
C'est quel mystère ?
Euh, non, tu vois, tu l'auras pas.
Donc, voilà, donc, c'est tout, c'était ta conclusion ?
Ah, bah ouais.
Eh ben, c'est bien.
Je te souhaite une bonne nuit aussi.
Eh ben, moi aussi.
Je te kiffe, l'ascar.
Eh ben, moi, je veux pas moi, ok ?
Donc, c'est dommage qu'il y ait eu des petits...
Petite conclusion de l'IRC, quand même, avant de finir, de Yankee.
Quand on se balade avec un tekelborg et qu'on n'a pas d'amis, on fait pas des débats sur la communication.
Euh, Gérard, c'est une pute.
Non, on va pas dire ça, quand même, c'est pas gentil.
Et, euh, bah, c'est... Apparemment, il y a que des trucs méchants.
Eh, on était combien, quand même, là ?
On est remontés à combien ?
Là, on est quand même remontés à 3867.
Combien ?
3867.
C'est le record, non ?
Je sais pas.
Bah, si, c'est le record, 3867, je crois.
Je crois qu'à la dernière fois, on avait fait 3400, là.
Donc, là, à mon avis, on a battu le record, ouais.
Eh ben, on aura les sondages, les mecs, ça va faire plaisir, hein.
Bravo.
Bravo, bravo.
On aurait peut-être été un peu plus s'il n'y avait pas eu le problème avec Manu, en ce temps-là.
Ouais.
Ouais, ça, c'est vrai que Manu, cette semaine, t'as fait chier le monde.
Ouais, mais toi aussi, t'as quand même fait un peu ta merde.
Non, je t'ai...
C'est ça, ça fait quand même un peu ta merde aussi, toi.
Faut pas l'oublier.
Donc, voilà.
Oui, Rigo, pour finir ?
Non, rien, j'attendais une félicitation de papa.
Non, mais c'est bien, de toute manière, il a bien bossé, Rigo.
Il y a que lui.
Il y a que lui qui bosse bien, en ce moment, alors.
C'est bizarre, quand même.
Ouais, non, mais il y a que lui.
Ça cache quelque chose.
Non, non, mais il y a que lui.
Il y a que lui qui bosse comme il faut.
J'ai remarqué aussi.
Parce que lui, on ne l'entend pas.
Quel plaisir de te retrouver, en tout cas.
Donc, pour moi, la conclusion des moyens de communication,
dommage que ça foirait,
mais sinon, je pense que dans l'ensemble, c'était pas...
Bon, écoute, je crois que tous les records ont été battus.
Bravo.
Un fil d'art, tu continues, ça se voit que c'est terminé.
C'est terminé pour toi, un fil d'art.
Tout ça, la semaine prochaine, on trouvera peut-être quelqu'un d'autre.
Ouais, j'ai l'impression, parce que là, le double son, j'aime pas trop.
Par contre, je voulais signaler
que celui qui s'amusa à envoyer un truc bidon sur l'IRC
en mettant avec 10 poules...
Oui, donc c'est faux.
Voilà.
Donc, je vous souhaite une bonne nuit.
Vous allez retrouver Rousseau pour la nuit sans pub.
Et demain, 6h-9h, Barthes.
Et puis, Max à partir de 22h.
Arrête.
Tu vas prendre une gaufre avant la fin, toi.
Et vous allez retrouver Max
à partir de 22h.
Il y aura des surprises, d'ailleurs.
Il y aura des surprises.
Déjà, il y aura Jean-Denis Debert, puis il y aura plein de petites surprises, peut-être.
Non, mais pas par rapport à toi,
mais des trucs nouveaux.
Et moi, je vous retrouverai la semaine prochaine,
si tout va bien.
Bon, à la bonne nuit à tous.
Et je voulais faire un petit cadeau,
je voulais me faire plaisir,
parce que tu as 10 minutes avant,
avant de reprendre le programme officiel de l'antenne,
où il y a une compilation qui s'appelle
F-Communication, la belle français.
Ils ont sorti des compilations
Musique pour Plante Verte.
Ils avaient également sorti déjà une compilation
Megasoft Office 97.
Ils viennent de sortir la compile 98,
avec dedans Nova Nova, LJIA,
Frédéric Galliano, Readymade.
Que les artistes français ont fait un compte
avec des noms un peu étrangers.
Et là, sauf un ou deux,
et là on va écouter Aquabassino
qui s'appelle The Melokey
Voilà.
== Le débat sur New York ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Les débats pas de radio et pas d'insultes de Gérard
Et voilà, donc bienvenue pour, donc Gérard 35, donc bienvenue pour le premier débat
Alors ça, ça, une fille d'art, tu vas te prendre une claque
Tu vas te prendre une gaufre, mais méchante tout à l'heure
Pourquoi ?
Tu me refais ça
Mais attends c'est propre
Non mais je lui avais dit qu'elle avait un surnom
Elle ne me l'a pas dit donc je ne peux pas le démerder
C'est moi qui vais me démerder, c'est pas grave
Donc premier débat qui va porter sur New York
Donc vous pouvez toujours nous appeler au 0875 000
0803 08 5000 et toujours IRC, donc www.fr, jeune radio
Et ça n'arrête pas de monter, on est déjà à 2413,8 connectés
Eh ben c'est joli Gérard
Alors on va accueillir Cutepool, 24 ans, qu'on écoute Fun Radio à New York sur 93.4
Bonjour Cutepool
Salut Gérard
On va accueillir Saucisson à l'ail, 101.9 Paris
Allo
Allez y'a toi, c'est bon
Allo
Salut Gégé
Salut
Non mais c'est parce que je t'entendais pas, donc c'est pour ça
Allo
Allo
Allo
Allo
Allo
Allo
Ça commence
C'est quoi ça ?
C'est à côté, là, ils font des essais, là
C'est ce truc, là
Non
Ça y est, merci
Euh, Sufboun, 21 ans, 103 points, 100.3 à Le Mans
Bonsoir Bill
Big Bill
Big Bill
Euh, tu dis bonsoir correctement et tu l'as pas commencé
Parce que sinon tu vas pas faire la première question, je te le dis tout de suite, ok ?
Bah tu viens de dire que c'était toi qui faisais Bill dans le Big Bill
Bon, je t'ai pas demandé si...
Je t'ai pas demandé à quelle heure elle était, si ta sœur faisait du vélo
Ok
Alors euh...
T'as l'air prêt ou pas ?
Ouais, toi, je te signale que tu es allé voir Pildar tout de suite au standard
Jérard, t'accueille les gens, s'il te plaît
Hé, Gérard, Gérard, Gérard, le...
Non, non, non, j'ai rien
J'ai rien
J'ai rien
J'ai rien
Ah bon ?
Donc euh...
Non, j'ai rien dans le froc
J'ai rien dans le froc
Donc 22 ans, une écoute 94.6 à Salo
Allo
Exactement, bonsoir
Salut, Tony, ça t'apprendra ce qu'on t'avait vachement reconnu
C'est pas grave, c'est pas grave
Ah mais j'ai rien dans le froc, Tony, tu vois
Voilà, donc euh...
Non, mais on va mettre Tony
C'est mon nom de famille
Tony, c'est Arnett
Ouais, c'est ça, t'as raison
Avec cuisses de blours
Salut, Gérard
On écoute à hausse 98.7, hein
Et peau de chambre à dinant 103.5
Ouais, salut, Gérard, ça va ?
Salut
Donc, alors, première question qui porte sur New York
Alors, êtes-vous allé à New York ?
Bon, celui qui commence à rôter déjà, il va commencer à fermer sa gueule
Parce que ça va aller vite avec lui
D'accord ?
C'est du calme, Gérard
Ok, ben celui qui rote aussi
Alors, première question : êtes-vous allé à New York ?
Si oui, quel type de transport avez-vous pris ?
On va demander à Saucisson à l'ail
Ouais, j'y suis déjà allée
Et donc, le transport que j'ai pris, c'est bien sûr l'avion
Et quand j'ai pris l'avion, j'ai énormément faim
D'accord
Question de Gérard, je suis en train de parler
Il y a Davey1 sur l'IRC qui te demande : c'est quoi la fréquence de fun à New York ?
Alors là, je ne sais pas
Et il faudra demander ça à Pildar
Attends, je vais vous donner ça dans deux minutes
Alors, cul de poule
Oui, moi j'y suis allée
J'ai pris des gros taxis jaunes
D'accord
Sous ce boule
Moi, je n'y ai jamais été, mais ça me dirait bien
Tony ?
Non, je ne suis jamais allé à New York
D'ailleurs, j'ai été un petit peu vexé que tu ne m'aies pas invité à aller en avant-première
Attends, ce n'est pas moi qui ai décidé, c'est la radio, d'accord ?
Désolé
Cuisse de blour
Oui, moi j'ai décidé d'aller et j'ai pris l'avion
D'accord
J'ai la fréquence, Gérard
Oui
A hundred four four five
Six point five seven
Non, mais tu parles français, s'il te plaît
You got a man in the film
Oh, derrière vous, vous vous calmez, s'il vous plaît, merci
Non, non, non
La fréquence
A hundred five four point seven
Bon, alors quand tu parleras en français, je te répondrai
Cent quatre point sept
Cent quatre point sept, ça m'étonnerait
Il parlait pour les New Yorkais
chambre oui oui non pas de chambre tu apprends la question qui m'a dégagé bon j'étais en état
plein avec le micro d'accord je crois que t'as pas tellement compris d'aller la question je crois
que non mais je crois que t'as pas tellement compris êtes-vous allé à new york si oui quel
type de transport avez-vous pris tu lui expliques comment ça se passe en débat il comprend mais je
lui dis tu y expliques tu y expliques tu y expliques parce à mon avis il n'a pas tellement
compris le truc donc alors moi tu utilises à brèze d'un gérard pose des conditions et
d'abord
c'est n'importe quoi
avant la fin de l'émission tu pourras peut-être recevoir le restant du café surtout sur ta gueule
ok donc qu'est ce que je voulais dire ouais je voulais dire que donc bon ben j'ai été à
new york on était j'ai été avec samedi donc on a pris l'avion c'était
super bien alors les habitants de new york paye-t-il moins d'impôts qu'à paris on va demander à
peau de chambre bon alors et peau de chambre on t'a sélectionné c'est pour quoi faire
seulement on t'a sélectionné c'était pourquoi faire pour participer au débat ou pour te foutre
de ma gueule je peux vous pas de ta gueule je réponds même pas new yorkien je suis à paris moi
non mais moi je te demande à paris c'est pour ça que j'ai 103.5 dix noms ah oui ah ouais dix noms tu
prendrais pas les gens pour des cons celui qui s'amuse à seul qui s'amuse à dire que je suis
dehors tout à l'heure avait dégagé et je veux pas chercher je vous préviens soit vous répondez
correctement question soit vous vous foutez de ma gueule et vous n'avez pas envie de participer
au débat ça sert à rien qu'on vous sélectionne ok c'est clair et net oui il y a encore des v1 qui 2
qui te demandent si les nouilles york c'est un plat surrénien à la fin pour l'instant on n'est
pas arrivé à la question qu'est-ce qu'on mange là bas alors on va demander un peu de chambre
s'il est réveillé alors tu as commencé à tout de ma gueule là ou quoi je n'ai pas entendu la
question alors que j'ai demandé la première fois apparemment il a dit j'ai pas envie d'y répondre
alors s'il a pas envie d'y répondre du parti c'est pas au débat ça sert à rien de se laisser
s'il vous plaît c'est moi qui commande je vous préviens si on vous sélectionne
on se calme si on vous sélectionne c'est pour participer au débat si vous voulez
pas participer ça sert à rien qu'on vous sélectionne c'est clair et net alors pas
de chambres les habitants de new york fait une moins d'impôts qu'à paris
d'accord pourquoi aussi il faut peut-être expliquer un peu alors tu peux expliquer
non mais attends non mais là je crois que tu as compris ta question mais je ne sais pas
y répondre j'habite pas à new york et voilà je crois pas trop mieux maroc et cuisses de
blour tu peux répéter la question elle vous commence à me les gonfler là mais non mais
j'ai pas entendu mais les oreilles c'est comme le cul ça ça vous avez très bien compris la
question maintenant j'arrête et tu me suis pas avec une semaine alors si j'ai si tu n'as pas
compris la question je passe à tony merci je crois qu'il comprenne pas le sens de tes questions mon
gg alors tony moi je voulais dire que les habitants de new york ils doivent payer un
petit peu plus d'impôts parce qu'il me semble que le dollar c'est plus fort en amérique qu'en
france en fait ouais mais d'ailleurs tu pourrais témoigner même toi parce que tu as vu que mon
c'est qu'ils ont payé plus plus d'impôts parce qu'il paraît qu'il ya un gros monstre qui a tout
détruit dans la ville ça fait qu'en fait ils ont payé plus d'impôts mais attendez il ya une question
il ya booster qui te demande enfin il te demande pas il explique que les habitants de new york ne
paye pas souvent de pot c'est pour ça que les bistrots sont vides non mais non mais je vois
pas du tout le rapport gérard thiel et dans les histoires la bataille qui peut nous en parler non
non pour l'instant on n'est pas en train de parler des cafés d'accord si je boule je pense que le gros
monstre de payer beaucoup d'impôts parce que les gens vont fuir l'art tu me cherches celui qui fait
le con était un ton micro parce que tout à l'heure je vais ça va même se terminer pour
ton matricule alors si vous pour toi moi je pense que il fait beaucoup d'impôts parce que le gros
monstre à l'oeuvre de new york il doit avoir une grosse maison quand même ok saucisse en
l'aïe sérieusement moi je pense qu'à new york que les gens ont plus d'avantages que la france
parce que notamment les problèmes des impôts comme on parle non mais tu peux préciser le fond de ta
mais pourquoi pourquoi parce que il faut qu'il paye des impôts et c'est comme ça d'accord c'est
en dollars gérard non sans de son dollar pour l'instant c'est lui de chercher qui c'est qu'on
est en train de faire le compte de l'euro pour l'instant c'est lui de chercher qui c'est qu'en
train de faire le compte de l'euro pour l'instant c'est lui de chercher qui c'est qu'en train de faire
le compte c'est pas demandé de filard ce signal au lieu d'allumer ta club tu essaies de savoir qui
fait le con parce que sinon c'est toi qui déroule je te préviens tu la cherches tu de suite jamais
toi ce qui fait un l'aïe mystère permet ça suffit d'accord alors tu poules oui ça dépend de ta vie
dans new york et à côté du tower bridge tu payes tu peux répéter la piste et j'ai pas compris le
tu peux répéter la piste et j'ai pas compris le
je peux pas vous dire parce que comme nous on a été on a été dans new york tout ça va être à
new york trois jours tu peux pas dire tu connais le york non maintenant en trois jours tu peux
visiter new york je suis désolé gérard tu as été dans le groupe quoi tu as été dans le groupe c'est
où ça c'est à côté de harlem normal à temps il ya des grands négros avec des couteaux de châssis
c'est tout ce signal qu'on a on a visité certains quartiers et je peux vous dire une chose que c'est
quand même pas évident de se balader là dedans pour vous dire ça tu dis au fil d'art oui mais
je peux pas deviner je n'avais tu peux pas dire c'est ton boulot tu veux faire le sondage maintenant
tu fais ton boulot correctement pas du tout d'accord ok gérard en attendant à propos du
bronx sur hier c'est on me demande si tu as coulé un bon non non donc j'ai pas vous dire s'il paye
plus d'impôts que nous à paris ça je peux pas vous le dire parce qu'on n'a pas eu à faire des
recherches non on n'a pas eu l'occasion de trop discuter avec les gens et tout donc en porte que
on ta gueule à toi je t'emmerde et est-ce que tu as rencontré à bittelborg de quoi tu as rencontré
à bittelborg n'importe quoi toi tu es en train de planer à 24 alors j'ai un tel et à new york pour
voir un film c'est ça bah oui c'était quoi le film de cul à zobzila contre les présences n'a
rien fait gaffe à toi tony parce que tu as l'heure tu as dégagé je te signale tentera de rester à
carreau si tu veux finir les dix questions non mais moi je te dis t'as intérêt à te calmer ok
pas de problème mais pour l'instant on n'en est pas arrivé là d'accord d'accord alors on
commence quand on est à new york leur spécialité d'abord pour vous donc on va demander à
un mec en moto
toi tu cherches d'une sorte un trou bleu il est un portable en plus c'est sûr
allez-y continuer et attend parce que lui veut pas faire son boulot au
c'est bon apparement apparemment il s'est arrêté apparemment il s'est arrêté basique
à tout à l'heure je vais me lever j'ai tant que les mines ça va faire tout drôle à vendre
avant la fin toi je te le dis merci alors pour calmer le débat oxy qui dit qu'un jour il ira à
new york avec toi on y jouera tu verras non mais ça c'est une chanson donc je m'en fous alors que le
mensonge c'est pas gentil de ta part m'a ainsi votre manière j'irai pas à new york avec lui j'irai plutôt
avec ma femme non personnellement j'ai pas trop on comprend pas trop bien ce qu'ils nous disent à
part excuse me excuse me ou qu'un tueur et ça c'est ça là donc on revient sur la 6 à l'aïe
il n'a rien fait gérard il ya jupilère qui te demande si à new york a vu starsky hutch non alors
on revient à la troisième question que m'en sont quand on est à new york leur spécialité on va
demander ça à peau de chambre vous commencez vous commencez à me casser les couilles sérieusement
on est déjà la troisième question vous commencez à foutre un foot boîte merde c'est pas bon une amie si
ça va pas être bon pour le deuxième débat je le sens alors peau de chambre
tu crois qu'ils mangent des frites à bas
tous en même temps s'il vous plaît cuisse de velours je viens de répondre à la question
non mais je demande à peau de chambre c'est pas qui répond c'est pas mal
tony
il me semble aussi que c'est beaucoup d'aval de sauvetage de viande rouge et de frites d'accord
ce boulot moi j'étais dans un fast food et j'ai pris un menu mcgaver
anthony tony tony tony laisse le parler donc j'ai pris un menu mcgaver un couteau suisse
d'accord tu vois mon pote à temps qu'il y a un couteau suisse une boussole et un sandwich au paté
d'accord tu vois mon pote attendez j'ai un couteau suisse j'ai un couteau suisse et un sandwich au pâté
d'accord tu vois mon pote attendez j'ai un couteau suisse et un sandwich au pâté
ça c'est pas comestible dans ce cas tu sais ce que tu vas faire tu vas aller voir fildar
tu vas aller voir fildar au standard maintenant ça va être terminé pour toi
je peux pas l'aider hein non non mais c'est bon tu prends quelqu'un d'autre parce que j'aime pas les cons qui s'amusent à dire des conneries
donc on n'a pas le droit d'être drôle saucisson à l'ail
alors la nourriture la plus répandue je dirais les hamburgers les hot dogs les frites et les oeufs brouillés
et comme c'est ça je prendrais une pomme d'accord cuttool
bah moi j'ai entendu dire qu'ils faisaient des hot dogs avec des chiens écrasés mais bon
alors cuttool cuttool oui je crois que t'as pas tellement bien compris la question
bah si arrête pas vas-y non mais attends tu crois que je m'amuse à faire que ça toute la soirée
je vous demande ce qu'ils mangent je t'ai dit ils mangent des hamburgers faits avec des chiens écrasés
ouais bah ça ça rend signe qu'on mange des bêtes
non mais pas du tout j'ai l'impression que moi j'ai l'impression que tu saurais ce qu'ils font des hot dogs avec des chiens écrasés
d'accord alors moi je peux te dire une chose que c'est beau donc le
les plats le plus qu'il y ait demandé
attends c'est le qui s'amuse à
à rnipler comme un comme un un bœuf
c'est Sandy alors Sandy à ton merde toi d'accord pétasse
ça ça va aller vite maintenant
je vous préviens je modère pas mes mots alors
ah bon on a vu là
gare au gorille
donc donc qu'est-ce que je disais donc ouais je voulais répondre donc bah c'est sûr que
la spécialité d'avoir c'est hamburger brouillé voire même café du café souvent c'est hamburger café là-bas en règle générale donc
ouais non mais c'est vrai qu'ils mangent aussi des glaces mais je pense que merci pour le larsen quand je parle c'est sympa donc je peux dire que c'est vrai qu'il y a aussi il y a des glaces mais quand il fait froid ça m'étonnerait
c'est vrai qu'il y a beaucoup Gérard c'est vrai qu'il y a beaucoup d'obèses aux états unis
non non mais je peux je peux dire que en règle générale là dans dans dans les quartiers attendez s'il vous plaît merci déjà je vais couper je vais te répondre Tony après mais il y a une question hier c'est que peut-être important oui il y a Jardis Couture qui te demande quand tu es allé à New York est-ce qu'il y avait encore le vaisseau d'indépendance B au-dessus de l'Empire State Building non qu'est-ce que je voulais dire
merci c'est pas à Manu qu'il faut les envoyer c'est à moi d'accord
alors pour la première question êtes-vous déjà allé à New York alors il y a 50% des gens qui ne connaissent pas New York dans la Manche alors ça la Manche c'est dans le département 50 donc je vois pas du tout l'Europe
il y a New York là-bas non mais il faut passer par la Manche pour la New York c'est la mer la mer tu connais pas la Manche non mais attends tu me dirais il faut traverser la Seine pour aller à Suresnes c'est pareil à Broutille
32% des gens répondent ne répondent pas aux mondiaux donc je vois pas du tout le rapport avec êtes-vous déjà allé à New York qu'est-ce qu'il y a encore 18% sont allés à Euro Disney alors je sais pas si Euro Disney ils veulent parler d'Euro Disney celui qu'il y a à Paris mais à New York ça s'appelle pas Euro Disney
c'est même pas Disneyland
c'est Disney World
c'est Disney World
je crois que
le parc d'attractions là il est en
il est en voie de disparition
oui Rigo
il y a Raptor qui te demande
vu qu'il n'y avait pas le vaisseau d'indépendance D
est-ce qu'il y avait King Kong sur l'Empire State Building
non plus
donc je répondais à qui c'était
donc Tony tu peux me
je répète pas la question
donc tu voulais me parler s'il y avait des obèses
voilà j'ai très bien compris
je répète pas la question
si ça te plaît pas mon pote tout à l'heure tu vas dégager
et puis je vais pas te répondre tout de suite
vas-y on te réponds quand même
alors donc pour te dire s'il y avait des obèses là-bas
je sais qu'on en a vu pas mal
et c'est vrai qu'il faut voir aussi ce qu'ils mangent
parce que quand tu vois le nombre de restaurants
qui sont les uns à côté des autres
ça fait un restaurant tous les 20 mètres à peine
grosso modo
et je peux te dire une chose
grosso modo
il y avait un restaurant tous les 20 mètres
oui Rigaud avant qu'on fasse une pause
non il me demande si
attends
c'est méchant il parle de Sandy
bon alors c'est pas la peine
donc alors
j'ai une question
est-ce qu'ils ont toujours le syndrome de la vache folle au McDo
non mais attends je vois pas du tout le rapport
avec New York là
dans les hamburgers
non mais attends je vois pas du tout le rapport
parce que le temps c'est pas le temps
je vois pas du tout le rapport parce que le temps c'est pas le temps
je vois pas du tout le rapport parce que le temps c'est pas le temps
je vois pas du tout le rapport parce que le temps c'est pas le temps
le truc sur la vache folle
ça vient pas de New York
ça vient d'Angleterre
donc
vas-y toi
parle plus fort comme ça
on comprendra bien
donc
oui
moi j'aimerais te poser une question
est-ce que tu crois que la viande qu'ils mettent dans les hamburgers
est-ce que c'est la même viande qu'on prend
attends 5 minutes
tu parles encore plus fort je comprends pas
c'est de la viande de riz
c'est de la viande de riz dans les hamburgers
attends mais je pense à les 24 lignes
je suis en train de me faire une question je suis méchant
attends 5 minutes
je vais bouffer ton saucisson en lait
attends tu fermes ta gueule toi connard
ok connard
écoute je fais les 24 lignes
ouais tu fais les 24 lignes et tu parles moins fort
quand les gens ils parlent ok
allô
non Gérard arrête arrête
arrête de le frapper
Gérard arrête
il continue ton débat
bon alors saucisson en lait
vas-y je t'écoute
vas-y
avant qu'on fasse ta pause
oui donc je voulais te poser la question suivante
est-ce que tu crois que la viande qu'ils mettent dans les hamburgers
est-ce que tu crois que c'est la même viande qu'en France ?
si je pense si parce que c'est
faut dire une chose que les hamburgers
donc c'est des trucs qui sont apportés d'un peu partout dans le monde
donc c'est de la viande hachée
donc je pense que
ça peut être de la viande fabriquée aussi
ouais mais je pense
bon on arrête pour cette question
maintenant tout le monde a répondu
alors que représente New York pour vous
et on va s'écouter
on va s'écouter quoi ?
la croûte des pieds de ma femme
sont bonnes avec du caviar
et on se retrouve tout de suite après
au 0800 308 5000
et 0870 5000
et toujours www.inter.radio
sur le site internet
que Rigo vous attend
à tout de suite
à tout de suite
à tout de suite
au revoir
bonne radio
et donc il y a toujours Rigo
qui vous attend sur le site
internet www.fr
j'ai une grande nouvelle
on a déjà dépassé les 3000 personnes
alors qu'il est qu'une heure du matin
on est en train de voir tout l'heure ce qu'on a
3104,3
ouais mais j'espère qu'il y en a pas
qui vont s'en aller à cause de fil d'arbre
on vient de s'écouter quoi Gigi ?
on vient de s'écouter
les croûtes de pieds de ma femme sont bonnes
avec du caviar
vous pouvez toujours nous appeler
au 0800 308 5000
il y a toujours monsieur fil d'arbre
quand il sera décidé à faire son boulot correctement
parce que les 24 lignes sautent
mais il prend personne au standard
donc ceux qui essayent d'appeler
n'ayez crainte
c'est fil d'arbre qui déconne
allô ?
hein ?
on retient les lignes qui sautent
alors donc on récupère cul de poule
c'est bien si Manu ?
oui
je peux avoir les gens ?
ah bah excuse-moi
merci
donc on récupère cul de poule
oui je suis là
rebonsoir
rebonsoir
saucisson à l'ail
salut
salut
euh sudboule
toi tu viens d'arriver
bonsoir
euh Tony
salut ma couille
salut
cuisse de poule
cuisse de blour pardon
moi je suis là
euh pot de chambre pour terminer
allô Gérard
ok
alors donc la question c'est
que représente New York pour vous ?
alors on va demander ça
bah on va demander ça
bah bah bah
cuisse de blour tiens
bah pour moi ça représente un lieu historique
enfin je parle de la société de liberté
ouais
et
et
voilà c'est tout
ça euh
pour toi euh
ah ouais mais toi tu y as jamais été
ouais ouais je parle de
ouais ouais
donc euh
avec les boutiques en fait
hum d'accord
mais euh t'as pas eu l'occasion de
d'aller dans
dans dans le centre de
dans le centre ?
non non
d'accord
euh pot de chambre ?
ouais bah moi ça me fait penser aussi à ce qu'il y a de la liberté
et puis au cinéma
mais attends
mais pourquoi le cinéma ?
euh je sais pas si t'as vu Dimorphi dans la presse à New York ?
mais non mais mais attends
mais mais attends pot de chambre
non mais je vois pas du tout le rapport que représente New York pour vous
toi tu me dis la statue de la liberté et les cinémas
mais attends mais je vois pas du tout le
il a raison moi j'ai vu aussi euh perversion
non mais attends Tony pour l'instant je demande à pot de chambre
oui oui
bon alors vas-y Tony si tu... bon toi pour toi c'est le cinéma et la statue de la liberté c'est ça pot de chambre ?
hum
hein
euh Tony
non mais je voulais dire qu'il avait raison parce que moi j'avais vu perversion anal à New York aussi
et ça parlait de New York et puis il y avait Antoine Lefond de New York
ah Delphine excuse moi
allô ?
ouais salut chérie ça va ?
ça va ?
ouais
non mais euh Tony
ouais
Tony tu arrêtes s'il te plaît ?
je te rappelle plus tard là je parle à Jean-Loup
non Tony s'il te plaît
je parle au bouffe de l'antenne
ok ok
Tony !
euh ouais et puis aussi ce que ça m'inspire aussi New York c'est des filles blondes qui vont se baigner à moitié à poil en baillot de bain rouge dans la tamise
non mais attends parce que là je vois pas le rapport
tu veux dire la série ?
euh Suzeboule
ouais ça me fait penser à King Kong et Godzilla
d'accord
ouais tu vois tu peux...
je vais répéter la première question du débat je vais y répondre
non non je répète plus les questions
euh saucisson à l'ail
alors ce que ça représente bah la statue de la liberté les vacances et évidemment les beaux garçons
d'accord ah ben
donc voilà
cul de poule
ouais moi ça représente 6 mois de ma vie
je suis partie 6 mois là-bas j'ai fait la fête pendant 6 mois quoi
ouais mais alors pas con alors comme toi tu y as été pendant 6 mois
ouais
donc tu peux me dire qu'est-ce que t'as visité ?
j'ai visité plein de trucs mais j'ai surtout fait la fête
en fait j'étais dans les boîtes
j'étais pas là-bas pour visiter vraiment quoi
j'allais à la statue de la liberté dans l'Empire State Building
pourrais-tu nous inviter quand même ?
voilà
pourrais-tu nous inviter ?
mais attend
non mais la prochaine fois j'y retourne bientôt
y'a une question hier c'est Rigaud non ?
ouais y'a Davy Wan
laisse tomber Rigaud laisse tomber
non mais attends
euh Rigaud
impose-toi Rigaud
assieds-toi Gérard
toi fais gaffe parce que tout à l'heure j'étais éclaté toi
Gérard y'a juste Davy Wan qui te demandait si New York c'était la capitale des Etats-Unis
euh je... non c'est Washington
pour le remettre à sa place
voilà alors euh donc tout le monde a répondu donc euh
pour moi que représente New York ?
donc bah bien sûr y'a la statue de la liberté
y'a le stadium building
y'a le central park
y'a la cinquième avenue qui est super belle à visiter avec euh
Manhattan
hein ?
Manhattan
c'est où ça ?
c'est New York
ouais mais euh attends tu peux préciser le fond de...
Manhattan bah euh
Manhattan ?
ouais
ouais bien sûr on a visité tous ces coins là
on a même visité
le Wood Boulevard ?
mais on a même visité le... les quartiers euh chinois, italiens et... et autres
t'as visité le Wood Boulevard Gérard ?
hum ?
t'as visité le Wood Boulevard ?
bah bien sûr on... je t'ai... qu'est-ce que je viens de dire ?
on a fait la cinquième avenue on a... on a fait qu'une marché de... durant les... les trois jours
mais qu'est-ce que t'as dit en le...
attendez attendez tout le... tout le monde... bah pas tous en même temps
ouais mais Tony je voulais te demander si t'étais allé dans le quartier euh Black à Amsterdam
bah je viens de... eh qu'est-ce que je viens de dire dans les quartiers noirs espèce de... d'abruti ?
ah excuse-moi j'ai pas entendu un pralem donc
c'est un pralem ?
bon euh celui qui... celui qui reçoit du monde là c'est plus la peine qu'il... qu'il participe au débat parce que ça commence à m'énerver
eh dégage de chez toi tu les fais pas rentrer
ok
ok
on veut pas... on veut pas... on veut personne
arrêtez de rigoler là
tu gères un peu ?
eh tu fais quoi ?
oh non je fais...
tu fous ta merde
mais non
mais j'ai pas que j'ai une émission à faire avec le boeuf de soin de...
oh non
mais t'es en train de foutre ta merde ou quoi toi ?
oh là là c'est nous
New York
euh donc qu'est-ce que je voulais dire moi c'est tout
Gérard ?
oui
il y a Ethan sur IRC qui te demande si t'as rencontré des stars à New York
euh alors qu'on... non on a pas eu l'occasion d'en voir à part que ils puissent... ceux-ci sont à l'aïe il y en a dû voir euh...
euh moi j'ai vu Al Pacino et... et Jean Reno
bon alors celui-là c'est plus la peine maintenant Fildar tu fais ton boulot correctement
président de la république des Etats-Unis Bill Clinton
d'accord euh Fildar
écoute ton micro et tu me gères celui qui est en train de recevoir du monde parce que ça m'énerve
je voulais te poser une question Gérard je voulais te poser une question
est-ce que t'as été dans la... dans la rue tu sais où ils font leurs... ils laissent des empreintes de pieds là c'est avec leur nom ?
euh ouais on l'a visité aussi ça on y est passé
c'est Hollywood ?
ouais c'est dans Hollywood boulevard
bon Fildar tu gères maintenant ça commence à bien faire
je vais ouvrir alors
d'ailleurs je vais t'ouvrir mon poing dans ta gueule toi
t'es allé à South Fork ?
non
euh les touristes vont tu le puces ?
je vais plus facilement à New York qu'à Roubaix
c'est pas la même ambiance
ouais ouais c'est sûr
c'est pas pareil
elle est bien elle est bien la question
donc euh on va demander à Tupoul
ouais bah ouais moi je vais plus facilement à New York ouais
je suis désolée pour les gens qui habitent Roubaix mais euh non non je peux pas là
d'accord euh... ceux-ci sont à l'aïe ?
non moi je pense que les touristes peuvent se rendre plutôt à Roubaix plus facilement
ouais non mais attends
parce que y'en a un qui est en train de faire le con tout à l'heure si je me lève il va s'en prendre une il va dégager des studios vite fait lui
ouais donc je te disais je pense que les touristes peuvent se rendre plus facilement à Roubaix
je vais t'expliquer pourquoi
parce qu'à Roubaix ils peuvent s'y rendre en voiture ou en train et que c'est moins cher que l'avion
c'est à quoi avoir à Roubaix ?
à l'avion quand tu payes ton billet de train déjà que ça te fait cher
en plus tu fais la queue pour avoir ton billet de train donc euh...
mais t'as pas la statut de la liberté à Roubaix
mais y'a des "bouldings" à Roubaix ?
y'a pas de "bouldings" là-bas
non mais vous la laissez parler c'est tout
ok, bon merci
euh... Susboul ?
bah moi je pense que c'est quand même plus facile d'aller à Trifouille et Jours parce que c'est en France et c'est plus près
n'importe quoi toi
Tony ?
ouais moi tant qu'à faire je préférerais aller à New York avec plus de poules qu'aller à Roubaix
ouais ouais ouais ouais
euh... Cuisse de Blour ?
bon bah je préfère aller à New York c'est clair
on t'emmènera
on fera des trucs à Troyes
attends attends
y'a D-Light sur IRC
ils demandent quelle langue on parle à Roubaix
bah à Roubaix on...
Roubaix quoi ?
euh... non on parle le ch'ti-mi
donc comme Roubaix c'est dans le nord donc on parle le ch'ti-mi
voilà euh...
Potcham pour terminer
ouais mais on s'intéresse plus facilement à New York aussi ouais
on part tous les 5 là
d'accord, bah moi je peux vous dire
je préfère aller à New York qu'à Roubaix
parce que à New York au moins c'est...
on t'en met un peu comme moi alors ?
moi je préfère aller à New York parce qu'il y a plus de trucs à visiter que dans le nord de la France
voilà voilà voilà
donc alors y'a peut-être un...
un petit sondage là mais je pense que
ça m'étonnerait que ça fasse plaisir aux gens
non monsieur Edou...
Edou New-Yorkais de naissance
60% ont répondu euh...
euh... 60%
des gens le sont depuis le 1er janvier
je vois pas du tout le rapport
ça ça a rien à voir
euh... après j'ai 30%
des gens sont...
des gens le sont depuis
que Dieu est là
alors là je vois pas du tout le rapport
10% des gens se...
se sont fait vacciner
contre New York cet après-midi
n'importe quoi
ça c'est des conneries au PD de...
au PD de Fildar
donc ça a rien à voir avec les questions
donc je sais même pas pourquoi qu'on me donne
des sondages comme ça, ça sert à rien
du tout
la sixième question celui qui s'amuse
à vouloir répondre qui est pas sur l'antenne
il va s'écraser merci
bonjour Gérard
alors qu'est-ce qui vous fait le...
qu'est-ce qui vous a fait rêver à New York
bonjour Gérard
hé ça y est t'as fini
ça y est t'as fini toi de dire allô Gérard là le connard
putain c'est bizarre on l'entend plus
alors euh...
bonjour Gérard
bah moi je sais pas aller à New York alors euh...
je peux pas savoir ce qui peut me faire rêver le plus quoi
non mais attends tu peux imaginer parce que t'as...
ils en parlent quand même...
non mais tu peux imaginer ils en parlent quand même à la télé
non mais tu peux imaginer ils en parlent quand même à la télé
non mais tu peux imaginer ils en parlent quand même à la télé
ouais d'accord je crois que euh...
il est blasé il est blasé
non non pas du tout mais euh...
j'ai une idée je crois que je vais le dégager
ouais je pense
plus de blours
bah les beaux garçons le soleil
t'as pas besoin d'aller à New York ma petite
t'as pas besoin d'aller à New York ma petite tu viens à Paris
bon Tony s'il te plaît tu te calmes
non mais Tony tu te calmes ou sinon tu vas faire comme pas de chambre
non mais Tony tu te calmes ou sinon tu vas faire comme pas de chambre
non mais pourquoi aller si loin
on la laisse parler ok
vous la laissez vous la laissez
Tony s'il te plaît tu laisses parler les gens
après on te laissera parler d'accord
alors tu laisses parler un peu les gens aussi
ok merci
donc cuisse de blours
c'est bien ce que je dis
mais je suis allée que 3 jours donc euh...
tu y as été 3 jours ? ouais
et de quand à quand ?
bah j'en sais rien moi il y a 2 ans au moins
d'accord Tony donc maintenant
ouais mais New York j'ai eu l'occasion de connaître
ouais mais New York j'ai eu l'occasion de connaître
mais en fait que par la télé
et puis ça me dit rien en fait je viens à Paris
oui oui
donc New York pour toi
personnellement ça
ça me dit rien franchement
d'accord euh...
suisse boule ?
bah moi j'aurais voulu rencontrer Jock Ewing
mais il est mort
non mais attends
qu'est ce qui vous a fait
rêver à New York ?
bah c'est Jock Ewing dans son orange
non mais attends je vois pas du tout le rapport
avec la question
Tony s'il te plaît
merci
bon alors suisse boule ?
et bah c'est Jock Ewing parce que...
bah vous vous réveillez un peu parce que là c'est mort quoi
oh punaise bon allez
au revoir pour les saucissons à l'ail
oui alors moi je vais te dire
franchement ce qui me fait vraiment rêver
c'est d'habiter dans un grand building
et de voir les habitants de haut
n'importe quoi
non mais ça euh...
même si on monte au 40ème étage on te voit
non là je vais te dire une chose
que ça m'étonnerait Tony
non non Tony
je vais te dire une chose
Tony
non mais moi j'ai pas d'odeur
Tony s'il te plaît
merci
tu te poules
bah moi en fait j'ai rêvé de tout
et puis en fait si tu claques un peu de frites
tu peux assouvir tous tes fantasmes là bas quoi
d'accord je répondrai après
oui Rigo
sur l'IRC qui te demande
si tu t'es bien bourré la gueule à New York
là je vais te dire une chose tu vois
là c'est que
le plus gros problème à New York
c'est que si tu te fais piquer avec de l'alcool
tu vas directement en cabane
donc il faut
mais il n'y a pas beaucoup de cafés à New York
euh non c'est plus des
c'est plus au nord hein
on va préciser même avec saucisson à l'ail
comme on y a été donc on peut préciser
c'est que là bas c'est rare que tu as le droit de boire de l'alcool
ou sinon faut que tu la planque dans un espace
moi je crois pas y avoir été avec toi
c'est moi qui y suis allée
c'est pour ça que là tu dois faire
arrête arrête c'était avec toi
vous êtes allé voir Zodzilla ?
saucisson à l'ail ?
tu te fous de moi là ?
bah oui je me fous de toi
attends toi je te jure
t'as intérêt de répondre aux prochaines questions correctes
il y a Rennes sur l'IRC
qui te demande si tu te fais piquer avec de l'Adidas
tu vas en prison aussi
parce que le parfum tu as le droit d'en acheter
mais pour revenir à la question d'Ethan
donc pour l'alcool
il faut que ça soit planqué
et ça je pense que personne
pourra me le contredire
c'est qu'ils mettent ça dans des
dans des poches
dans des trucs
qu'on fasse pas les gars
ah mais quand tu vas dans les cafés
c'est pas dans les cafés
arrête
arrête de lui mettre des coups de pied
arrête de lui mettre des coups de pied
tu vas te prendre le poing dans ta gueule dans peu de temps
allez enchaîne le
alors donc moi qu'est-ce qu'il m'a fait
qu'est-ce qu'il me fait rêver
oh vous fermez votre gueule ou quoi là maintenant
ah ouais Gérard ce que tu aurais dû faire c'est
mettre de l'eau de vie dans une bouteille d'évian
comme ça tu aurais eu ta douce quotidienne d'alcool
oh Gérard
ah oui
j'ai fait un like et il m'écrit pas du tout
il est parti ?
non d'accord vous allez arrêter de punir votre connerie
maintenant vous allez peut-être reprendre le débat correctement
I'm leaving today
branche ta gueule toi connard
un jour Gérard sera à New York avec toi
Gérard Gérard Gérard Gérard
Gérard Gérard Gérard Gérard
Gérard ton débat toi Gérard
assieds-toi
Gérard assieds-toi
et reprends dans le calme avec les auditeurs
c'est bon un jour Gérard sera à New York avec lui
allez allez allez
ouais marque toi bien toi
espèce de connard va
c'est une question
bon les auditeurs
oui
la question de Gérard
on écoute
alors pensez-vous qu'il fait jour
et qu'il bouge salope
bon
et ben c'est simple on va s'envoyer un livre
non mais on peut pas
non non tu peux pas je veux pas le savoir
moi Fildar il fait pas son boulot
on va reprendre le calme Gérard
on arrête on arrête
il y a un petit débat calmement
il y a D-Light sur l'IRC qui te demande
si tu étais en première classe dans l'avion
et où étaient la piscine et les cours de tennis dans l'avion
déjà pour lui dire
il n'y a pas de piscine et il n'y a pas de cours de tennis
en première classe c'est réservé aux hôtesses de l'air
donc on n'a pas eu l'occasion
d'être en première classe
il n'y a pas de première classe dans les avions
il y a un écran Gégé
comment ? il y a un écran
ouais il y a un écran télé
donc qu'est-ce que je voulais dire
du béton et du macadam
la plus belle piscine
c'est la plage
tu sais ce qu'on va faire
si tu veux poser la question
on va mettre un petit disque
je crois que c'est mieux
toi tu vas me gérer ça
parce que tout à l'heure je vais t'éclater
je le sens
combien on est ?
on est toujours plus de 3500
ça va alors je peux faire le con
je crois que tu vas faire le con
on va le faire avec mon pied dans le cul
pose la question Gérard
alors pensez-vous qu'il fait jour
à New-York quand il est 18h à Paris
et qu'il pleut et on s'écoute
les petits pousseaux en Paname
avec les chiens d'Henri en break
je te signale
et voilà donc on vient de s'écouter
les petits pousseaux de Paname
avec les chiens d'Henri en break
il est toujours 1h22
exactement
donc vous êtes toujours sur Fun Radio
donc vous pouvez toujours nous appeler au 0803 085
ou au 0875
où il y a Fildar
qui vous y accueille
qui ne veut pas vous répondre
c'est pas de notre faute
et puis Rigo toujours
toujours l'internet
lui il bosse bien
donc www.fairfunradio.fr
et
ouais ? donc tu me disais ?
il y a rien là maintenant ?
on est un peu moins de 4000
3856
moins 3 parce qu'il y en a 3 qui viennent de partir
bah ouais à cause de Fildar
bravo
ils allaient se coucher ils connaissent New-York
et ils s'en foutent de ton débat
tant pis pour eux donc on est quand même à 3800
c'est quand même pas mal
à 1h23 du matin
donc c'est bien
donc on récupère Cutpool
bonsoir Gérard, bonsoir Manu, bonsoir Fildar
bonsoir
bonsoir à tous
je te prends
par devant et par derrière
y'a pas de problème
t'es salope
t'es salope à ton merde toi pétasse
c'est quand tu veux hein
oh ceci soit à l'aïe attend
je réponds à celle qui vient de dire
y'a pas de problème Gégé
non mais moi je t'emmerde salope au pied
c'est gentil hein
d'accord ? alors celle qui s'amuse à dire des conneries
va dire tout de suite d'accord ?
c'est clair et net
plus de blour
j'ai le boule
j'ai les boules
j'ai les boules
attends j'ai les boules
c'est pas moi
c'est bien c'est bien
pour en venir au débat
pour en venir au débat
tu le dois
1h24 on recommence
juste après la pause
toi tu fous ta merde
tu les laisse dire les auditeurs
c'est bien ils ont raison continue
à cause de toi ça va descendre
celui qui s'amuse à recevoir du monde
c'est pareil
donc j'accueille le dernier auditeur
c'est Géléboule qui gratte
bonsoir
dis donc tu pourrais mieux écrire
on t'a pas appris à écrire
bonsoir à tous
bonsoir
bonsoir
bonsoir
bonjour
bonjour
enchaîne Gérard
alors 7ème question
le menu il est vélaire aujourd'hui
bon toi tu le teues s'il te plait
pensez vous qu'il fasse
pensez vous qu'il fesse
oh tu la viens une salope
ok quitte poule
ou puce de blour
là je vous préviens vous allez vous calmer
les deux salopes qui nous restent
Gérard pour en revenir au débat
il y a Yankee sur l'IRC qui te demande
si on peut payer les putes de New York en euros
alors là pour l'instant
je peux pas répondre parce que
l'euro c'est pas avant janvier 99
et les billets sont pas avant
ça sera que les pièces qui seront sorties maintenant
toi je t'emmerde
ok
bonsoir lui
bonsoir
allez pour Tony c'est terminé
Tony c'est terminé pour lui
allez hop
tu le bires tu prends quelqu'un d'autre
allez hop terminé
comme ça on entendra pas
le téléphone sans arrêt
Gérard c'était pas la même sonnerie
que le téléphone de Tony
c'était chez moi mais j'ai décroché
ça commence à bien faire
ça y est j'ai décroché le téléphone
Manu tu m'éteins le double son
j'ai rien mis Gérard
mais j'ai rien mis
je m'en fous
je pense pas à la 7ème question
vas-y vas-y
bon alors fil d'art
tu gères ou sinon je t'éclate
écoute je cherche des auditeurs je peux pas tout faire
autrement je fais la vaisselle aussi
pensez-vous qu'il fasse jour à New York quand il est 18h à Paris
et qu'il pleut
on va demander à ça à cul de poule
ça dépend
ça dépend
ça dépend qu'il soit laissé lever ou pas
non mais
tu m'as arrêté de dire allo constamment
parce que ça commence à me faire chier là
d'accord
bon alors tu t'écrases toi pour l'instant
quand je t'appellerai poitrine
tu sortiras de sous le lit toi
excuse moi à la place de Tony
j'ai trouvé un auditeur très sympa au demeurant qui s'appelle mon chéri.
Salut ! Salut mon chéri ! Tu peux foutre où tu veux, tu le sais. Salut ! Salut ! Je te signale,
Fildar, fais gaffe à ce que tu me prends comme auditeur parce que c'est toi qui es responsable
si tu ne me prends pas au-dessus des 24 lignes. D'accord ? On verra toi. Alors saucisson à l'ail.
Alors te dire qu'il pleut quand il est 18 heures, je ne crois pas. Pensez-vous qu'il fasse jour à
New-York quand il est 18 heures ? Et qu'il pleut ? Je n'ai pas compris la question. Alors je te dire
qu'il pleut là-bas, je ne crois pas. D'accord. Je ne pense pas non plus. Attends, saucisson à l'ail,
je te préviens, tu es de poule ou tu es de mort, vous avez vu ce que j'ai fait ? Vous avez vu ce que
j'ai fait ? Je te préviens, tu es de poule ou tu es de mort, vous avez vu ce que j'ai fait ? Je te préviens,
tu es de poule ou tu es de mort, vous avez vu ce que j'ai fait ? Vous fermez-vous sur vos gueules,
vous fermez-vous sur vos gueules, les deux pétasses. Ce n'est pas moi. Tu ne nous insultes
pas comme ça, alors ce n'est pas moi. Alors vous fermez vos gueules. Ce n'est pas nous. Mais
effectivement, je crois qu'il peut faire jour quand il est 18 heures à Paris, voilà. Et quand
vous avez fini de prendre de la poudre de ma gueule, là. Je sens qu'il va prendre mon poing dans
ta gueule. Tu n'écoutes même pas ce que je te dis, là. Pour l'instant, il y a des connards. Moi,
tu n'écoutes même pas les questions qu'on te pose.
Gérard, t'as payé combien pour faire la big pile ?
Et ta soeur, elle a payé combien pour faire une pipe ?
Bon, Gérard, tu continues ton débat, là ? Tu sues, franchement ?
Bon, s'il vous plaît, s'il vous plaît, les auditeurs, on se répond à la question.
Alors, on continue, je repose la question. Saucisson à l'ail, pensez-vous qu'il passe
jour à New York quand il est 18 heures à Paris et qu'il pleut ?
Je viens de te répondre, je viens de te dire qu'il ne pleut pas et que là-bas, effectivement,
il peut faire 18 heures quand il fait jour, là-bas.
D'accord, je te prends.
Moi aussi.
Bon, alors, toi, tu dégages comme ça, t'as tout de suite répondu.
Mais il n'a pas répondu, Gérard, laisse-le répondre.
Mais attends, pour l'instant, il est en train de me prendre pour un con.
J'ai dit que tu voulais que je te prenne, c'est pour ça.
Toi, Manu, tu fermes ta gueule et tu fais ton boulot correctement.
Je n'ai rien dit.
Quand je te prends, tu réponds à la question pour la dernière fois.
Mais bon, moi, je pense qu'il fait nuit à New York.
Quand il fait jour, à Paris, du Luxembourg.
Bon, alors toi, tu n'as pas compris la question, tu dégages ça.
Réexplique-lui, Gérard, plutôt.
Pensez-vous qu'il passe jour à New York quand il est 18 heures à Paris et qu'il pleut ?
C'est clair, net, précis.
Non, moi, je pense qu'il fait nuit à New York et qu'il neige à 18 heures à Paris.
A 18 heures, il fait déjà jour à New York et à Paris, il fait nuit.
Je te signale.
Oui, mais ça, c'est pas vrai.
Parce qu'il y a un décalage d'horaire de 6 heures.
Pourquoi tu ne l'expliques pas, ça, au lieu de leur poser une question ?
Toi, tu fais ton boulot, tu la perds.
Ce n'est pas au Big Bill, là.
Ce n'est pas à toi que je m'adresse.
Ce n'est pas au Big Bill, tu ne poses pas des questions pour gagner des cadeaux.
Ce n'est pas à toi que je m'adresse.
Gérard.
Oui ?
Ça dépasse, ça dépasse, quoi.
C'est qui ?
C'est les saucissons à l'ail.
Oui ?
Gérard, pour revenir au débat, il y a un VNS sur l'IRC qui te demande si les New Yorkais dorment sous la pluie le jour à cause du décalage d'horaire.
Ça, je ne peux pas dire parce que le décalage d'horaire, je ne sais pas s'ils le font aussi ou pas.
Donc, je ne peux pas lui dire.
Est-ce que toi, tu en as vu qui dormait le jour sous la pluie ?
Là-bas, on n'a pas eu l'occasion d'avoir de pluie, donc je ne peux pas le dire.
On n'a pas eu l'occasion d'avoir de pluie.
OK.
Alors, tu es en série ?
Oui.
Moi, je pense qu'à New York, déjà, il pleut tout le temps.
Ah oui ?
C'est un phénomène qu'on peut se trouver.
Et en fait, à cette heure-ci, à New York, il doit faire jour.
Il est quelle heure ? Une heure plus ?
Il est 18h17 à New York, exactement.
Oui, il y a...
Oui, oui, oui, 18h17.
OK.
Cuisse de blour ?
Je n'en sais rien du tout.
Attends.
Tu n'en sais rien ?
Oui, c'est vrai.
Non, mais ça va, tu ne veux pas que Sam t'achète un lit non plus, non ?
Oui.
Tu fais bien ton boulot, là ?
Bah ouais.
Oui.
Ah bah, dis donc.
Tu ne me dirais pas.
Bonne nuit à toi.
Ouais, bah, l'autre, il est vautré sur les deux sièges.
Monsieur, il n'est même pas capable de prendre les gens au standard.
Alors, les 24 lignes sonnent.
Les gens, ils s'amusent à appeler.
Monsieur ne veut rien prendre.
Monsieur, il est fatigué, il faut le comprendre.
Non, mais il est fatigué pour rien de la journée.
Bon, Gérard, pour en revenir au débat, il y a Ethan sur IRC qui demande si tu as visité une radio à New York, genre Fun Radio.
Non, là-bas, on n'a pas eu l'occasion de visiter.
Tu as visité des radios.
Si, à ce qui paraît, tu as été invité pour l'émission de World Siam.
C'est ça, tu as raison, toi.
J'ai les boules qui grattent.
Il y a des champagnes pour ça.
Oui, Gérard.
Moi, je suis, je suis d'origine New Yorker.
OK.
Et je pense que, enfin, je pense que, enfin, le temps, le temps, oui.
Oui, oui.
OK.
D'accord.
D'accord.
Tu as vu Big Bill ?
J'ai les boules qui grattent.
Tu dégages.
Au revoir.
Au revoir.
Au revoir.
Tu ne veux pas dégager.
Il vient de New York.
Non, je ne le dégagerai pas.
Au revoir.
Au revoir.
Je ne le dégagerai pas.
Il est de New York.
C'est intéressant.
Il prend son boulot comme il faut.
J'ai vu la Big Bill Tower.
OK.
Bon, ben, moi, quand Pilar prend son boulot, je continuerai le débat.
Attends, j'essaye d'avoir des New Yorkais parce que tu fais un débat sur New York.
Je me suis fait chasser ta journée.
Le New York.
Quand ?
Quand ?
Quand ?
Quand ?
Tu n'as rien foutu.
Tu n'as rien foutu.
Tu n'as rien foutu.
Alors, on le dégage.
Non, on le garde.
Non, non, non, non.
Gérard, il y a Turpentine sur l'IRC qui te demande si tu es monté sur la statue de la
liberté.
Est-ce que d'en haut, tu as vu la tour Eiffel ?
Non.
La statue de la liberté, de toute manière, elle était trop loin et on n'a pas pu monter
dessus.
Elle était partie ?
Non, elle est trop loin par rapport à là où on était du 102ème étage du… je ne
sais plus où.
Vous étiez au 102ème étage ?
Je ne sais pas si il n'y a que 100.
Il n'y a que 50 étages.
Alors, Tony, je te signale que je viens de te faire connaître encore.
Non, Tony n'est pas là.
Il n'est pas là.
Tony, il s'est couché.
Oui, oui.
Enfin, bref.
Fildar, il fait vachement bien son boulot.
Ça se voit qu'il va vite dégager de ce qu'on a.
Il fait bien son boulot comparé à certains.
Oui, il ferait mieux son boulot.
Ça irait peut-être mieux pour gérer le débat.
Pour l'instant, il fait que de la merde.
Oui, c'est ça.
C'est ça.
Bon, Gérard, c'est mieux ton boulot.
Il pose ta question, là.
Enchaîne.
Attends.
Toi, si tu n'es pas content, tu vas dégager.
Ok, super.
Ok ?
Ok, super.
Bon.
Alors, huitième question.
New York est-elle une ville plus dangereuse que Paris ? Si oui, pourquoi ? On va demander
à Saucisson à l'ail.
Oui, absolument.
Parce que New York, je pense qu'il y a plus de problèmes avec la police.
Oui.
Et on entend que c'est plus dangereux que Paris.
Oui, oui.
Parce que New York, c'est moins dangereux que Paris.
Et New York, c'est moins dangereux que Paris.
Et on entend souvent les sirènes.
Les sirènes des polices, si tu veux.
Oui, il y a la police et les ambulances.
Et il y a souvent des meurtres aussi.
Mais ce qu'il y a, c'est que, comme on y avait été, c'est bête qu'on n'a pas
pu voir les…
Oui, mais voilà.
C'est un genre de sirène comme ça.
Voilà.
Non, non, non.
Pour l'instant, c'est un genre de sirène.
pour l'instant celui-là c'en est un qui s'amuse
donc ok
c'est bien comme réponse
mais parle un peu plus fort devant ton combiné s'il te plaît
s'il s'en aille parce que
c'est ce que je fais mais je peux pas faire autrement
ok, cute poule
non non c'est pas plus dangereux
New York, il suffit de pas sortir la nuit
bah de toute manière
il y a des gens qui sortent
quand même la nuit
tu sors dans la journée, tu crains rien
même dans la journée je peux te dire
on peut te confirmer avec saucisson à l'ail
on pourra te...
je t'ai dit Gérard que je ne te connaissais pas
donc pourquoi tu crois que je te connais
moi je te connais pas
ouais ouais, friconne ma gueule toi
je me fous pas, tu dis ça pas mal que je ne te connais pas
c'est ça, t'as raison
je te prends
quand tu veux
y'a pas de problème
non tu réponds
bon d'accord, c'est terminé pour lui
je te prends, t'es là
tu réponds
allô
on entend très mal
ouais, c'est vrai ça
c'est bon, je me prends
je te prends, tu réponds à la question, s'il te plaît
je me prends par la barbichette
le premier de nous deux qui...
ne me fais pas comme Fildar, d'accord ?
je me prends contre lui
sinon tu seras pas celle du standard, toi
ah merde
DG ?
je te prends par la bistouquette
moi je t'emmerde
t'emmerde parce qu'ils sont à l'ail, c'est bien ?
t'emmerde ?
je te prends, tu m'emmerdes ?
bravo, bravo
j'ai le débat
ok connard
bon allez hop, terminé, moi je fais conclusion, je retourne à la septième
terminé, grâce à Fildar, on arrête ici
mais non, c'est pas de ma faute
attends, tu traites saucisson à l'ail et c'est de ma faute ?
t'es égal, tu fais même pas ton boulot
mais je le fais mon boulot, il est fait
non, attends, il est mal fait
t'es même pas capable de dire à l'autre
t'es à l'antenne, tu réponds à la question
mais si, t'attendais
non, même pas, même pas
attends, t'es pas capable de répondre
si tu réponds à la statue de la liberté tu sais même pas répondre
ta gueule
ferme ta gueule et c'est tout
alors je te prends pour la dernière fois
ah la derbichette
ok
ok ok
ah Gérard, j'ai perdu 200 personnes sur l'IRC parce que t'as dit trop de gros mots
non mais c'est bien, merci Fildar aussi
non mais c'est toi qui les a dit les gros mots Gérard
ouais mais Fildar il fait même pas son boulot, il est même pas capable de gérer un stand-up
bon je te prends
bon je te prends
à part travailler pour Max à partir de 11h30
lui trouver des auditeurs potables
le débat c'est sur New York
il y a que Manu qui est capable de bosser
en plus ça continue c'est Manu qui va prendre le standard
ça commence à bien faire
alors je t'en prends pour la troisième fois
tu réponds à la question ou tu dors
je t'en prends pour la troisième fois
mais faut que tu me prennes moi
mais c'est qui celui qui dit allo ?
putain mais tu commences à me cacher toi
allo
allo
je t'écoute Gérard
je t'écoute Gérard
2276 ça va ?
bon allez les gars vous me faites chier j'arrête
mais non mais non
je te prends tu es tout seul à l'antenne
comme ça Gérard t'entendra vas-y
je t'écoute Gérard
non tu réponds à la question je ne la répète plus
peux-tu la répéter s'il te plait
putain mais
Fildar tu commences à me cacher les couilles sérieusement
tu commences à me cacher les couilles sérieusement
c'est pas de la faute de Fildar
sérieusement tu commences à me cacher les couilles
allo ?
il y a tellement de boxons que j'ai pas entendu la question
alors New York est-il une ville plus dangereuse que Paris si oui pourquoi ?
alors New York est-il une ville plus dangereuse que Paris si oui pourquoi ?
bah oui parce que je pense qu'il peut y avoir des criminels à New York comme à Paris
bah oui parce que je pense qu'il peut y avoir des criminels à New York comme à Paris
d'accord
alors mon chéri maintenant
ouais bah moi je pense que New York
c'est bien plus dangereux que Paris
une question IRC
une question IRC
est-ce que tu t'es fait arrêter à la douane
pour transport de substances illicites dans ton froc ?
est-ce que tu t'es fait arrêter à la douane
pour transport de substances illicites dans ton froc ?
non parce que à la douane
donc pour répondre à cette personne
donc à la douane on est passé
ils nous ont simplement souhaité un bon séjour
ils nous ont simplement souhaité un bon séjour
donc c'est tout
voilà ce que je pouvais dire
ouais bah toi détecteur
détecteur de bagages
détecteur de bagages je voudrais bien savoir
qui c'est qui vient de me sortir ça encore comme connerie
Gérard il y a Turpentine qui te demande
est-ce que c'est vrai qu'à côté de la statue de la liberté
ils ont mis le gargantua de Mirapolis ?
non
non pas du tout
alors cuisse de blour
c'est bon
cuisse de blour
bah je viens de répondre là
ok donc qui c'est qui nous reste
l'autre joli boutique
moi je pense que c'est plus dangereux
parce qu'il y a plus de circulation dans la ville
parce qu'il y a plus de circulation dans la ville
j'ai vécu à New York
j'ai vécu à New York
j'ai vécu à New York
et je pense que c'est plus dangereux
et je pense que c'est plus dangereux
et j'ajoute
et j'apprécie beaucoup
ok donc
celui qui recommence à faire ça va dégager
celui qui recommence à faire ça va dégager
si vous pouvez arrêter de jouiller merci Ça commence à me gonfler, là. Déjà, le premier débat, ça va aller vite. Je fais la dernière question, là. Il est 1h40. Je fais la dernière question. Alors, à votre avis, quelle est la différence entre Paris et New York ? Oui, c'est bon. Vas-y, vas-y. C'est qu'est-ce que j'aime bien ? Non ? Mais t'as contenté, j'en sens plus. Oh là là ! C'est énorme, je le dirais.
C'est énorme, mais c'est bon. Alors, je répète. On a compris Paris et New York. Je n'y voyais pas. Donc, quelle est la différence entre Paris et New York ? Voilà. Donc, je peux répondre, c'est saucisson à l'ail. Vas-y. Donc, là-bas, à New York, l'avantage, c'est que les gens, en particulier en été, sont plus habillés cool que les Français à Paris. Et l'inconvénient, c'est qu'il n'y a pas de papier par terre, évidemment.
Tu as une amende, quoi. D'accord. Et en plus, tu te fais arrêter par la police. C'est dangereux. Vas-y, c'est bon, c'est bon. Alors, vous arrêtez quand je parle. OK, super. Celui qui s'amuse à faire des conneries quand les gens parlent, tout à l'heure va gerber. Je ne vais pas le chercher. Alors, cul de poule. Oui. Il y a 6 000 bornes entre Paris et New York. Non, mais attends. Allô ? Allô ? Bonjour. Allô ? Allô ?
Ah là là, on n'entend rien. TF1, bonsoir. A votre avis, quelle est la différence entre Paris et New York ? Cul de poule. S'il te plaît, tu réponds. Oui, je viens de te répondre. Vas-y, vas-y, vas-y. Oui, il y a 6 000 kilomètres. Alors, je te prends. Non, mais non, je ne veux pas que tu me prennes. Tu réponds à la question ou tu dégages ? Bonne nuit pour lui. Alors, ce coup-là, c'est terminé. Le fil d'air, c'est fait.
Mon chéri. Fais gaffe parce que toi aussi, tu vas faire comme lui. OK. Alors, la différence entre Paris et New York, je pense qu'il n'y en a pas beaucoup. Alors, tu peux expliquer pourquoi ? Parce que la Tour Eiffel, la Statue de la Liberté, déjà, ce n'est pas pareil. Non, attendez. Tu n'as jamais vu la Statue de la Liberté à Paris, toi ? Non. Il y a une mini-Statue de la Liberté à Paris. Tu l'as déjà vue, Gérard, quand même, près de la Seine. Non, mais je ne vois pas du tout le rapport. Je te demande, à votre avis, quelle est la différence.
C'est cassé, c'est tout. Voilà. D'accord. Regarde, Gérard, il y a Choc Norris à la télé. Fils de bleu, toi, tu fais ton boulot et tu fermes ta gueule. Quel chêne, quel chêne ? Non, mais l'autre, il est complètement charbé. Il est à moitié fou, lui. Fils de bleu. Oui, je pense qu'à New York, c'est toujours beau. Et à Paris, je ne peux pas. Vous vous tenez derrière. Sans déconner, vous êtes trop lourds. Oui, on est comme nous.
Oh là là, je sens. Fils de bleu, tu réponds et c'est terminé, on fait conclusion. Non, non, non. Le premier, c'est de la merde. Grâce à lui, le deuxième, ça va être encore pire. Alors, je crois qu'autant conclure sur la neuvième et terminer. On attaque le deuxième. Excuse-moi, Gérard, avant qu'on fasse ta conclusion, à la place de Je te prends, on accueille Chias de Noël. Bien sûr. C'est encore des mecs. C'est encore des mecs.
Ça fait une heure que j'appelle au standard. J'ai galéré, arrête. Je veux bien croire. On verra. Gérard, il y a René sur IRC qui te demande si à New York, les gens qui crient sont considérés comme des criminels. Alors, les gens qui crient sont-ils considérés comme des criminels ? Je ne pense pas. Tu n'entends pas condamnément crier dans New York, à mon avis. Gérard ? Oui ? Ces soucis sont là et j'aimerais te poser une question. Oui ?
Gérard ? Oui ? Do you speak English ? C'est bon, vas-y, c'est bon, vas-y. Non, mais ça suffit. Vous arrêtez maintenant. Moi aussi, je vous parle. D'accord ? Donc, je vous pose une question à Gérard. Do you speak English ? Yes. Donc, yes, tu parles anglais. Voilà. Voilà, c'est tout ce que je voulais savoir. Tu es de l'homme lourd. Pour finir. Je disais qu'à Paris, c'est jamais beau. Pas le temps de merde. Et à New York,
c'est bien. D'accord. Donc, je tiens sur... Hello ? I don't know if I have a question. If you speak English, I don't have a question. Just to answer the question, please. Vas-y, Rick. Yes, I think the difference between New York and Paris is because there are more circulation in New York. And that is between the person dancing. Non, mais attends, mais lui, de toute manière, c'est même plus la peine que tu le dis.
Regarde dans l'équipe. Bon, euh... Gérard, t'as dit que tu parlais anglais. Tu peux traduire, s'il te plaît ? Non, va pire tout, toi. Tu vas te faire enculer. Chiasse de... Je sais pas quoi, là. De Noël. Chiasse de Noël, ça va arriver bientôt. Vas-y, toi. Écoute, c'est dommage, parce que moi, j'arrive à la fin du débat et, en fait, j'aurais pu te faire plein de trucs parce que mes parents sont américains. Donc, voilà, c'est dommage que j'arrive à la fin. Ben, je suis désolé. Voilà, ben, écoute... C'est pas de ma faute, parce que... Non, non, non, attends, je vais te dire chiasse de Noël.
C'est pas de ma faute. Ah, bien sûr, bien sûr. Non, non, c'est pas moi. C'est pas moi qui... C'est jamais, jamais, jamais. C'est vous, pas les auditeurs. Moi, je peux soumettre une idée, c'est qu'étant donné qu'il vient d'arriver, Gérard, on peut le garder pour le deuxième débat. Non, c'est pas toi qui commandes. C'est moi. Je te demande. C'est moi qui commande. Je te demande. Tu me donnes l'air au deuxième débat, t'es pas là, tu te casses. Non, non, t'es plus là. T'es plus là. T'es plus là, toi. C'est ton chéri. Vu que je suis à l'arrivée, je peux rester aussi. Non. Ben, ouais, je peux rester. Non, pas de rien.
S'il te plaît. Bon, vous, je vais répondre à votre avis. Quelle est la différence entre Paris et New York ? C'est que, comme Saucisson a dit, là-bas, les gens sont plus cools, sont mieux habillés que dans Paris et que là-bas, c'est plus propre parce que dès que tu jettes un papier par terre, de toute manière, t'es tout de suite sanctionné. Tandis qu'à Paris, c'est dé-gueu-lasse. C'est quoi, c'est la ville la plus dégueulasse que d'autres villes. Moi, je peux vous dire que New York, par rapport à Paris,
c'est vachement plus propre et les gens sont vachement plus cools que Paris. C'est pas que tu y es resté moins longtemps qu'en France, non ? Non, non, mais même, les gens sont vachement plus cools. Deux petites bouscules. Attends, tu permets que je réponde à Manu, OK ? Les gens sont vachement plus cools parce que dès qu'ils te bousculent, ils te disent excuse-moi. Tandis qu'à Paris, dès qu'ils te bousculent ici, ils n'en ont rien à foutre. J'en ai eu l'expérience, je ne sais plus quand, avec Saucisson à l'ail. Elle a été bousculée. On n'y a même pas dit pardon.
Elle a été bousculée complètement. Elle n'est pas tombée enceinte, quand même. Non. Donc, voilà. Je le demandais par rapport à New York. Tu dis que c'est différent de Paris. C'est quoi les sanctions que tu peux avoir à New York si, par exemple, tu jettes un papier par terre ? Là-bas, tu te chopes une amende et tu peux te retrouver au commissariat de police. Carrément. Tu peux faire de la prison ou pas ? Ça dépend. Si tu es pris pour la première fois, tu te chopes une amende. Si tu es pris pour la deuxième fois, tu te prends une deuxième amende et puis tu es en garde à vue pendant 48 heures. Mais il n'y a pas des noirs ? Et si les amendes peuvent aller,
très loin, plus cher que Paris par rapport aux voitures. Si tu es pris pour la troisième fois, tu te chopes une amende et puis là, tu passes au tribunal et tu te retrouves en taule. Gérard, tu parles de la propreté dans les rues. Moi, je voulais savoir, vu que tu as été à New York avec ton chien, qu'est-ce qui se passe si ton chien fait caca sur le trottoir ? C'est pareil. Sauf que, bon, à Paris, maintenant, tu as des... C'est quoi, la de chute of the dog ? Donc, je réponds à celui...
Tu aurais pu préciser ce mot. Donc, je te réponds. Donc, là-bas, bon, c'est pareil à peu près qu'à Paris. Je pense que tu as des petites poches pour te ramasser et puis tu prends ça dans une poubelle. Donc, voilà. Donc, conclusion de ce débat. On n'ira pas plus loin. On pourrait la faire, notre conclusion, quand même. C'est un peu le solitaire. Vous allez attendre. Il y a encore... Qui c'est qui veut poser une question ? J'ai un sondage sur l'IRC, Gérard. Oui. Alors, un sondage effectué auprès des habitants de New York. A la question.
Quelles souvenirs gardez-vous du passage de Gérard ? 2% réclament l'annulation de la dette que la ville avait... Alors, attends. ...que la ville avait envers les autres pays pour cause de catastrophes naturelles. 5% déclarent être opposés à son éventuel retour. Et 100% du personnel de son hôtel durant son séjour lui rappellent que c'est inadmissible non seulement de venir avec un chien... Oh là là ! Non, je continuerai pas. D'accord. Mais de manière... Moi, je vais... Avant que vous fassiez la conclusion, donc, je vais marquer à la question. MFV ou New York ? Il y a 70% des gens...
...répondent qu'ils ne trompaient jamais leur conjoint. Donc, je vois pas du tout le rapport. 20% des gens qui préfèrent les pizzas au... au pépéronis. Alors là, je vois... Ça, c'est même pas la peine que je continue. Et 55% des gens n'aiment rien. Et 55% des gens, j'ai dit qu'on terminait pas. D'accord. C'est toi qui fais des... des trucs de con. Alors, cul de poule, conclusion du débat.
Alors, cul de poule, je te dis une chose. Si t'es pas contente, le prochain coup, tu restes chez toi. Donc, je vais parler de New York comme on l'a vécu, et c'est tout. D'accord ? D'accord ? Oui, oui, non, mais c'est n'importe quoi. Alors, euh... J'ai les boules qui grattent. Volga, derrière !
Allô ? Je pense que ce soir, c'était un débat très intéressant. Et d'autant plus que ce soir, avec ta coupe de cheveux, tu serais plutôt le... le... comment dire ? Le Ducon Blero du Tétanos. Et je pense que c'est toujours aussi un peu de la chute, le débat. D'accord. Eh ben, si c'est un chien, le prochain coup, tu restes chez toi. Tu se dobes lourd pour continuer. Ouais, ben, tout le monde devrait y aller pour voir la Statue de la Liberté, parce que c'est assez important, quand même. Bah oui, mais ça, de toute manière, la Statue de la Liberté, de toute manière, il faut prendre les bateaux,
la cervelle en hélicoptère, mais je ne sais pas... C'est faux. Quoi, c'est faux ? Tu sais même pas ce que tu dis, toi. Alors, écrase, occupe-toi de ton standard. Occupe-toi de prendre des gens pour le deuxième débat, espèce d'abruti. Non, mais tu m'as dit... Tu peux répéter la première question du débat ? Je voulais répondre. Non, non, je ne répète plus. Tu se dobes lourd, donc pourquoi ? Ben voilà, donc, j'ai dit. Mon chéri, pour conclure... J'aime quand tu me parles comme ça. Ouais, ben, moi, j'aime pas. Alors, tu fais la conclusion et tu t'écrases. Tu m'appelles comme ça. Bon, ben, ton débat,
je dirais, franchement, tu fais mal ton boulot, Gérard. Et puis, voilà, quoi, tu devrais être plus sympa avec ton équipe. C'est ça, c'est ça, c'est ça. Chiasse de Noël. Ouais, alors, ben, écoute, c'est chiasse de Noël. Alors, ce que je voulais te dire, c'est que, je sais pas si tu sais, mais New York, on appelle ça The Big Apple. Toi, je trouve que ça tombe bien parce que t'es quand même The Big Poirot. Et deuxièmement, est-ce que c'est vrai que tu vas servir de modèle pour la Statue de la Propreté ? Et toi, est-ce que c'est vrai que tu sers comme un... que t'es un con quand on te demande une conclusion ? Ben, c'est une conclusion. Ben, moi, je te dis que t'es un con.
Voilà. Ceux-ci sont là, ils peuvent finir. Alors, moi, je veux te dire que c'est un excellent débat, mais le problème, c'est que t'as pas posé la deuxième question. Et je voulais te poser une question. Est-ce que tu veux partir à New York avec... Arrête ! Gérard, Gérard, Gérard ! Mais t'es fou ! Gérard, arrête ! Arrête ! Arrête ! Arrête ! Arrête ! Oh, fils de pute ! Oh, l'enculé ! Oh, l'enculé !
Qu'est-ce qui s'est passé ? Qu'est-ce qui s'est passé, Gérard ? On a rien vu ici. Qu'est-ce que t'as fait, Phil ? Oh, l'enculé ! Elle a fait quoi, là ? Gérard, reste dans le studio. Qu'est-ce qui se passe ? Je veux plus de vie, là. Qu'est-ce qui se passe ? Tu me dégages de l'équipe pour tout le temps. Tu me dégages ! Allez, sors, Phil, là. Ah, là, toi, tu dégages ! Là, t'es vraiment un enculé ! Alors, tu dégages, je vais te faire râper. C'est bon, on va la râper, Bernard. Ah, l'enculé, les barres ! Bon, Gérard, reprends, là.
Non, mais de toute manière, il a coupé une saucisson à l'ail. Donc, moi, conclusion. Il s'est coupé une tranche ? Attends, il va y avoir des auditeurs, encore. Hugo, va voir s'il y a des auditeurs. Ils ont fait tous leurs conclusions. Donc, sur l'IRC, une petite conclusion. On est combien, là ? Alors, attends, je vais demander combien on est, parce que j'ai pas trop le temps de regarder. Donc, s'il vous plaît, les gens, est-ce que vous pouvez me dire combien ? Nous sommes 3 654. Ouais, on a perdu un peu, parce que tu t'es énervé, t'as pas arrêté de gueuler. Et... Est-ce que t'es allé au...
aux Etats-Unis à deux de baleine sur Sandy ? Je sais pas, je comprends pas. Ah, Gérard, il y a quelqu'un. Non, mais c'est bon, la conclusion, ils l'ont toute faite. Donc, tu peux me donner ton air. Attends, parle-lui, Gérard. Ouais, je t'écoute. C'est qui ? Bah, réponds, maintenant ! Allô ? Non, tu réponds ! Bon, allez, c'est bon, on va pas faire de blague. Il est là, pourtant, il est là. Non, mais il répond pas, alors. Attends, je suis au standard, je vais essayer de le trouver. Non, c'est qui, là ? Tu donnes ton mot ?
Je précise ton nom. Donne ton nom. Non, mais attends, pour l'instant, il veut pas, donc c'est pas grave, c'est pas grave. Allez, hop, c'est terminé. Moi, pour conclusion, c'est... Ce combat, c'est d'habitude... Allô ? C'était quoi, ça ? Je sais pas. Non, ça doit être toi, Rigo, sans le faire exprès. Donc, conclusion, c'est dommage, parce que le premier débat, d'habitude, toutes les semaines, il se passe bien. Là, ça foirait complètement grâce à Pildar. Bon, il y en a que deux qui ont bien fait leur boulot, c'est Rigo... Non, non, Pildar,
tu dégages. Ouais, ouais, bah, tu dégages, parce que je veux plus de toi ici. Non, mais c'est sûr. Non, non, mais tu prends ton casque et tu t'en vas. Allô ? Il reste quelqu'un, il reste quelqu'un, Gérard. Ouais, mais on n'arrive pas à voir son nom. C'est qui, Pildar ? Allô ? Allô ? Allô ? Allô ? Bon, et hop, c'est ce qu'il fait. Allô ? Ah, ouais, bah... Donc, alors... Précise, qu'est-ce que c'est que le deuxième débat, quand même ? Donc, le deuxième débat, ça sera sur les grappes. Bon, je vais pas continuer la conclusion du premier. Donc, grâce à Pildar, ça a foiré, le premier, et j'aime pas trop que...
Le premier débat a foiré. Donc, il y en a que deux qui ont bien bossé, c'est Manu et Rigo, pour... Comme d'habitude. On est arrivé à 3600. Donc... J'espère qu'on ira plus loin sur le deuxième. Donc... Il reste quelqu'un, Gérard, hein ? Mais non, mais on n'arrive pas à l'avoir, il répond pas. Donc, alors, on va se retrouver pour le deuxième débat qui va partir sur les grèves. Donc, vous pouvez nous appeler au 0800 308 5000 et 0875 000, et toujours lire, c'est www.funradio.
Plus grosse poitrine de Suren, avec des... des gars, des os. Et on se retrouve tout de suite après pour le deuxième débat. A tout de suite !
== Le débat sur les grèves ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Oh, minuit, 2h
Tu dégages, tu dégages
Pourquoi, connard ?
Allez, hop dehors
Les débats de Gérard
Et voilà, 2h du matin, donc vous pouvez toujours nous appeler au 0800 08 5000 et 0800 308 5000
C'est Manu qui va vous accueillir au standard, les bras ouverts
Oui, je suis là
Et donc, je pense que ça sera mieux qu'au premier débat, je l'espère
Espérons, c'est pas gagné
Et donc, on venait de s'écouter la plus grosse poitrine de Suren avec un dégât des eaux
Et il y a toujours Rigaud qui est sur l'IRC, donc www.funradio
Et là, c'était un de tes remixes, Gérard, c'était pas la plus grosse poitrine de Suren
Oui, non, mais c'était le premier parce que le deuxième, je l'ai pas eu, d'accord ? Merci
Le deuxième, c'est un remix de toi, donc
Donc voilà, et donc, on a toujours Rigaud qui est sur l'IRC
Salut Rigaud
Salut à tous
Ça va, ouesh, ouesh
Salut, ça va, tranquille, pépère
Je voulais passer quelques bonjours quand même à tous
Bonjour qui sont là, quand même
Si, si, on peut saluer les gens de l'IRC
On va saluer Yankee, Arnett, Philippe Détoubifry quand même
C'est quel honneur
Jarvis Cooker, Oxyd, Prez, Youpla, Booba Fett, Olaf Kool, Turpentine
Pff, j'en oublie, Terry, Spiral, Tony, Tachat, Cyril, Terry, etc
Ok, et donc
McFisto
D'accord, ok, donc
Et Ethan
Ok, c'est bon
Il y en a fait d'autres ?
Cybersep, bah tu sais, on est quand même 4822, donc si je le cite tous
Bah balance tous les noms, Rigaud
Non, non, mais c'est bon, combien ?
Alors on a Workboss, on a Oxyd, on a Delight
C'est bon, on salue tous ceux qui sont, tous les gens qui sont sur IRC, c'est-à-dire les
Une bulle de bonbons, choupa choups, choupa choups
Alors, Fildar
Non, c'est pas moi
Non, tu commences pas s'il te plaît, d'accord ?
Donc, on va saluer tous ceux qui sont dessus, donc les 4822 personnes
Et on va saluer tous ceux de la Belgique aussi, s'ils pouvaient nous appeler
Au 0033147
Euh...
7995000
7995000, donc...
On salue aussi tous les Belges qui sont sur l'IRC
Alors, il y a Davy, il y a Ethan aussi, qui est Belge apparemment
Et bah, il y en a plein, quoi
Il y a Perfouras aussi, d'ailleurs, il m'a dit qu'il t'invitait à Fort-Bayard
D'accord, d'ailleurs, Gérard, il va falloir que tu fasses une dédicace pour tous les internautes
Non, bah, on verra ça plus tard, d'accord ?
Donc, on va accueillir Josson Loirent
Allô ?
Oui, salut
Allô ?
Putain, mais il sort...
Il recommence celui-là ou quoi, là ?
Oui, il sort...
Là, ça doit venir de nous
Allô ?
On t'entend peut-être pas, je sais pas
Allô ?
Allô ?
Josson Loirent
Allô ?
Salut
Salut
Allô ?
Comme toi
Salut
Salut
Coca de Pâques
Non, caca de Pâques
Caca de Pâques, pardon
Oui, salut à toi, camarade
Trou du cul
Je t'emmerde
Je t'emmerde, moi aussi, connard
Non, je te remercie, je te remercie, ouais
Je te remercie, putain, lave-toi les oreilles
Bon, tu partes sur un autre tourne, d'accord ?
Bonsoir à toi
Là, je t'attends un peu
Ouais, c'est vrai, ouais
Eh, la chagatte
Là, je t'attends un peu
Je suis là
Eh, ping-pong pour terminer
Salut Gérard, salut Manu, salut Fida, salut Gigi Goré
Salut
Gigi Goré, le pauvre, comment tu t'appelles ?
Ça te fait marrer ?
Non, mais moi, ça me fait pas rire, c'est con
Eh, Rigo, t'as oublié D-Light, Grindr aussi
Non, mais ça y est, ça y est, ça y est, ça y est
Ça y est, on se calme un peu, là
Putain, mais vous allez vous calmer ou quoi, là ?
Eh, bonjour, hein, bâton
Bon, alors, le thème du deuxième débat porte sur les grèves
Allô ?
Merde à toi, celui qui dit allô
Faut faire la grève, moi, je dis
Alors, tu as pensé...
Tu en veux de la bonne grève ?
Moi, j'en veux
Tu en veux de la bonne grève ?
S'il vous plaît, les auditeurs, j'aimerais bien qu'on se calme
Parce que le premier débat était de la merde
Ouais, grâce à toi
Le deuxième, ça sera peut-être de la chasse
Ouais, ben, j'espère pas, parce que c'est Manu qui est au standard
Et avec Manu, vous allez pas rigoler longtemps
C'est moi qui vous le dis
Salut, c'est moi
Salut
Salut
Donc, la première question
Que pensez-vous des...
Ah, il est pas possible
Putain, mais il nous fait chier, ce mec
Je vais le trouver
Enchaîne ta question, je vais le trouver
Alors, que pensez-vous des grèves de nos jours ou de nos nuits ?
À quoi cela sert-il ?
On va demander à...
C'est tout ce que tu dis
Je sens le haron
Alors, moi, je vais te dire que je pense que
De nos jours ou de nos nuits, les grèves
Je pense que ça sert tout simplement à rien
Parce que, tu vois, ils bloquent les passagers
Sur les quais de métro ou même de bus
Et quand ils veulent se rendre à leur travail
C'est quand même assez difficile
C'est pas le haron qu'elles sont, elles
Et de plus, la nuit, c'est difficile
Parce qu'il y a moins de monde
D'accord
Comme toi
Donc, c'est pas sa grève
D'accord, ok, ok, ok
C'est...
Attends, je m'excuse parce que je t'ai coupé
Parce qu'il y en a un qui s'amuse à parler sur toi
Celui qui...
Celui qui...
Tu penses aussi quand tu fais caca ?
Celui qui s'amuse à reparler quand les gens parlent
Je vais pas chercher midi à 14h
C'est clair, net, précis
Le premier qui...
Le premier qui déconne va dégager
Je vais pas chercher
Comme toi
Hé, Gérard
Tu penses aussi quand tu fais caca ?
Comme toi
Tu réponds ?
Oui, ben je te réponds
Ils font la grève parce qu'ils ont que ça à foutre
Ils sont payés à rien foutre
Non mais que pensez-vous des grèves de nos jours ?
Ou de nos nuits ?
Oh là là là
Un peu mal
Bon, oh
Celui...
Eh, ça y est, vous arrêtez quand les gens y parlent
S'il vous plaît
Bon, ça y est ?
Bon, alors...
Caca de Pike
Ouais, c'est caca de Pike
Ben écoute, je pense que tous les camarades ont droit à la grève
Je pense que c'est un droit auquel
Tous les camarades ont droit
C'est le cas de le dire
Et faites la grève, moi je dis un maximum
Faut pas emmerder le monde, faut faire chier les gens
Faut que ça bouge
Mais ouais, c'est ça, tu crois qu'on est pas assez emmerdés ?
Mais attends, les routiers sont les premiers à faire la grève
Ah ouais, non mais attends, pour l'instant
C'est peut-être les routiers qui ont commencé les premiers
Je suis d'accord avec toi
Mais faut dire une chose, c'est que maintenant
Les routiers, ils ont obtenu satisfaction
C'est pas eux qui commencent, maintenant c'est les RATP et la SNCF
Et alors, ils ont le droit de faire la grève aussi
D'ailleurs, c'est aujourd'hui, Gérard
Tu te rappelles l'article qu'on a vu dans l'aujourd'hui ?
C'est aujourd'hui la grève
C'est depuis 20h ce soir
Donc je pourrais vous dire à peu près
Pour ceux qui auront l'occasion de se déplacer
Je pourrais vous donner des...
Oui, faut pas aller
Non, je pourrais vous donner à peu près
Les...
Les trains, combien il y aura de trains qui circulera
Et autres, mais...
Un peu plus tard, pas lors de la première question
Gérard ?
Attendez, s'il vous plaît, on se calme
S'il vous plaît, sur IRC, il y a Turpentine
Qui te demande si ton école, elle était en grève
Pendant toute ta scolarité
De toute manière, il y a...
Je vois pas du tout le rapport avec la question
Mais Gérard, c'est trop du cul aussi
Non mais attends, tu permets ?
Attends, c'est quelque part que j'avais pas fini
Ce que je voulais dire, c'est que j'encourage tous les gens
À aller voir les camarades
Pour les piquer de grève, pour leur amener des merguez
Et des cronambours, parce qu'on se les gêne
Et on se fait chier, quoi, quand même
Non mais attends, là, je crois que tu...
Je crois que tu vas un peu loin, toi, quand tu réponds
Moi, j'appelle tous les gens à aller bloquer
Les voies de métro et de RER, demain
D'accord, eh ben...
Fais comme tu veux, toi, mais...
Mais oui, c'est ça, c'est ça
Et je pense que tu devras les toucher à travers de la voie
Ça fera un bon débat
Ouais, bah, moi, je pense que la grève, c'est très très bien
Et on devrait la faire plus souvent
Parce que ça emmerde bien le monde et c'est...
C'est bien sympa, voilà
Et d'ailleurs, en parlant de grève, il y a Yankee sur IRC
Qui me demande... Ce qui est dommage avec Gégé
C'est que chez lui, c'est le cerveau qui est en grève
Je dois savoir ce que t'en penses
Alors, trou du cul, si tu réponds aux questions
De l'IRC, tu restes chez toi, d'accord ?
Bah non, mais...
C'est pas la première question que tu vas commencer à foutre ta merde
Parce que tu as dégagé, là, maintenant
Je te le dis tout de suite, lâche ton feu
Bah, en fait, ouais
La grève, ça sert un peu à rien
Si on la fait pendant un mois, ça peut marcher
Mais sinon...
Non, mais là, je peux te dire que pour l'instant
Ils parlent de l'affaire
Jusqu'à vendredi soir
Mais ça peut aller plus loin
Ça peut...
Tu sais qui vient de dire ça ?
Qui vient de dire ça ?
Je sais pas, j'ai pas vu, moi
C'est pas moi, quoi
Y'a la grosse qui a parlé, mais...
Attends, la grosse, ça t'emmerde, connard
Voilà, alors, ping-pong
Ouais, ouais, moi, je dis que la grève, c'est excellent
Faut foutre le bordel, on descend dans la rue
Et tout de suite, on devrait faire le blocus général
Non, mais c'est bien, la grève
Faut descendre avec les pancartes, les pochettes bouchées
Faut les emballer, tous ces mecs
Non, mais c'est clair, faut foutre le souk, quoi
Non, mais foutons le bordel !
Ouais !
Demain, je vais aller faire une grève
Je vais me mettre sur les voies du RER
Et puis, ça va être bien
Tu fais ça, puis tu penses que j'y arriverai, moi, tout seul
Allons-y, camarade
Révolution !
Unissons-nous, quoi
J'ai rien à dire ?
Donc, moi, je pense que ceux qui s'amusent à faire grève
C'est qu'ils se rendent pas compte
Hey, Dark Vador
Oui, vas-y, parle, on t'écoute
Fildar, fais gaffe, parce que tout à l'heure, tu vas dégager, toi
J'ai rien fait, j'ai rien fait
Donc, je disais que les grèves, ça sert à rien
Parce que ça fait chier le monde
Alors, je peux vous dire
Qu'à l'heure actuelle, depuis ce soir, 20h
Et c'est jusqu'à samedi, 8h du matin
Donc, voici les premières prévisions des trafics
Donc, TGV Sud-Est et Atlantique
1 train sur 3
TGV Provence sur...
À quelle heure, aussi ?
Oui, tu dis pas...
Oui, bonjour, je voudrais...
Bonjour, je voudrais un billet pour Valence, s'il vous plaît
C'est bien ou pas, Gérard ?
Le petit Gérard, attention
Gérard, tu continues ?
Ça commence à être relou, celui qui parle sur moi
Donc, TGV Provence-Provence
1 train sur 3
TGV Paris-Lille, légère perturbation
Thalys-Paris-Bruxelles
Amsterdam-Cologne
Trafic normal
Eurostar-Paris-London
Trafic normal
Eurostar-Lille-Bruxelles
Eurostar-Paris-Bruxelles
Trafic normal
Et...
Traf...
Pardon
Le petit Gérard, s'il te plaît, tu vas...
Et moi, je t'emmerde, espèce de fils de con !
Non, non, non !
Hop, hop, hop, hop, hop, hop
Ok
Et...
Très grande ligne
1 train sur 3
En moyenne
Transport express régionaux
TER
Trafic très perturbé
Avec en moyenne un train...
RER, répète, RER ?
Non, trafic...
Non, TER
Et le RER, il s'est pas écrit ?
Si, mais...
Il y a Tony sur ERC qui me demande le RER
RER A
Et moi, je voulais savoir...
Trafic normal
Et le B ?
Le B, 1 train sur 4
Sur la branche nord
Entre Gare du Nord et Roissy
Et le F, merde !
Et le F
Y'a pas de F, espèce de con !
Ah, pardon
Mais toi, si tu veux prendre le F, toi, t'en as pas besoin
Et si sur la ligne 15, y'a des...
Gérard, Gérard, Gérard
C'est qui ?
C'est K4PAC, oui, j'ai une question
Je suis à Denfert-Rochemont
Et je vais aller me faire sucer par une pute à Pigalle
C'est où, le changement ?
Tu te démerdes !
Trop du cul !
Bon, ça y est, je peux...
L'heure des grèves, payez-vous votre titre de transport
Putain !
Fil d'art, fil d'art
Manu ?
Ouais, bah, j'essaye, hein
T'essayes de gérer, s'il te plaît
J'ai une question à deux balles
C'est clair
Allô ?
Qui c'est qui a le téléphone, les mecs ?
Ça se fait pas
Bonsoir, je voudrais avoir un renseignement, s'il vous plaît
Je voulais savoir si la gare Montparnasse était ouverte
Ah, il se renseigne
Alors, pas du tout, monsieur
Pas du tout pour ce soir
Très bien, je vous emmerde, au revoir
Alors, la deuxième question
L'heure des grèves, payez-vous...
Rigaud, une question IRC avant
Oui, il y a Turpentine qui te demande
Est-ce que c'est plus facile d'avoir la grève l'hiver ?
Bah, ça fait chier plutôt les gens
Pour mieux qu'ils se mettent en grève l'été, ça serait...
Ou sinon, ils mettent une écharpe
Non, mais en hiver, c'est plutôt chiant que de la faire en été
Donc, l'heure des grèves, payez-vous votre titre de transport
On va demander à Ping Pong
Bah non
Bah non, puisqu'on fait la grève, donc
Non, mais tu peux préciser ?
Bah non
On fait pas...
Punaise, vous allez...
Vu qu'on fait grève, on risque pas de payer le titre de transport à Bruxelles
Alors, abruti, t'emmerdes, tu dégages
C'est bon, tu dégages, ça t'apprendra
Au revoir, Ping Pong
Au revoir, Ping Pong
Non, mais attends, hey
Si on répond ce con, hein
Il était poli, ouais
Tu fais des questions à deux balles
T'as tendance à dire
C'est terminé pour lui
Attends, il a dit abruti, il aurait pu dire ça
En plus, il est en train de jouer, c'est une honte
Non, non, mais c'est bon, il peut dégager
Il peut dégager
Celui qui joue au Ping Pong, là
Il aurait pu dire enculé aussi, je veux dire
Ouais, c'est vrai
Il aurait pu dire bien d'autres choses encore
Bon, Gérard, qu'est-ce que tu fais, là ?
Non, non, mais attends, mais moi
Pour l'instant, quand ils se calmeront
On continuera le débat
Alors, la chatte en feu
Ouais
Donc, pourquoi ?
Oui, je suis d'accord
Tu peux préciser ?
Ben...
Non, mais si tu dors
Tu le dis tout de suite, tu vas...
On va te laisser dormir, hein
Gérard, je vais te choper à la sortie de la radio
T'as l'air ta gueule
On va te niquer, on va te niquer
Manu, s'il te plaît, tu me gères un peu
Pour l'instant, on accueille à la place de Ping Pong
On accueille Badminton
Ouais, non, mais attends
Manu, tu me prends d'autres personnes que les mêmes
Ben non, non, c'est pas le même
C'est Badminton, c'est pas Ping Pong
Bonsoir à tous
Bonsoir
Alors, trou du cul
Ouais, trou du cul
Bon, ben, tu disais
Ouais, non, moi, je paye jamais
Le métro, je paye jamais
Non, tu peux préciser
Tu fraudes ?
Je fraude, je suis un sale fraudeur
Je suis un enfoiré, mais je m'en fous, je paye pas
Je vais pas payer le métro, faut pas déconner
C'était que là
S'il y a du monde, ils font chier
On voit des gens comme toi
Non, c'est pas possible, le métro, franchement
Alors, je préviens que celui qui recommence
Ça va être clair, il est 2h13
Soit que vous vous calmez
Non, non, non, non, non
Soit que vous vous calmez
Que vous répondez correctement aux questions
Ou soit j'en arrête là
Et je rentre chez moi
Vous choisissez
Ok ?
Alors, on va demander à K4Pack
Ouais, c'est comme mon camarade
Déjà, je paye pas en temps normal
Tu crois pas que je vais raquer les jours
Il y a grève, en plus
Tu sais qui s'amuse à faire des conneries comme ça ?
Bah, c'est toi
Non, c'est pas moi qui s'amuse à faire des bisous, d'accord ?
Ah, ok
GG, c'est K4Pack
J'ai un plan pour toi, si tu veux
Si t'as des PV et des contraventions à faire sauter
Par les contrôleurs
Je peux t'arranger le coup, si tu veux
Non, mais j'ai pas besoin de toi, merci
Comme toi
Ah, vas-y, vas-y, c'est bon
Moi, je paye pas le bus, c'est un agresse de bus
Parce qu'il y a pas de bus, donc j'ai pas à payer
C'est tout ce que t'as à dire ?
Bah oui, il y a pas de bus, donc j'ai pas à payer un ticket de bus
J'ai des sous dans mon porte-monnaie
Manu, je sais pas ce que tu fous
Mais c'est pourri, le standard
Bon, allez, on enchaîne
Non, mais attends, il est moins pourri qu'avec toi
Attends, attends, attends
J'ai un gros problème
Ils ont tous fait grève
Je suis tout seul
Ils font grève sur Internet ?
Bien joué
Je sens le harangue, pour finir
Gérard, j'ai un problème
Ils ont tous fait grève au standard
Bon, alors moi, j'en répète
J'arrête, comment je fais ?
Gérard, t'as l'air, s'il te plaît ?
J'arrête
Il en reste un, apparemment
Ouais, mais je sais pas où il est
Non, non, mais t'as gerbé tout le monde, donc j'arrête, c'est terminé
Allô ?
Allô ?
Allô, trou du cul ?
Non, mais ils sont là, ils sont là
Allô ?
Allô ?
VOLGAIL !
Trou du cul
Allô ?
Allô, connard ?
On entend plus le connard, là
Connard ?
Gérard, il fait grève ?
Non, mais moi, là, j'arrête, là
C'est plus la peine
C'est pas la peine, là
Non, non, mais j'arrête, parce qu'il y en a l'autre
C'est pas moi, là, non, j'ai rien fait, moi
Ah, ils sont tous revenus, c'était une grève d'une minute
Alors, je sens le harang pour...
Juste une minute
Comment il y a de connectés ?
Là, on est à 4028
Quand même, hein ?
On a perdu un peu, mais c'est déjà beaucoup
Donc, je sens le harang pour toi
Eh, tu viens chez moi, après, Gérard ?
Je sens le harang
Je sens le harang
Tu réponds ?
Mais elle est conne, celle-là, elle répond jamais aux questions, putain
Non, mais tu vas voir ailleurs si j'y suis, si t'es pas content
Bah, réponds, réponds
Justement, je réponds, mais tu me laisses pas parler
Maintenant, vous fermez vos gueules, vous laissez parler, les gens
Eh, tu viens chez moi, après, Gérard ?
Moi, je t'emmerde
Alors, je sens le harang
Donc, pour la troisième fois, je réponds à ta question
Donc, non, je mets jamais de ticket
Parce que, déjà, le ticket, ça coûte énormément cher
Ça coûte 8 francs
Et moi, j'ai pas 8 francs à mettre pour un ticket
Et, de toute façon, j'aime pas les fonctionnaires
D'accord
C'est bien, parce que, moi, je...
Moi, non plus, c'est que je suis pareil
Moi, les fonctionnaires, je dirais un seul mot, mais je peux pas le dire
Ouais, je sais qu'on les emmerde
Eh ben, moi, je le dis pour toi
Bravo
Donc, moi, tous ceux qui sont fonctionnaires de la RATP
Eh ben, n'ayez crainte que vous nous faites chier
Et je sais même pas pourquoi qu'on paye un titre de transport avec vous
Parce que, là, vous nous faites chier en fin de mois
Et en début de mois, vous allez nous coller des amendes
Alors que c'est vous qui nous faites chier
Alors, ça sert à rien
Eh, Gégé, Gégé, Gérard
Gérard, je te laisse parler
Je voudrais savoir un truc
Si, si, comment, tu sens le harant, c'est ça ?
Elle paye pas dans le métro, c'est bien ça ?
Non, mais elle paye au carré
Alors, comment tu fais pour rentrer dedans ?
Elle paye pas dans les portillons
Je tape sur le nec et puis, voilà, je l'avais déjà
Non, mais comment elle fait pour rentrer dans le métro si elle paye pas le ticket ?
Bah, il monte
Non, mais, de toute manière
Tu vas pas me dire qu'elle escalade
Attendez, attendez, attendez, là
Qui c'est qui demande ça, là ?
Je sens le harant
Mon Dieu, tu peux préciser ton nom, s'il te plaît, merci
Non, mais même
De toute manière, maintenant, il y a des portillons
Tu peux essayer de...
Trou du cul
Calme, calme, calmez-vous
Tu disais, Gérard, donc, des portillons
Non, il y a des portillons
Tu peux essayer de passer
Dès qu'il y a des gens qui sortent, maintenant
Gérard, c'est badminton
J'ai pas répondu, je peux répondre
Ouais, bah, vas-y
Ouais, moi, donc, je paie pas mes billets de transport, j'en fais en papier
Hum, attends
J'ai mal compris la question, parce qu'il y en a un qui s'amuse
Je paie pas mes tickets de transport
Je prends un paquet de clapes, et puis je découpe
Et puis je passe direct
Un coup de feutre, et puis c'est bon
Gérard, si t'as des amendes, je peux te les faire sauter
Si tu me laisses te faire sauter le cul
Ouais, bah, là, tu vas te faire foutre, toi, abrouti
C'est gentil ce qu'il te dit
Si t'as des amendes, c'est pour toi, moi, je m'en fiche
C'est dans ton intérêt
Les oreilles, c'est comme le cul, ça se lave
Ouais, vous restez polis, parce que sinon
Je vais virer tout le monde et je vais en garder qu'une
De tout à l'heure
Gérard, c'est moi, Fildar, tu veux un
Un bubblegum, gros et tout mou
Non ?
Non, mais je crois que toi, la semaine prochaine, tu vas plus être là
Donc, il y a une question hier
C'est pour là
Une réponse
Peut-être des informations là-dessus
Oui, non, peut-être pas là-dessus
Mais, est-ce que quand tu pointais
A la NPE, ils étaient en grève ?
Ouais, mais ça, la question va y venir aussi
Alors, donc, je vois pas du tout
Tu peux pas répondre
On va y venir
On va y venir sur cette question-là
Donc, ça sera que la neuvième
J'en ai le temps, Manu
Il y a D-Light qui te dit que tu dois pas t'inquiéter
Si tu reçois une amende de la RATP
Parce qu'il a filé ton nom et ton adresse quand il s'est fait attraper
Mais c'est ça, c'est bien
Alors, troisième question
Avec quel...
Ça y est, celui qui s'amuse
Ça y est, celui qui s'amuse
Allo
Il y a un mec qui a une double ligne
Je m'excuse de vous déranger, pourrais-je pas ?
J'appelle des gens, là, Gérard
Donc, je vais gérer après la double ligne
Non, non, mais faut quand même gérer en même temps
Ouais, quand même que t'accouches, Manu
Alors, avec quels moyens de transport vous déplacez-vous lors des grèves ?
On va demander ça
Oh, ils suivent
Parfait, gars
Récupère ton briquet
Et leur lance plus comme ça
Toi, la semaine prochaine, c'est plus toi ici
Non, ça, c'est terminé
C'est terminé pour toi
Je suis pas un putois, hein
Ouais, bah, c'est terminé
C'est terminé pour ta gueule, je vois plus de quoi dans mes débats
C'est tout
Manu ?
Ouais, à la place de trou du cul, on accueille fromage de cul
Allo
Ça tourne autour du cul, hein, le débat, là
Beaucoup, beaucoup, bonsoir, Gérard
Bonsoir, c'est le même défi
Salut
Salut à toi
Salut, Paco
Alors, donc, la troisième question
Avec quels moyens de transport vous déplacez-vous ?
Avec mon vélo à 4 roues
Alors, on va demander à Babington
Ouais, Babington, je te prie
Hum ?
Je me déplace en patinette
Ouais, mais non, mais tu peux préciser
Euh, à 2 roues
Hum ?
Voilà
Ok
Euh, l'achat en feu ?
Avec mes rollers
D'accord, bah, c'est bien, mais...
Ouais, je pense que vous vous creusez pas trop la tête pour répondre aux questions, hein
Bon, merci pour le Larsen, là
Je pense que vous avez pas l'intention de répondre aux questions, hein, donc...
Mais si, mais si
Bah non, euh...
Mais si, je t'ai dit
Bah, mais ça y est, le Larsen, là
Alors, euh...
Fromage du cul
Ouais
Fromage de cul, je sais pas quoi, là
Oh là là, de Larsen, oh !
Oh, le...
Arrêtez de Larsen, là, c'est...
C'est pas un petit peu de sérieux, là
T'es un hélicoptère privé
Oh là là !
Bon, allez, répondez !
Oh, fromage, là !
Ouais, ouais, je me déplace à pied, moi
D'accord
J'ai pas de voiture, j'ai rien
Ok, caca de Pâques
Ouais, caca de Pâques, bah, avec des chaussures du genre, bon, sans citer de marque, hein, sans citer de marque
Des Nike, des Adidas
Des 4R
Ou des Reeboks
Euh...
Comme toi
Comme toi
Moi, j'ai une Mégane coupée, donc j'ai pas besoin de prendre les...
Les transports en commun
Ça, c'est pas bien, ça
Non, mais...
Moi, je peux...
Moi, je vais...
Je sens...
Pas de marque ?
Ouais, mais elle est un peu politique
Mégane coupée, c'est un peu...
C'est un peu merdique, comme voiture, ça
Non, non, c'est vachement bien, t'es fou
Grigo, ou non ?
Euh...
Y'a Oxide qui demande à combien on peut faire une grève
Bon, euh...
À plusieurs
À plusieurs ?
C'est combien, à plusieurs ?
Bon, à plusieurs, c'est...
C'est tous ceux qui...
Qui sont...
Vous pouvez être une vingtaine, cinquantaine, centaine, mille, voire deux mille, vingt mille ou autres
Et plus à la rigueur
Et y'a des...
Y'a des V1 qui te demandent, quand on fait grève, qui c'est qui fait le rôle du piquet ?
Bah, tout le monde
C'est tout le monde qui se met sur le devant et qui empêche les bus de sortir ou autre
C'est comme un ski, alors ?
Non, pas spécialement, non
Et y'a Ethan qui te demande si on peut faire grève tout seul
Euh...
Ça, c'est dur
Parce que si tu fais grève tout seul...
Tu y arrives, toi ?
Non
Ouais, mais regarde, la grève de la fin, c'est des gens...
Les gens, ils font grève tout seuls
Ouais, non, mais ils se mettent...
Après, ils se retrouvent à plusieurs quand même, ils se...
Ils se font une bouffe ?
Non, mais ils se rejoignent
Ils se rejoignent
Donc, voilà
Donc, je sens le harang pour conclure sur le thème de la troisième question
Oui, alors moi, je me déplace souvent avec mon cheval Tupu
Quoi ?
Je me déplace souvent avec mon cheval Tupu
Avec ton cheval qui pue ?
Tupu
Qui s'appelle Tupu
C'est quoi, c'est quoi ?
C'est une oise
C'est son nom, mon cheval, non ?
C'est le nom de ton cheval ?
C'est le nom de ton cheval ?
Bah ouais, c'est le nom de mon cheval
Non, mais attends, mais...
Mais elle est drôle ou pas, elle ?
Non, mais attends, mais c'est quoi, là ?
C'est la réponse à la question ?
Bah bien sûr que c'est la réponse à la question
Gérard, tu devrais la dégager, parce qu'elle répond pas à la question
Oh, toi, je sens qu'il va t'arriver...
Tu vas finir sans culotte, toi
On peut dépasser un cheval dans les rues de Paris
Ouais, bah toi, je crois que tu vas finir sans culotte ce soir
Ouais
Alors ça, ça m'étonnerait
Ouais, bah...
T'inquiète entre les dents
C'est ce qu'on verra
Attends, j'ai pas besoin de t'attraper pour t'avoir
Bah toi, on a pas besoin de te trouver, on sait où t'es
Alors, donc, avec quels moyens vous vous déplacez-vous pour leur dégrève ?
Bon, il y en a qui ont dit en roller, ça c'est vrai
Mais je pensais qu'on allait dire souvent en vélo
Ou même voire en covoiturage
C'est quoi ça, Gérard ?
Le covoiturage, donc, c'est des gens qui habitent pas loin
Qui sont à peu près dans la même société
Qui s'appellent le soir, comme là, en ce moment
Là, je pense qu'on peut dire que c'est un peu comme ça
On va parler, ça va en parler beaucoup, du covoiturage
Donc, ils s'appellent entre eux le soir
Et ils disent, bon, bah, tu viens me chercher à telle heure le matin
Pour m'emmener au boulot
Mais tu peux faire du co-vélonnage
Ou du co-camionnage
Ou un truc comme ça ?
Du co-vélonnage, je pense pas
Du co-camionnage, c'est à peu près comme le covoiturage
C'est à peu près pareil
Donc, pour répondre à ça
Je pense que
Le plus gros, c'est ou le vélo
Ou le covoiturage
Qui se fait
Régulièrement lors des grèves
Alors, donc, je vais vous donner quand même
Encore des chiffres pour ceux qui ont
Un petit sondage, non ?
Pour ceux qui vont se déplacer
Tout à l'heure pour aller à leur travail
Alors, en Ile-de-France, réseau banlieue
Intens sur 30 devrait circuler
Sur les lignes de Paris-Montparnasse
Paris-Saint-Lazare et Paris-Est
1 sur 4 sur Paris-Nord
Question RER
Donc, trafic
RER à trafic normal
RER en mer de crédit
C'est France Info, là ?
RER-B
1 train sur 4 sur la branche
RER-B, ça m'intéresse
Tu peux répéter, j'ai pas entendu
1 train sur 4 sur la branche
Nord, entre Gare du Nord et Roissy
Et Mitry
Interconnexion suspendue
En Gare du Nord
Il y a le Roissybus, quand même, qui passe
Attention, le mouvement de grève
Engagé hier matin sur la branche
De l'Arme
Sur la branche Gare du Nord
Mitry pourrait se poursuivre
Ce matin
Question RER-C
Pour ceux que ça intéresse toujours
1 train sur 3
RER-D
1 train sur 3
Voilà ce que je pouvais vous dire
Je crois qu'il y a Corsair
Tu peux donner les horoscopes du TGV Atlantique ?
Alors, TGV Atlantique
Pour les béliers seulement
Non, je parle pas
TGV Atlantique, je sais même pas
Je pense qu'ils en parlent pas dessus
Si, c'est en bas, vers la Corse
N'importe quoi, toi
Donc, on va récupérer
Je sens le harang
Tu viens chez moi, après, Gérard ?
Putain, lui, il commence à me gonfler
Je sens le harang
Est-ce qu'elle est toujours là ?
Salut
Re-salut
Comme toi
Re-salut
Re-salut, caca de Pâques
Ouais, salut à toi, Lascar
Fromage de...
De cul
De cul
Ouais, bonsoir
Je voudrais parler à...
À la fille qui était chatte en feu tout à l'heure
Allô ?
Chatte en feu
Oui
Allô ?
Et Babinton
Allô ?
Ouais, salut à toi, poète de l'an 2000
Allô ?
Donc, la question...
Allô ?
Putain, mais il est chiant, celui-là
Allô ?
Alors, donc, la quatrième question
Vous avez eu le temps d'y réfléchir ?
Non, non, non
Alors, pensez-vous...
Vous voulez parler à la chatte en feu, on n'a pas pu la voir
Alors, je répète la question et on se calme
Là, il est 2h32 même
Donc, pensez-vous normal que les jeunes
Ne laissent pas leur place aux personnes âgées
Ou autres, lors des grèves ?
On va demander ça
Gérard, je vais te choper à la sortie de la radio
T'as l'air ta gueule
On va te niquer, on va te niquer
On va demander à Babinton
C'est relou
Ouais, ouais, ouais
C'est de la merde
On va te marrer, on va te marrer
Ouais, ouais
Babinton
Ouais, ouais, ils ont raison, les jeunes
Mais faut les virer, les vieux crotins de mammouth
Faut les têches
Ouais
Babinton
Faut les têches, faut prendre leur place
Ouais, mais tu m'écoutes, là ?
Ouais
Il a marre des gros, ça, là
Alors ?
Ouais, ben c'est bon, je t'ai dit
Faut les virer, tous les dieux
Bon, donc, apparemment, t'as pas envie de répondre correctement à la question, toi
Ben, c'est son avis, hein
Je t'ai dit que j'étais d'accord
La chatte en feu ?
Non, elle est chaude
T'es en train d'énerver, est-ce que tu peux répéter la question ?
Oh non, non, elle va s'énerver, non
Pensez-vous normal que les jeunes ne laissent pas leur place aux personnes âgées ou autres lors des grèves ?
Ben ouais, c'est normal
C'est normal, toi ?
Ouais
Alors donc, toi, tu laisserais pas ta place à une personne âgée pour qu'elle s'assoie avec ?
Ben non
Ben non
Ben non, faut les virer
Ouais, ben d'accord
Elle paye quand même leur transport comme nous
Non, mais c'est égal, c'est égal
Non, ils ont une carte vermeille
Fromage de cul
Ouais, euh, non
En fait, moi, sérieusement, je laisse ma place aux personnes âgées, c'est normal
Ben oui, c'est normal
Parce que moi, j'aimerais que quand je sois un petit peu plus vieux, qu'on fasse la même chose pour moi
Non, mais ça, je pense que c'est tout le monde, tout le monde a envie de faire pareil que toi
Ouais, mais là, j'entends des témoignages qui me laissent pas trop
Non, non, pas du tout
Je suis désolé, je suis désolé
Mais pourquoi ?
Non, non, mais attendez
Non, non, moi, je suis pas d'accord avec ça
Que quand une jeune te laisse la place
Faut pas, faut pas t'en amuser quand même
C'est quoi, t'es pas d'accord avec ça ?
Alors, c'est la consommation à tout prix, c'est ça ?
Alors, c'est pour rendre un service, voilà ?
On a un coup de dévié qui pue le roquefort de 5 mètres
Non, mais elle pue l'eau de Cologne
Excusez-moi les auditeurs, excusez-moi les auditeurs
Ça y est, vous avez...
Ah non, mais là, je peux pas laisser à dire ça
À la rigueur, on lui pique
On les coupe ou quoi, Manu ? Tu joues à quoi, là ?
Bah, ça y est, j'ai trouvé celui qui foutait le bordel
Tu te paluches, là ?
Alors, comme toi
Oui
Donc, pour toi
Ah non, moi, je laisse jamais ma place aux vieux dans les bus
Moi, je trouve que les vieux, il faut les tuer à la naissance, donc...
Non, mais attends, je vois...
Toi, t'es vraiment dégueulasse, alors
Bah ouais, je suis pas dégueulasse
Mon avis, c'est le chien, bien sûr
Ils prennent toujours le bus quand il y a du monde dans le bus
T'as un petit peu de respect pour les vieux, quand même, merde
Mais non
On se calme, vous laissez les gens répondre, s'il vous plaît, merci
Ils ont qu'à prendre des taxis, puis ils puent la mort, quoi, c'est horrible
Non, en plus, on peut pas laisser dire ça, Gérard
Bon, je sens le harang
Ouais, non, moi, je pense que c'est pas normal
Parce qu'il y a aussi des personnes de 30 ans
En plus, aussi, qui laissent pas
Qui laissent pas leur place aux personnes âgées
Et il y a également aussi les femmes enceintes
Les femmes enceintes, tu leur laisses pas la place
Ah, si, parce que de toute manière
La personne qui est enceinte, moi, je peux te...
Oui, mais les personnes qui veulent s'asseoir
Les gens, ils se laissent pas
Pour laisser la place à une femme enceinte
Mais moi, je peux te dire une chose, que la personne âgée
Va voir carrément le machiniste
Et demande à ce qu'elle s'assoie
Et fais-moi confiance que le machiniste
Il a le droit de faire dégager une personne
Pour laisser la place
Si, si, si, si
Si, si, si, si, c'est vrai
Si, si, non, non, mais moi, je peux...
Oh, vous me laissez répondre
Donc, moi, je peux...
Il y en a qui se marrent, Manu
Non, mais je sens que...
Et ça recommence
Tony
Comme ça, Manu, putain
Je sens qu'il y a du Tony là-dedans
Ça, c'est encore lui
Donc, moi, je peux... Je réponds à...
Attends, j'ai pas répondu
Non, mais attends, si, t'as déjà répondu, toi
Non, c'est qu'à 4 packs, c'est qu'à 4 packs, j'ai répondu
J'ai pas répondu
Non, mais attends, toi, t'es en train de jacquer
Pendant que tout le monde répondait, alors
Pas du tout
Alors, tu réponds
Bah, je voulais te dire qu'effectivement
Il faut éliminer les cartes vermeilles, c'est clair
Y'a pas besoin de laisser des places
Dans les transports en commun pour les vieux croutons
Elle disait, il faut les tuer à la naissance
Moi, je dirais même, il faut les empêcher de se reproduire
Passer 80 ans
Tony, tu t'écrases
On parlait de l'odeur, c'est vrai que ça fouette
Mais y'a pas que chez les vœux
Y'a aussi des gens de 38 ans qui sentent à 5 mètres
Ouais, y'en a qui puent la mort aussi à 38
Voilà, ça sent la mort
Il peut rien si ça sent le cercueil
Tu crois qu'il sent ?
Alors, moi, je réponds
Maintenant, ça y est, vous avez assez répondu
Maintenant, c'est à moi
Donc, moi, je peux vous dire une chose
Y'a les personnes âgées
Putain, il commence à me casser les couilles, ce mec
Donc, je peux vous dire une chose
Y'a certaines personnes qui laissent pas les places
Je trouve ça dégueulasse de leur part
Et pour les femmes enceintes
Ils vont s'adresser au machiniste
Le machiniste lui demande à se convaincre
On lui laisse la place
Et y'a d'autres personnes qui ont le droit
Tout comme toutes les personnes âgées de s'asseoir
Et les femmes enceintes, c'est les aveugles
Bon, écrase-toi
Rigaud, une question
Oui, y'a Davy One
Qui te demande combien ça coûte
Une grève en euros
Et est-ce qu'il y a des réductions pour les cartes vermeilles
Et les militaires ?
Non, y'a aucune réduction pour tout ça
Et combien ça coûte alors ?
Je n'en sais rien
On est pas encore au moment de l'euro
Alors, les gens
Lors des grèves
Il y avait un petit Larsen
J'ai Manu
Non, non, non
Ouais, ouais, Pildar, fais le malin
Fais le malin
Fais bien le malin, toi
Lors des grèves
T'es un pauvre type
Ça vient d'où ?
Moi, ça le fait pas
Si ça le fait, regarde
Mais qu'est-ce que c'est que tu fais ?
Mais c'est quoi ce bordel ?
Qu'est-ce que tu fais ?
Non, mais Pildar
Pildar, quand t'auras fini, tu vois ?
Non, non, non, non, non
Il ouvre la boîte, ça marche
Connard, dès qu'il arrive, tu l'arrêtes
Alors, fais pas chier ton monde, toi
J'ai rien fait, moi
Pauvre con, va
Là ?
Non, mais là, c'est bon
Mais non, c'est Pildar qui s'amuse, alors
T'inquiète pas, il s'amuse
Il s'amuse depuis tout à l'heure
Non, là, j'ai plus rien
Non, non, il s'amuse, là
Il s'amuse
Ah, c'est ça
Ouais, ouais
Péga, parce que tout à l'heure, je vais t'éclater, toi
Tu m'énerves
Dans les deux débats, c'était le bordel
Ouais
Non, mais on peut remercier Pildar
L'audience
Et lui, là, au standard, t'as mis le bordel, toi
Attends, je suis en train
Et lui, c'est Manu
Je peux pas me concentrer avec tous tes pauvres sons, là
Non, ouais, c'est lui qui s'amuse aussi
Tu mets ça sur le doigt à Manu, tu vois, mon cul
Ouais, ouais
Tu vas te choper à la sortie de la radio, t'as l'air ta gueule
On va te niquer, on va te niquer
Bon, ces bandes de petits cons, là, je les emmerde
Alors, lors des grèves, tripotez-vous, les gens
Les jeunes femmes ou des siens
C'est n'importe quoi, le standard, ce soir
Je suis dégoûté
Non, mais moi, je suis plus dégoûté parce que c'est toi qui fous le plus ta merde
Non
Nuance
Alors, lors des grèves, tripotez-vous, les jeunes femmes ou des siens
Quand il y a les trains qui sont complets
On va demander à Babington
Eh, tu viens chez moi, après, Gérard ?
Babington
Ouais, ouais, ouais
Ouais, ouais, moi, je pense que ouais
Tu peux préciser ?
Parce que c'est toujours le mercredi, c'est comme ça
C'est toujours comme ça
Donc, c'est tout, c'est toute la précision
Voilà, voilà, mais c'est toujours complet, comme ça
D'accord, lâche ça, t'en veux
Oh, je te baisse
Lâche ça, t'en veux, s'il te plaît
Je ne réponds pas à cette question
Alors, dans ce cas-là, tu réponds pas à cette question
C'est terminé pour toi, le débat
Au revoir
Au revoir pour elle
Alors, fromage de cul
Ouais, moi, je fais
Qu'un intérêt de
De faire des grèves si on peut pas tripoter
Des nanas, je veux dire
C'est normal, c'est tout à fait
Je suis sûr que toi, petit vicieux, tu l'as fait aussi quand t'étais jeune
Non, ça m'est arrivé, ouais
Oh, raconte !
Allez, raconte
Les premières expériences sexuelles dans le RER
Qu'est-ce qu'elle raconte ?
Vas-y, raconte avant
Non, si je laisse parler, toi, tu t'écrases
Les auditeurs voulaient qu'ils racontent
Bien sûr, bien sûr
Pour l'instant, je demande aux auditeurs
Leur truc
Qu'est-ce qu'elle raconte ?
Ouais, raconte quand tu mettais des oeufs dans le cul au chien, vas-y
Qu'est-ce qu'elle raconte ?
Ouais, bah, je vais te dire que moi, ça m'est déjà arrivé
Je vais te raconter une petite anecdote
L'autre fois, c'était genre dans l'ouest parisien
Et j'ai touché une espèce de grosse vache
Avec des tresses qui sentaient pas très bon
Alors, caca de Pâques, c'est même plus la peine
Caca de Pâques, c'est plus la peine
Terminé !
Attends, j'ai le droit de toucher des grosses qui sentent mauvais
Je me suis tapé des mycoses, des champignons sur les doigts
C'est pas ma faute, mais j'ai le droit
Non, non, mais c'est terminé pour toi, tu peux...
C'est terminé, ça t'apprendra
Comme toi...
T'as pas le monopole des grosses, je te signale
T'as pas le monopole des grosses
Comme toi...
Ouais, moi, je touche pas les femmes ni les chiens
Ça me dégoûte un peu, mais bon, je touche d'autres trucs
D'accord
Ça te dirait de me tripoter
C'est bien, parce que fromage de cul, c'était Tony
Et Tony, il fait les deux débats
N'importe quoi, c'est pas grave, c'est pas grave, enchaîne
Donc, comme toi, c'était ta réponse ?
Oui, c'était ma réponse
Ok
Je sens le harangue, ou à moins qu'il y ait une question IRC
Non, on voulait juste dire que même s'il n'y a pas de grève, on peut tripoter les filles dans le train, et pas que dans le train
Bah ouais
Ok, donc, je sens le harangue
Je viens droguer
Je me drogue à la frite
Je ne peux pas me passer de frites, c'est plus fort que moi, ça me rend fou
Je ne pense qu'à ça, manger des frites
Non, mais tu crois que c'est Manu, alors que c'est toi qui viens d'allumer le truc
Pff, n'importe quoi, ça c'est pour régler le son du CDR
Mais oui, le CDR, on me fout de con, on va
Je te disais que je tripote les fesses des hommes, parce que c'est ce que je regarde en premier chez un mec
Et après...
T'as vraiment des goûts de merde ?
Non, mais il s'amuse
Attends, je sens le harangue, parce que là, Max, il vient d'arriver
Donc, c'était pour préciser que ce n'était pas pour régler le CDR qui s'amusait
C'est qu'il est en train de s'amuser à mettre une connerie là-haut
Salut Max
Donc, je sens le harangue
Tu viens chez moi après, Gérard ?
Je sens le harangue
Non, mais je te réponds, là
Donc, je te disais que je tripote souvent les fesses des hommes
Ah, vas-y, j'en dis, vas-y encore
Dans le tramway ou dans le métro
Et donc, je regarde ce que je regarde en premier
Vous laissez parler les gens ou quoi ?
Donc, voilà, je t'ai répondu
D'accord
Si t'as pas entendu, sens le harangue
J'ai compris quand même ce que tu m'avais dit
Alors, pendant les grèves SNCF ou autres, les trimpes ont-ils l'amour ?
On va demander à Babinton
Chérin
Babinton
Oui, tu peux répéter la question, s'il te plaît ?
J'ai pas bien entendu avec le bruit
Alors, pendant les grèves SNCF ou autres, les trimpes ont-ils l'amour ?
Euh, ouais, je pense que c'est possible
Comment on peut répondre ?
C'est possible techniquement
Techniquement
Par contre, je pense que ça arrive que sur certaines voies ferrées
Pas partout en France
D'accord
Que dans les grandes gares
Tony ?
Quand je suis contre tes pieds
Les trains, ils ont pas d'appareil génital
Non, mais, généto
Merci Tony pour...
Généto, si tu veux
C'est des bateaux, généto
Parce que c'est transitif, c'est ça ?
Non, c'est transpirif
Ah, ok
Donc, alors
Gérard ?
Oui, Manu ?
Donc, on accueille
Je t'écoute à la place de Caca de Pâques
Oui, allô ?
Et on accueille Slogan à la place de
J'ai la chatte en feu
Les routiers, c'est tous des enfoirés
La CGT au pouvoir
Enfoiré
C'est Slogan, ça, c'est Slogan
Il est dans le débat de la grève, grave
Non, non, non, mais je crois que tu lui dis qu'il se calme
Non, mais il va t'écouter, y'a pas de soucis
Donc, Tony ?
Ouais, ça y est, j'ai répondu, j'ai répondu, ils ont pas d'appareil génital
Ok, alors, je t'écoute ?
Ouais, je t'écoute
Vas-y, je t'écoute, GG
Non, mais tu réponds à la question
Bah, écoute, des trains qui coculent, non, pas des masses
Mais il y a quand même
Eh, eh, eh, on me laisse parler
Il y a quand même un maximum de gens
Qui sont enculés dans les chiottes de la loi
Je t'écoute
Alors, je t'écoute, tu vois
On t'a très bien entendu
Maintenant, tu dégages, au revoir
Moi, j'ai une aventure
Voilà, c'est très bien
Alors, comme toi
Bah non, les trains peuvent pas faire l'amour
Par contre, ça baisse le sexe dans les trains
Quand il y a grève
Ouais, bah ça, ça revient presque à la
Sur quelle ligne ?
Bah, ça revient presque à la cinquième
Tu viens chez moi, c'est ça, Gérard ?
Ça revient presque à la cinquième question
Ce que tu veux dire
C'est quoi la cinquième ?
Bah, la cinquième, c'était lors des grèves
Tripotez-vous les jambes en arté
Il y a une différence entre tripoter et faire l'amour
D'accord
Tu fais l'amour sur quelle ligne, toi ?
Slogan, toi, tu veux répondre, là ?
RRB
Slogan, tu réponds à la question ou pas ?
Bah, j'ai vu que j'étais au standard
J'ai pas tout entendu
Alors, pendant les grèves
SNCF ou autre, les trains font-ils l'amour ?
Ouais, Gérard, tu peux répéter la première question du débat ?
Je voulais répondre
Attends, tu me laisses parler, s'il te plaît
Les trains font-ils l'amour ?
Tu me prends pour un con ou quoi ?
Non, je t'y prends pas
Stylès
Ouais, mais c'est pas moi qui l'ai dit, alors
Pauvre chave
C'est pas moi qui l'ai dit, slogan
C'est vraiment un bacard, hein
Abrouti, va
Espèce de doigt en douille, va
Tu travailles, hein ?
Non
Alors, c'était un...
Il y a un autre Gérard, il y a un autre Gérard
Ouais, il y a un autre Gérard à l'antenne, là
Slogan !
Ouais, bah, je viens de répondre
Ok, alors, je sens le marrant
Alors, effectivement, je pense que les trains ont une vie sexuelle plus épanouie
Oh, la folle
Parce qu'ils peuvent faire ça à une vitesse plus rapide
Non, non, c'est toi, Fildor
Ils vont plus vite, quoi, si tu veux
N'importe quoi
Ils peuvent avoir une vie sexuelle plus épanouie
Vu qu'ils vont plus vite
J'aimerais te dire je t'aime à la loco
J'aimerais te dire je t'aime quand je fais un travlo
Celui qui s'amuse à dire ça va se calmer
T'as compris ce que je t'ai dit, Gérard ?
Ouais, ouais, j'ai entendu
Donc, y'a pas de problème
Ok, alors, sixième, septième question
Pourquoi faire grève lorsqu'on est bien payé ?
Gérard ?
Oui
Juste avant que tout le monde réponde
Donc, on accueille
J'ai des poux
Sous les bras, j'ai des poux
Pardon, excuse-moi, c'est un peu compliqué
Oui, allô, bonsoir
Et on accueille, donc, Couscous
À la place de Badminton
Salut
Couscous
Couscous
Couscous
Couscous
Couscous
Allô, couscous
Couscous
Allô, vrai bonnet
Je passe le bonjour à Abdel Wahed
Salut
Tu m'éteins ça, toi ?
Tu m'éteins ça, là-bas ?
Couscous, c'est une dédicace, hein, ce soir
Alors, donc, euh...
Bon, vous fermez votre gueule un peu, maintenant
On salue, on salue
Sous les bras, j'ai des poux
Bonsoir à toi
Oui, bonsoir
Eh, Couscous, bonsoir à toi
Bonsoir, tout le monde
Eh bien, bien revenu dans les débats du jeudi, toi
Bonsoir à tous les bouddhistes
Alors, donc, pourquoi faire...
Bon, maintenant, vous allez vous calmer
Parce qu'il est 2h45
Et je voudrais terminer le débat correctement
On peut se...
Allô ?
Allô ?
Ne quittez pas, ne quittez pas
Allô, bébé ?
Oui, ça va, tranquille
Ça va, ça va
On peut savoir le nombre de personnes qu'il y a sur internet
Puis le darpega, parce que tout à l'heure, ça va mal se finir pour toi
Sur...
Alors, allô ?
Oui, on t'écoute
Allô ?
Allô ?
Allô ?
Ok, non, c'était pour...
FILDAR !
Oui, Fede, bonsoir, c'est au standard
Oui, Fede, bonsoir, c'est au standard
Euh, s'arrêtez de bouger
Bon, Fildar, tu dégages
Non, non, mais là, ça commence à bien faire, lui
Oui, Fede, bonsoir, c'est au standard, tu veux parler de quoi ?
Ouais, salut
Fede, c'est à l'antenne, c'est pour...
Bon, ça y est, c'est Manu, là, t'as vu ?
Gérard, on est 4131
FILDAR, TU LÊTES PAS LES RIGAUX, QUOI ?
Fais ce con !
4131
Bon, moi, j'arrête le débat
On est 4131
Arrête
Non, mais là, c'est pas Manu
C'est Fildar qui déconne
Bon, c'est Fildar, t'arrêtes maintenant
D'accord, j'arrête
Qu'est-ce qu'il se passe ?
Donc, on est...
Ça va ou pas ?
Non, mais qu'est-ce que c'est que ce bordel, là ?
Non, mais je crois qu'il y a un problème
Non, il n'a rien allumé
Fildar, ça commence à bien faire
Il n'a rien allumé !
Regarde !
Il n'y a pas de problème
Non, mais il s'amuse, là-bas
Non, mais c'est pas grave
Manu, c'est la dernière semaine que tu peux les débattre, toi
Ça, la semaine prochaine, c'est terminé pour toi
On verra
Non, non, il n'y a plus de... On verra maintenant, c'est fini
Deux semaines qui me foutent la merde, c'est pas la peine
Donc, on est 4000...
4000...
4000...
Arrêtez, derrière...
C'est quoi ce bruit qu'on entend ?
Je ne sais pas, je...
C'est dingue
Bon, on est 4321, c'est en train de remonter un petit peu
Mais on n'atteindra pas...
Je vais m'accrocher, Gérard
On n'atteindra pas les 3000 ce soir
Non, les 5000
Les 5000 ce soir, excuse-moi, je suis fatigué
Alors, septième question
Je vais m'accrocher, Gérard
Pourquoi faire grève lorsqu'on est bien payé ?
On va demander à Couscous
Moi, je ne sais pas
Je ne vois pas le problème dans la...
Est-ce que tu fais des grèves, toi, Couscous, des fois ?
Oui, ça m'arrive
Tu fais des grèves de la faim, non ?
Oui, j'ai déjà fait le ramadan
J'ai déjà fait le ramadan
Mais je me suis déjà fait aussi des grèves des poumons
Des grèves du cœur, des grèves du foie
D'accord
Sous les bras, j'ai des poux
Je suis en point
Tu réponds ?
Mais tu es en point, Gérard
Tu réponds ou tu ne réponds pas ?
Tu réponds, c'est bien
Si tu ne réponds pas, attends
Manu, tu le prends...
Tu réponds ou tu réponds fort ?
Manu, tu le récupères
On va passer à Slogan
La question, j'attends un peu trop
On va s'écouter un petit morceau
Vos gueules !
Moi, je ne réponds pas aux questions
Je ne réponds pas à la question dans ces conditions
Il faudrait que tu mènes un peu mieux ton débat
Alors, Slogan
Répète-la, répète-la
Répète la question
N'échouiez pas !
Pauvre con, va
Arrête tes conneries, tu veux ?
Arrête tes conneries depuis tout à l'heure
Arrête !
Arrête !
Ce que tu m'énerves !
De poisson !
Lorsque Slogan !
Ouais !
Il y a de l'écho dans la maison
C'est Notre-Dame de Paris, là
Arrête !
Arrête, Gérard !
Gérard, arrête !
Arrête, arrête, arrête !
Bonne heure, Gérard !
Bonsoir à tous les égorgeurs de France !
Bon, allez, hop, terminé
Ce n'est même plus la peine de continuer le débat
J'arrête, hop, terminé
Fildar, tu dégages, c'est fini pour toi
Moi, j'arrête, je continue pour le débat
Bonsoir à tous, vous faites les conclusions
Couscous pour la conclusion du débat
Non, ils sont tous là, Gérard
Non, non, non, tu dégages
Je ne vois pas le savoir
Ces conclusions, c'est tout
Tu as bien foutu ta mère lors des deux débats
Mais non !
Tu as foutu ta mère pour lors des deux débats
Le report a été battu partout
On fait ça pour Internet, alors
Fais-le pour Internet
Il y a encore plus de 4000 personnes
On peut peut-être continuer pour eux
Toi, tu...
Tu vires
Non, mais je ne fais plus rien
Tu vires, tu vires, c'est des roms
Je ne bouge plus
Alors, Slogan, si tu veux répondre correctement à la question
Ben oui, mais il y avait tellement de brouhaha que je n'ai pas entendu
Alors, il faudrait que tu répètes
Ce n'est pas possible
Tu peux répéter, s'il te plaît ?
Pourquoi faire grève lorsqu'on est bien payé ?
Alors là, c'est une question bien difficile
C'est une bonne question, ça
C'est une bonne question
Je ne sais pas ce qui t'arrive en ce moment
Gérard, sur l'IRC, on me demande que tu répètes cette question, justement
Alors, pourquoi faire grève lorsqu'on est bien payé ?
Gérard, au standard, on me demande aussi que tu la répètes encore une fois
Non, non, mais ils me font chier, au standard
Ben ouais, mais bon
Gérard, sur Minitel, moi, ils me demandent que tu fermes ta gueule
Non, ben toi, tu vas fermer ta grande gueule de con
C'est Minitel
C'est Minitel
C'est Minitel
Oh là là
Eh Gérard, tu penses aussi quand tu fais caca ?
Voilà, pour le Minitel, il ne fonctionnera plus
Ah, bien joué
Alors, slogan, si tu veux répondre correctement à la question, maintenant
Ben, je la trouve tellement compliquée
Ben, non, je pense que ce n'est pas utile de faire grève quand on est bien payé
D'accord
Donc, Tony
Ouais, non, en fait, ce n'est pas les riches qui font grève
C'est les pauvres comme nous
Ben ouais, mais...
Non, mais Tony
Oui
Est-ce que...
Pourquoi faire grève lorsqu'on est bien payé ?
Non, mais tu ne comprends pas que c'est les pauvres, les pauvres qui font grève
Ce n'est pas les riches
Les riches, ils n'ont pas besoin de faire grève puisqu'ils ont déjà tout ce qu'il faut
Mais n'essaye pas de l'inscrire
Ils font des émissions sur M6, ils ont la radio et tout ça
Tony, tu évites de dire des noms
Eh Gérard, tu penses aussi quand tu fais caca ?
On est pauvres, on est pauvres, on est pauvres
Donc, la semaine prochaine, pas de Tony
Alors, comme toi
Ouais
De toute manière, c'est la fin du débat, il est 2h51, j'arrête un peu
Mais Gérard, mais t'es où ?
Comme toi
Ouais
Bah non, c'est pas utile, moi je suis le même avis que Tony
D'accord, et je sens le harangue pour finir
Alors, quoi te dire ?
Je pense que c'est pour emmerder les gens
Tu ne crois pas ?
Elle est con
Non, mais ce n'est pas la question, ça
Ça n'a rien à voir avec la question
Elle n'a rien dans la tête
Viens là, viens là, viens là, la cinglée
Elle est con
Allez hop
Alors, je vous préviens
Elle est priso
Elle est moins con que vous parce qu'elle sait répondre aux questions que vous, vous ne savez pas répondre
Alors, moi, pour vous dire
Oh, vous fermez vos jeunes maintenant
Merci
Alors, moi, pour vous répondre, je ne sais pas
Pourquoi ça sert de faire grève lorsqu'on est bien payé
Vu qu'il y en a qui se touchent des briques par mois
Combien ?
Des millions par mois, je me demande pourquoi ils font grève
Ça ne sert strictement à rien
Tu peux toujours réclamer 200 balles de titres qui restent en plus
Et alors ?
Ça dépense
Mais ouais, c'est pas possible
Conclusion
Je sens le harangue et que tu suces la bite, ça y est
Non, non, non, mais il ne faut pas déconner
J'ai un problème au standard
Donc, c'est terminé
C'est rien terminé du tout, tu continues
Allez, je ne sais pas, fais pas la pute
Il y a un problème au standard
C'est un problème d'insert, quand même
Si quelqu'un m'entend dans le CD-ROM
Allô, je suis perdu, là
C'est mieux, déjà
Conclusion
Gérard, avant de finir, quand même, il y a Davy1 qui te pose une question
Est-ce qu'il y a des universités où on apprend à faire grève ?
Arrête, Gérard, il ne sait pas ce que c'est, une université
Ça a merdé encore
Personnellement, non, je ne pense pas
De toute manière, même les lycéens font grève
Mais comment on sait comment il faut faire la grève, alors ?
Ça, c'est eux qui savent
S'ils sont mal payés, ils font grève
Non, non, mais ce n'est pas que ça
Je vais t'expliquer, par exemple, tu es étudiant, tu n'as jamais fait de grève
Il y a quelqu'un qui dit, bon, on va faire la grève
Si tu ne sais pas comment on fait, qu'est-ce que tu fais ?
Tu l'essuies, c'est tout
Tu l'essuies, tu fais quoi ? Tu l'essuies comme un mouton ?
Tu rentres dans le truc, et puis c'est tout
Tu l'essuies avec un chiffon, non ?
Mais non, tu fais comme ils font, et c'est tout
Donc, conclusion du débat, on va demander à Couscous
C'est bâclé, ton débat
Tu n'avais qu'à moi faire le compte, ça ne serait peut-être pas arrivé
Ça n'a rien à voir
Je les coupe, ils rigolent
Couscous
Continue, continue, Gérard
Non, non, c'est terminé
C'est terminé
Allez, une question
Continue ton débat
Combien coûte une grève en général ?
Bon, laisse tomber, on conclut
Bon, alors, conclusion, Tony, conclusion
Allez, hop
Merci, Tony
C'était bien, bravo
C'était bien marré
C'était bien, bravo
C'est un peu trop le bordel, quand même
Et qui est-ce qui paye ? C'est les auditeurs
Donc, j'aimerais que la prochaine fois, on fasse ça mieux que ça
Voilà, comme d'habitude
Et puis, c'est tout
Ok
C'est qui ?
C'est Goldo
Qu'est-ce qu'il vient faire ?
Non, je te jure
Slogan
Slogan
Sérieusement, pour une fois
Plus t'avances dans le temps, plus c'est de la merde ce que tu fais
Et faudra que tu...
C'est faux
C'est faux
C'est faux
C'est faux
Franchement, on te prendra pas
Toi, tu resteras chez toi
Alors, sous les bras, j'ai des poux
Non, mais j'ai pas fini
Non, non, mais ça y est
Si, t'as fini
Sous les bras, j'ai des poux
Ouais, bah, donc, je continue avec ma soucoupe volante
Je voulais dire que tu mets tout sur le dos de Fildar
Mais faudrait quand même un petit peu que tu te calmes, quand même
Non, mais attends, qui c'est qui a foutu sa merde au premier débat ?
T'as quand même déjà la grosse qui n'aide pas du tout le débat, quand même
Non, Manu n'est pas grosse
Non, mais je parle pas de Manu
Elle apporte pas des réponses très constructives
Et déjà, tes questions ne volent pas très haut
Après, si tu mets ça sur le dos de Fildar, ça le fait pas
Mais attends, les questions de la grève
Fildar, il travaille, regarde-le, il travaille, il s'acharne et tout
Et toi, tu le tapes
Les questions de la grève, on les a revues et corrigées avec Rigaud et Manu
Donc, je vois pas du tout pourquoi c'est de la merde
Et c'est pas une raison pour faire du kickboxing avec Fildar
C'est terminé
Ok, couscous
Ouais, bah, le débat, il aurait été plus intéressant
Si t'avais pas trop gueulé sur tes standardistes
Non, mais j'ai pas gueulé sur mes standardistes
Manu, il a bien fait son boulot au deuxième débat
Rigaud, il bosse toujours bien sur l'IRC
Donc, je vois pas, au deuxième débat, je vois pas sur qui j'allais gueuler
À part Fildar qui s'amusait à passer des doubles sons
Ça, c'est tout
T'es d'accord, couscous ?
Y'a pas de problème
Bon, Gérard
Y'a quand même quelques conclusions sur l'IRC
On va pas lire les 4000, quand même
Alors, y'a Turpentine qui dit que ton débat avait ni queue ni tête comme toi
Comme d'habitude
Y'a, je sais plus qui, qui disait qu'ils ont apprécié la grève de ton cerveau
Qu'est-ce qu'il se passe ?
Euh, voilà, donc, ça sert à rien de faire la grève
Mieux vaut tenter sa chance au Big Bill si on veut plus d'argent
Ouais
Si c'est pour insulter ses assistants et passer son temps à gueuler en bâclant les débats
GG devrait faire grève
C'est vrai, ça ferait du bien que tu nous fasses une grève de débat
C'est ce qui pourrait peut-être se produire
Ouais
Ok
Et je voulais juste finir pour dire que le 13 décembre
Y'a une grève planétaire des internautes contre France Télécom
Ouais
J'en reparlerai dans la semaine
Ouais, ouais, c'est 9h
Comme toi
Ouais
Donc pour toi, conclusion
Déjà, je vous fais tous des gros bisous
Et puis, je voulais dire que tu pues la moule
Faudrait mieux qu'elle reste chez elle
Parce qu'elle a déjà les questions à l'avance
Elle répond n'importe quoi
Elle sait pas du tout avancer le débat
Ça commence vraiment à puer la moule
Tu pues la moule, reste chez toi
Ben, c'est simple parce que j'ai pas de personne
Mais si, c'est le poisson là
C'est le thon
C'est le thon
Le harangue pourri
C'est le thon
Ah non, le harangue, pardon
Gérard
C'est qui ?
C'est Pierre Fulain
Non, mais c'est bien
C'est de la merde, peut-être
Je sens le harangue pour conclure
Je sens le harangue
Allô, je sens le harangue
Elle est là
Allô
Pas elle là, pas elle là, son piquet
Si, il est là, son piquet
Pas elle là, pas elle là, son piquet
Oui, il est là
Hein ?
Ouais
Tu as pas entendu ce que j'ai dit ?
Non
Non
Gérard, je t'attends à la sortie de la radio
Donc, je te répète, c'est comme t'as pas entendu
Ouais
Donc, j'ai un truc au départ
Gérard, je t'attends à la sortie de la radio
Bon, celui qui s'amuse à dire des conneries, vous laissez parler des gens, merci
Gérard, je t'attends à la sortie de la radio
Donc, ouais, je t'écoute
Et j'écoute pas trop souvent quand même
D'accord
Bon, bah, c'est pas grave, j'ai vaguement entendu ce que tu me disais parce que c'est coupé à moitié
Fildar, tu recommences ?
Non, non, mais tu recommences, c'est bien, mais ça c'est terminé pour toi
Est-ce que tu fais des bêtises, celui-là ?
Alors, on va s'écouter, pour moi, la conclusion, c'était de la merde
Le débat, c'était comme le premier, j'ai pas pensé que ça allait se terminer comme ça, c'est grâce à Fildar quand même
Parce que celui qui a foutu sa merde, on termine avec combien de personnes sur l'IRC quand même, Rigo ?
Allô, Gérard ?
Non, mais...
Allô, Gérard ?
Manu, là, fait quelque chose
Allô, Gérard ?
Non, mais je peux pas parler si...
Donc c'est bon
Alors, on a fini à 4563 personnes, ce qui est vraiment excellent
C'est pas mal
Franchement, Gérard, y'a aucune radio qui va faire un...
Non, mais je pense que d'ici...
On aurait pu faire mieux s'il y avait moins eu de bordel avec Fildar
Oh non !
Tu te rends compte, Gérard, qu'il fait de la merde et t'as 4000...
Non, non, mais c'est toi qui a foutu ta merde, t'as foutu ta merde sur les deux débats
Allô, Gérard ?
Y'en a que deux qui ont bien bossé, c'est Manu et Rigo, c'est tout
Y'a que eux qui bossent bien lors des deux débats
Alors, on va s'écouter...
Ah, c'est clair, y'a même pas toi, toi tu bosses pas non plus bien
Allô, Gérard ?
Pour terminer, 256, on va laisser Rousseau pour la nuit sans pub
Allô, Gérard ?
Demain matin, 6h, vous allez retrouver Bart
Allô, Gérard ?
Et demain soir, 22h, vous allez retrouver le Star System
Et surtout, y'a des places à la loco et...
Y'a Jean-Denis Berre demain, c'est...
Jean-Denis Berre, pour en offrir, là ?
On peut en offrir
Eh ben, pour demain soir, ceux qui veulent venir à la loco avec le DJ Regueuillat, je serai là
Et puis, y'aura également DJ Sinclair, c'est maintenant qu'ils appellent au standard
On va prendre les 3, 4, 5, 6 premiers
Avec la personne de leur choix, ils viennent gratos
Grâce à Gégé, quand même
Et donc, samedi, t'es où, tu peux préciser ?
Samedi à Vannes, on est à...
Malverne
Malverne
Voilà, donc, je vous souhaite une bonne nuit
Je vous retrouve la semaine prochaine
Et on s'écoute les poules du Cirque Pain d'Air
Avec du saucisson
Bonne nuit à tous et à la semaine prochaine
== Le débat sur les jeux télé ==
=== Le contexte ===
=== Les personnages ===
=== Transcription ===
Nous avons une parodie de Gérard, sympathique paraît-il, bonsoir faux Gérard. Allo ? Oh putain, tu es réveillé, c'est grave. Il est dans une cabine, ça va Gérard ? Bonsoir à tous, donc bon ben, petite parodie des débats je crois. D'accord, ben le vrai Gérard t'écoute, on y va. Donc balance le jingle et c'est bon. Ah faut que je mette le jingle, pardon, alors excuse-moi, vous l'avez calé, attention on y va, prêt, 3, 2, 1, top.
Et voilà, donc bonsoir à tous et bonjour, c'est les débats de Gérard, donc on va saluer Rigaud à l'internet www.funradio.fr. Oui, bonsoir, big big up. Ok, donc Manu au standard 0870 5000. Ouais, en gros, salut. Et Fildar à la pro.
Ok, donc on va accueillir Couille de loup. Bonsoir Gérard. Couille de loup, bonsoir. Bonsoir Gérard. Bonsoir. Bouledogue mystère. Oui, bonsoir Gérard, t'aurais pu m'imiter aussi, je suis quand même une star, merde. Ouais, salut. Donc le débat, je pense, va porter sur la poésie. Donc première question, que pensez-vous de la poésie, si oui, pourquoi ? Donc on va demander à Bouledogue mystère.
C'est bien tu Gérard. La poésie. Non mais tu travailles. Est-ce que tu peux me répéter la question ? Non mais tu te fous de ma gueule, alors bonne nuit, dégage. Hop, tu me gères ça, d'accord ? Ouais, Gérard, c'est Manu. En gros, à la place de Bouledogue mystère, on accueille Saucisson à l'ail. Ok, donc Saucisson à l'ail, bonsoir. Bonsoir. Allo. Bonsoir. Saucisson à l'ail une fois, Saucisson à l'ail deux fois. Je suis là, je suis là. Bon, alors t'as écouté la question ? Ouais.
Donc pour toi ? Ouais, bah moi j'aime bien la poésie, je trouve que ça ouvre l'intellect sur... Non mais attends, Saucisson à l'ail, on va pas aller voir l'intellect ou autre, hein. On va pas chercher Midi à 14h, d'accord ? Que penses-tu de la poésie ? Bah en fait, j'aime bien. Donc couche de loup pour toi ? Ouais, bah moi j'aime pas ça. Je trouve que ça sert à rien, on nous fait chier à l'école, là, toujours, apprendre des poésies, on s'en fout.
Mais bon, c'est bien parce que t'apprends à lire quand même. Non mais attends. Quoi ? Attends, à l'école, déjà d'une. Quoi ? Déjà, à l'école, la poésie, ça m'étonnerait qu'on en apprenne, je suis désolé. Ah bon ? Non mais attends, moi je veux te dire une chose que... T'es à quelle école, toi ? Non mais attends, déjà, moi je veux te dire une chose que l'école, bon bah, je sais pas que j'ai pas été, mais j'ai pas trop pratiqué de ce métier. Mais je veux te dire une chose, tu vois, ça m'étonnerait, hein. Donc... Tu changes d'école, hein. Ah ok. Donc moi, en ce qui me concerne,
c'est dommage parce que, bon bah, moi, la poésie, c'est un truc que j'aime bien. C'est pas un truc qui me déteste. Donc, moi, je veux te dire une chose que, d'ailleurs, ce chisson-là, il pourra confirmer. Ouais, tout à fait. Tout à fait. Déjà, ce soir, toi, je vais te bouffer ta petite chatte. Je veux te dire une chose que, tu vois, la poésie, c'est un truc que, moi, pour faire craquer les filles, c'est ok, quoi. Voilà, donc, bon bah, on va... On s'écoute un petit disque ou pas, là ? On fait quoi ? Non, conclusion, d'accord. Donc, conclusion,
c'est pas mal. C'est dommage que, bon, les auditeurs, c'est un peu des habituels, j'ai l'impression. C'est Tony, on t'a reconnu. Donc, tu pourras pas dire que c'est le contraire. Et toi, ce chisson-là, je t'attends, je sais pas. Dans mon lit, on va faire la fête. Rigaud, sans indiscrétion, on a combien de monde, là, sur Internet ? Oui, énormément de monde sur Internet. On est deux. Il y a moi et un mec de France Télécom à qui, d'ailleurs, je fais une petite casse-déli. Ok. Donc,
là, je crois que le record mondial d'Internet est pas prêt d'être battu, parce que, là, c'est bizarre. La semaine dernière, on avait atteint les plus de 3000. Et maintenant, on est que deux. Donc, là, je crois qu'on touche le fond du rouleau. Donc, bon, bah, on va s'écouter un petit disque, quand même. On va s'écouter des annus sans feu avec Bouffe-moi la chatte le week-end, mais pas la semaine, je travaille. Voilà, donc, dans un instant, vous allez retrouver Blondo pour les nuits sans pub. Et bonne nuit à tous. Bravo, t'es bien assuré. Excellent. Bravo.
Il faut l'embaucher, il faut l'embaucher. Ah, là, franchement... Big up, big up. Ah, ouais, big up à toi, parce que, franchement, bravo. Bravo. Dommage, tu peux me refaire un petit coup de fil d'art ? C'est dommage qu'on n'ait pas entendu assez fil d'art. C'est hallucinant, c'est hallucinant. C'est hallucinant, hein, Tony ? On connaît bien la voie du fil d'art. Putain. Tony, entre Tony, Manu et fil d'art, et Rigo, putain, mais c'est hallucinant.
qui n'a pas trop apprécié qu'on se foute de sa gueule, il s'est vexé. Alors que je lui ai expliqué que c'est un peu comme les guignols, c'est la consécration que quand on est une star, on est imité. Gérard fait une parodie. Gérard est en train de fumer sa cigarette dans le couloir, il n'est pas content, il fait la gueule. C'est dommage, mais en tout cas, vraiment félicitations. Il n'y a rien à dire, c'est du top top de chez Top Top. Quand tu as l'occasion de nous en refaire d'autres, n'hésite pas. J'avais prévu de faire ça toutes les semaines, mais je ne sais pas si... Ah si ? Je ne sais pas. Avec grand plaisir. Avec grand plaisir.
Merci encore. N'hésite pas quand de temps en temps, Pierre Fula, tu peux également nous faire des petites engueulades entre Gérard et Fildar. Si tu avais à inclure ça dans tes débats, je sais que ce n'est pas facile. Petit à petit. Merci. Qu'est-ce qu'il y a, Gérard ? On l'a repris en antenne. Qu'est-ce qu'il y a ? Bah non, fais pas la gueule, merde ! Il est vraiment... Il est vraiment... Il est vraiment phénomène !
Il est vraiment... Il rigole, vas-y ! Il est vraiment phénomène ! Allez, Gérard ! Bon, allez ! Dans moins de 5 minutes, sur Fun Radio, les débats de Gérard vont démarrer. La pression est mise à son maximum, que les radios d'en face s'accrochent, car le bulldozer de la bande FM va arriver. Le monstre, par définition.
C'est Alain Delon au cinéma. On a connu Spielberg en tant que metteur en scène. Et il y a sur la bande FM l'animateur qui, sans nul doute, va marquer ses 5 dernières années. Et à mon avis, c'est loin d'être terminé. On est au début d'une grande aventure. Encore 15 ans de signature pour un débat de Gérard, comme chaque jeudi. Un sur la posie et un sur les séries télévisées. TF1, entre autres, qui sont remis bien largement en avant grâce au Big Bill. Les débats de Gérard, si vous voulez y participer.
75 000, Internet également à votre disposition. irc.funradio.fr Et dans l'immédiat, Lenny Kravitz pour foutre la pression, les enfants. Toute la bande FM, ce soir encore, va cramer dans tous les sens. Prévenez-les, Sky, Energy, RFM, Chérie FM, Nostalgie, RNC. Ils sont morts, eux. Europe 1, RTL. Gérard de Suren déboule sur la bande FM.
Les débats, pas de radio et pas d'insultes de Gérard.
Qui vous attend sur l'Internet. www.frfunradio.fr On est combien, là, pour l'instant, Rigo ? On est déjà 1280. Et ça arrive, ça n'arrête pas d'arriver. Et tu vois, plus ça va, plus ça monte. Donc, le premier débat va porter sur les jeux télé. Donc, on va accueillir pour ça Je Pue, Je Pue la Crotte, Je Pue la Crotte, Yetto,
On peut écouter Fun Radio sur... Ifto, Gérard, excuse-moi. Ifto. Ah, Ifto. D'accord. T'écriras mieux, d'accord ? Non, non, mais t'écriras mieux. C'est Manu qui a écrit. Gérard, c'est mon écriture, tout ce qui est ville et fréquence. Ok, je te remercie, Manu, de préciser. Donc, on peut écouter Fun Radio sur 97.9. Oui, bonsoir, Gérard. Bonsoir à tous. Oui, bonsoir, Tony. Mais non, Tony, il est là. Écoute, Tony, allô. Oui, bonsoir, Gérard. Bonsoir à tous. C'est pas moi.
Bien sûr, Tony à Brest. C'est ça. Alors, Tony, c'est Paris. Il a le droit de voyager ? Dans Vacances à Brest. Enfin, bref. Pipouin. Pipion. Pipion. Albi. 97.1. Ouais, c'est ça. Non, mais répondez pas quand je parle. Bon, Pipouin, là. Pipion. Pipion, tu réponds ou quoi ?
Il est là, merde. Oh, quoi, merde ? Je vais pas te faire foutre, ok ? Oh, Gérard, doucement, quand même. C'est le début. Pute de nuit. Pute de nuit, Aras. C'est ça. Bon, bien sûr. Allez, foutez-vous de ma gueule. Foutez-vous de ma gueule. Allez, hop. On attaque. Comme ça. Non, mais présente quand même tout le monde, Gégé. Attends. Pour un instant, c'est quoi ce bordel que tu me fais ? Tu commences. Gérard. Tu commences. Tu commences. C'est juste le nom. Attendez, attendez.
Merde ! Putain, mais c'est quoi ce bordel ? Moi, je fais le standard. Mais quoi ? J'ai rien fait. Mais t'es dans ce bordel. Putain, mais c'est quoi ? Putain, rigole pas. On va avoir trois auditeurs. Oh, non, non, non, non. Mais attends. C'est quoi ce bordel qu'il nous fait ? Quoi ? Il y a je pue la crotte. Non, non, non. Allez, hop. Allez, hop. Allez, hop. Mais calme-toi. T'es énervé pour rien. Putain, mais merde. Qu'est-ce qu'il me fait, là ? Qu'est-ce que c'est que ce nom ? C'est surnom. J'y peux rien.
Attends. Je te jure. Dégage. Dégage. Je veux plus te voir ici. Dégage. Casse-toi. Casse-toi. Casse-toi. Mais qu'est-ce qu'il va faire, le standard ? Comment on fait, Gérard ? Attends, putain. Non, mais Gérard, ça va. Moi, j'en ai ras-le-bol. J'en ai ras-le-bol. Toutes les semaines, c'est le bordel. Mais non. Mais si, ce soir, ça va être le bordel. Mais non. Mais si. Je vois le coup arriver. Mais arrête des bêtises. C'est toi qui es énervé, ce soir. Attends. Moi, je vois le coup. Non, t'es énervé d'office. Alors, Tony. Ça va bien se passer. Ça va bien se passer. Bien sûr.
C'est le bordel. T'as décidé. Donc, c'est ta faute. Oui, pourquoi ? Parce qu'il est là. Il n'a pas été... Je ne voulais pas ce soir. Mais qui est à ta place ? C'est bon. Je ne veux pas. D'accord. Tu choisis quelqu'un. Alors, il n'y a personne au standard. Comment on fait ? Non, mais là, il voulait quelqu'un. C'est lui qui remplace. C'est lui le chef. J'en ai parlé hier. Bon. C'est Gérard au standard. Il fait tout, Gérard. Françoise. Oui ? Bonsoir. Bonsoir, Gérard. Ah, Françoise, salut. Oh, on se calme. Bah, écoute, j'ai le droit de dire bonjour, quand même.
Elle est quand même Gérard, la star. Ouais. C'est clair. Vas-y, Gérard. Allez. Ça commence à... Allez, boum. Première question. Allez. Génial. Voilà. C'est bien. Fais voir. Non, non, non. Attends. C'est quoi, les noms que tu me cherches ? J'en ai rien à foutre. J'en ai rien à foutre. Vas-y, j'en ai rien à foutre. Salut, Gérard. Ça va ? Salut. Hé, Gérard, est-ce que tu pourrais me prendre au standard, là ? J'ai quelque chose à te dire, s'il te plaît. Non, non, non, non, non, non. C'est qui ? C'est qui qui veut me parler ? Rodrigo.
Hein ? Rodrigo. Bon, Gérard, allez, on y va. On y va, on y va. Parce qu'il n'y a personne au standard, c'est la merde. Alors, vas-y, Gérard. Première question. Dans le débat, dans le débat. Première question, c'est sur les jeux télé. Quel est votre jeu télévisé préféré ? On va demander ça à Je Pus La Crotte. Je Pus La Crotte, bonsoir. Moi, mes jeux télévisés préférés ? Alors, mon jeu télévisé préféré, c'est quand même le Big Bill. Il faut le dire, c'est un jeu passionnant et j'adore. J'adore la gaffe. Oui. Voilà.
C'est tout ? Ouais. Alors, Pipion ? Moi, c'est sans aucun doute le juste prix. Ouais. C'est vraiment bien, quoi. C'est intéressant et c'est culturel. Enfin, c'est tout, quoi. Ouais, d'accord. Vous cherchez pas trop à... Bah, c'est vrai. Non, mais vous cherchez pas trop à répondre aux questions. Bah, pourquoi ? Bah, tu me dis... Alors, Pute de Nuit ? Ouais, moi, c'est 100% question sur Arte. Comment ? Moi, c'est 100% question sur Arte.
Non, sur Arte... Non, non, non, non. Sur Arte, y'a rien. Si, si, y'a Formos sur... Il y a assez Formos qui me précise. Le mieux, c'est 100% question. Pas d'animateur, pas de décor, pas de candidat. Non, non, non. Sur Arte, y'a aucun jeu télévisé. Je suis désolé. C'est pas Arte, c'est la cinquième. C'est la cinquième. Arte, ça fait un peu plus... Artoni ? Ouais, non, moi, en fait, j'aime pas trop les jeux sur TF1. Je trouve que c'est un peu débile, quoi. J'ai l'impression que c'est un peu pour les beaufs. Moi, ce que j'aime bien, c'est les jeux sur France 3, question pour un champion.
Et puis, aussi, 100% question. Le Cadoc ? Pardon ? Le Cadoc ? Le Cadoc, non, j'aime pas trop, parce que ça me fait trop penser à la 4-10-9. La famille en or ? Non, non plus, parce que c'est sur TF1. Et alors ? Ouais, ben, j'aime pas, non, en fait, non. Dans ce cas-là, si ça te plaît pas, tu changes de chaîne, c'est tout. Voilà, il a le droit de pas aimer. Il a le droit de pas aimer. Il regarde les autres chaînes. Ben ouais, c'est ce que je fais, c'est ce que je t'ai dit. Françoise ? La gaffe. La gaffe, le juste prix,
et puis... Là-haut de la fortune ? Oui, avec Philippe, ouais. Philippe, tu le connais ? Ben, bien sûr, ouais. Ah bon ? Ouais, ouais. T'as déjà couché avec lui, Françoise, non ? Oh, Manu, ça suffit. Oh, je demande, je me renseigne. Et Françoise, tu regardes Cascado ou pas ? Non. Et j'en ai rien à foutre pour terminer ? Moi, c'est le Big Bill, mon préféré, et j'ai pas tribu une fois. Et, en fait, derrière Zeno, j'ai une botte de coton-tige. Alors, toi, j'en ai rien à foutre.
J'en ai rien à foutre, c'est terminé pour toi. Non, mais je l'ai vu, je l'ai vu, cette émission, c'est vrai. Ben oui, c'est vrai. Bon, alors, si vous commencez à me casser les bureaux... Mais je te casse pas les bureaux, Gérard. C'est vrai, j'ai participé. Tu réponds comme il faut à la question, et tu la fermes. Bon, alors, c'est le Big Bill, voilà. Parce que, pour l'instant, vous avez... Là, pour l'instant, vous êtes en train de me casser les couilles, et j'aime pas ça. C'est bon signe, alors. Allez, Gérard.
Allez, continuez. Continuez comme ça, vous allez... Allez, enchaîne un peu, là. Quoi ? Qu'est-ce que t'as, toi ? Ben quoi ? T'es animateur radio ou t'es un branquin ? Qu'est-ce que t'as ? Qu'est-ce que t'as, là ? Ben quoi ? Tu me cherches, là ? Vas-y, j'ai quatre palmanouches qui s'éveillent en moi. Eh, si t'es pas content, tu te casses. Ok ? Allez, Gérard, arrête d'être agressif. Allez, enchaîne, enchaîne. Alors, lors des émissions des jeux, jouez-vous à deux, ou à plus, ou à autres ? On va demander à Françoise. À plusieurs.
Tu peux préciser ? C'est-à-dire que je joue moi, mon fils, et puis mon partenaire. Ouais, mais tu peux préciser sur quels jeux, à peu près, Françoise ? La plupart, c'est Laïga. C'est un cycle juste pris. D'accord. J'en ai rien à foutre. Ben moi, disons que je joue tout seul, parce que j'ai qu'un chat, donc je joue tout seul. D'accord. Je crois que toi, pour l'instant, t'as pas l'air de comprendre
ce qu'on pose comme question. Rico ? Oui, sur IRC, il y a Davy1 qui te demande si il serait intéressé... Est-ce que tu serais intéressé de présenter un jeu télé sur Fun Radio ? Non. Présenter un jeu télé sur Fun Radio, ça m'étonnerait. Bon, alors celui qui s'est mis à rôter va arrêter. Ça pourrait s'appeler le Fun Big Bill. Allô ? Allô ? Non, mais c'est...
Vous allez pas commencer le premier débat comme ça ! Bon, allez, tu poses ta question. Un jeu comme le pauvre Blaireau, ça t'intéresserait pas ? Alors, Tony ? Oui ? Le Blaireau, il t'emmerde ! Non, mais c'est un jeu sur Fun Radio, c'est un pauvre Blaireau, là. Bingo ! Bon, Gérard, je sais pas, fais quelque chose. Non, non, mais attends, pour l'instant... Non, non, mais attends, pour l'instant, personne n'est capable de gérer l'autre. L'autre, Pildar, il prend des cons.
Personne au standard, tu l'as viré, c'est pour ça que c'est la merde. Tu vas là. C'est un Gérard. Olivier ! Olivier ! Olivier, c'est quoi, là ? Allez, vos dialles derrière, s'il vous plaît, merci. C'est un Gérard. Olivier ! Olivier, merde ! Olivier, tu peux laisser en l'air. Non, non, tu laisses ouvert. Non, non, tu peux laisser en l'air, tu me calmes tout le monde déjà pour commencer. Bon, vous vous calmez un peu. Non, non, mais...
Prends-moi, prends-moi. Il y a Tony qui veut te parler, donc tu te débrouilles avec lui. Donc... Allez ! J'en ai rien à foutre. Tu peux reposer les questions, s'il te plaît ? Non, non, non, non, non, non, non. Je repose plus les questions. Même les gens de l'IRC, ils l'ont pas compris, la question. Alors, à l'heure des émissions de G, jouez-vous à deux ou... ou autres ? Bon, alors... Bon...
Alors, quand vous avez fini de me faire chier comme ça, ben, vous me le dites. Tu peux répondre, Gérard ? C'est qui ? Ben, vas-y. Ben, moi, je suis un peu comme l'autre garçon, j'ai aussi qu'un chat, donc, ben, je joue toute seule, mais... Ben, oui. J'ai joué avec lui, je veux bien, hein. Ben, Gérard, tu gueules, mais si on n'a qu'un chat, comment tu veux qu'on fasse ? Ben, attends, pour l'instant, je t'ai pas sonné, toi. Ben, si, tu m'as engueulé tout à l'heure. Non, mais pour l'instant, moi, je t'ai dit que je t'ai pas sonné. Donc, tu laisses parler les gens. Donc, pute de nuit. Ouais.
Pourquoi ? Ben, je t'ai dit, je joue avec mon chat aussi, donc, jouer à deux, c'est plus sympa. Donc, si le garçon veut que j'aille jouer avec lui, il n'y a pas de problème. OK. Pipion ? Ben, moi, je regarde comme ça. Je regarde la télé, je joue pas, ça m'intéresse pas. J'avais les fesses. Voilà. OK. Euh... Je pue la crotte ? Ouais, ouais, je tue la crotte, bonsoir. Moi, je joue avec mon chat aussi. D'accord. Euh... Tony ?
Il est au standard avec Olivier, Tony. Ouais, ouais, je suis là, je suis là. Donc, moi, GG, moi, je joue en famille. Question pour un champion, mais comme c'est... J'ai une famille d'immigrés, c'est... Enfin, ils arrivent pas à répondre aux questions, donc c'est moi qui gagne tout le temps. Bon, Tony, tu vas te calmer. Non, mais c'est vrai, écoute, c'était... Tu vas te calmer parce que tu passes sous le test pendant les débats. Écoute, ben, je te kiffe, c'est pour tes 100% FN. Ben, moi, je te kiffe, je t'emmerde, OK ? Mais Gérard, il a rien dit, là. Ben, t'es pas insulté, là. Et pour le même prix, je t'insulte, je te le dis direct.
De dos, quoi, Gérard. Comprends-le. Bon, allez, Gérard, on enchaîne. Allez, allez. Alors, troisième question. Et je répondrai après aux questions. On y abrège. Attends, si t'es pas content, toi, tu dégages, OK ? Allô ? Allô ? Allô ? Allô ? Allô ? Allô ? Allô ? Ben, Gérard, allez ! Non, mais attends ! Celui qui s'amuse à dire que j'insulte ton cul, je l'emmerde ! Allez, Gérard. Pas d'insulte. Parce que là, ça va pas commencer comme ça.
C'est pas forcément à toi qu'il parle. Vas-y, enchaîne, enchaîne. Trouvez... Qu'est-ce que t'as, Tony ? Je t'ai dit de dégager. Mais il sait pas, Tony. Allez, Gérard ! Je sens la crotte, c'est bon. Allez, enchaîne. Allez, allez. Eh, putain, vous savez pas comment ça me casse les couilles au premier ! Gérard, on dit rien, alors fais ton débat. Alors, trouvez-vous qu'il y a trop de pubs entre deux ? Entre deux quoi ? Entre deux quoi ? Entre deux cul. De toute manière, vous allez réfléchir, on va s'écouter. Les six sont... Attends, attends, repose la question. Calmement.
Alors, trouvez-vous qu'il y a trop de pubs entre deux ? Et on va s'écouter. Voilà, attends, où est-ce que les gens peuvent nous appeler ? Aux heures 875 000, c'est Olivier qui vous attend. Et sur l'IRC, il y a toujours Rigaud. Ouais ! Donc, vous pouvez toujours essayer de nous appeler sur l'IRC. Donc, www.fr, Fun Radio. Voilà, tout à fait. Et on a dépassé les 2500, on est à 2782. Ouais, c'est bien. Ça monte bien, quoi. Donc, Gérard, j'aimerais bien que ton débat se passe bien pour ces gens-là qu'on essaye encore de battre.
Moi aussi, je voudrais bien que ça se passe bien. Donc, on va s'écouter les soupçons de ma grosse. Elles sont les meilleures avec des portes gertelles. Et on se retrouve tout de suite après. Les débats. Pas de radio et pas d'insultes. De Gérard. Et voilà, donc, on se retrouve. Il est 0h45. Donc, c'est toujours Olivier qui est au standard, qui vous attend aux heures 8.
0800. 0800 08 5000 et 0800 3. 0800 70 5000. 0800 70 5000 et 0800 3 08 5000. Et toujours Rigaud qui est sur l'Internet. Donc, vous pouvez toujours nous laisser des petits messages sur l'Internet. www.fr. Tout à fait. Oui, Rigaud. Oui, tout à fait. Non, mais je te laisse finir. T'allais dire quoi ? On va saluer quand même les Belges parce qu'on n'a pas beaucoup de Belges. Si, si. Contrairement à ce que tu crois, il y en a beaucoup sur l'IRC, justement, vu qu'il y a des gens de partout à travers le monde.
Et voilà, les Belges, ils sont en train de s'exciter parce que je parle d'eux. Et il y a même des gens de très, très loin. Et malheureusement, il y a des gens qui ne captent pas TF1. Ils écoutent quand même le débat via Internet. Donc, on va réécouter. On récupère. Je pue la crotte. Pardon, c'est moi. Merci, Manu. Donc, je pue la crotte. Donc, j'espère que vous avez compris ce qu'Olivier vous a dit. Donc,
Pipion. Oui, bonsoir. 18 ans. Pute de nuit. Bonsoir, Gérard. Donc, Tony. Bonsoir. Françoise. Bonsoir, Gérard. Et j'en ai rien à foutre. Bonsoir. Alors, donc, maintenant, je vais quand même répondre aux deux questions. Non, mais vous commencez pas. D'accord ? Parce qu'Olivier vous a calmé. Si vous continuez, de toute manière, on va changer les noms. Non, mais de toute manière,
on va reprendre d'autres personnes à la place. Parce qu'il y a quand même 24 lignes qui sonnent. Donc, je voudrais bien que vous répondiez, qu'on fasse des débats corrects. Je voudrais bien qu'on arrive à faire au moins les deux débats potables. Pas comme toutes les semaines que ça foire. D'accord. Donc, alors, la première question. Quel est votre jeu télévisé préféré ? Donc, j'ai pas répondu. Maintenant, je vais vous répondre. Donc,
comme Françoise a l'écoute et puis tout le monde, je pense, regarde TF1. Donc, il y a le Big Bill. Il y a le Juste Prix. Il y a le Millionnaire. Il y a Drôle de Jeux. Et il y a plusieurs jeux qu'on peut regarder. Bon, bien sûr, ceux qui adorent le Big Bill. Donc, c'est sûr qu'ils regardent tous TF1. Bon, sur la deuxième question. Lors des émissions
de jeux, jouez-vous à deux ou autres ? Bon, là-dessus, je pense que là, c'est un peu dur de répondre. Parce qu'en fin de compte, on peut regarder le Big Bill ou autre. Même le Juste Prix. Bon, c'est sûr que c'est pas évident à trouver sur des chansons. Parce que là, ce soir, j'ai écouté. Les chansons, elles étaient faciles. D'habitude, c'est un un
un Gigi qui le fait. Et donc, c'est pas évident à trouver les chansons. Donc, la troisième question. Trouvez-vous qu'il y a trop de pubs entre deux ? Alors, que je m'explique bien, les pubs, dès que le début de l'émission commence, au bout d'une demi-heure,
à peu près, vous avez une pub. Est-ce que vous trouvez ça normal ou pas ? Donc, on m'a demandé à... À la française. J'en ai rien à foutre. Non, je trouve pas que c'est normal du tout. Ils mettent beaucoup trop de pubs. Ouais, mais tu peux te l'expliquer ? Bah... Disons qu'ils mettent une à deux pubs pendant une émission qui est une demi-heure. Ça fait beaucoup trop. Ouais, mais... Bon, d'accord. Non, ok. T'inquiète pas. De toute manière, je vais avoir une réponse aussi là-dessus. Rigo ? Non, Gérard, j'ai un sondage.
Vite fait, sur Internet. Alors, sondage sur Internet. 32% des internautes se cuisent des choux de Bruxelles en regardant le Big Bill. 23% des auditeurs voudraient savoir ce qu'ils peuvent gagner en répondant au sondage. 20% des auditeurs ne trouvent plus leur télécommande. 15% des auditeurs ne savent pas suivre les jeux TV car ils n'ont pas Arte. Et 7% des auditeurs préfèrent regarder Santa Belgica. Ok. Bah, de toute manière, sur Arte, il n'y a pas beaucoup de pubs. Il n'y a pas beaucoup de jeux sur Arte.
Tu regardes souvent, Arte ? Non. Non ? Bah, comment tu peux savoir, alors ? Non, parce que je regarde plus la première, comme Françoise. Donc, bah, Françoise ? Bah, moi, tout ce que je peux te répondre, moi, je trouve un peu dommage qu'ils mettent trop de pubs, mais d'un sens, comme tu regardes la gaffe, ça permet aux candidats qui sont au téléphone en direct de chercher dans leur dictionnaire.
Non, non, attends. Tony, Tony, Tony, Tony. Non, non, non, non, c'est pas truqué. Parce que moi, je vais te dire une chose, que ce soir, la question a été, qu'est-ce que c'est un palindrome ? C'est une... C'est un mot qu'on peut prononcer d'un sens à un autre. Et tu le savais, ça ? T'as un exemple ? C'est-à-dire, ouais, un exemple, ouais, parce que moi, je ne capte pas. Palindrome, par exemple, tu prends en cassette. Tu fais...
Tu prends à l'envers. Ça fait... 7K. 7K, mais c'est du... C'est du verlan, ça. Wesh, wesh. Bah, ouais. Ouais, wesh, wesh. Big up. Bah, ouais. Tu connais quoi, en verlan ? Comment ? Non, j'ai rien dit. Non, tu connais quoi, en verlan, toi, Gérard ? Non, non, mais moi, en verlan, je connais rien du tout. Comment on dit, Gérard ? En verlan, comment tu dirais ? Je sais pas, moi. Bonjour à tous, en verlan. Coton-tige. Olivier ? Non, pardon.
Gérard, en verlan, c'est feu beau, feu beau. Bon, on va demander à Tony, maintenant. Ouais, je trouve qu'il y a trop de pubs à la télé, c'est vrai, mais c'est surtout sur TF1. C'est clair. Ouais, parce que France 2, ils n'en ont pas trop, de pubs, en fait. De toute manière, ils n'en mettent quasiment pas du tout. Ouais, c'est vrai. France 2, tu rigoles ? Non, non, non, non, non, non. Non, attendez, attendez, attendez, attendez. Attends, Tony. Tony, Tony, Tony, Tony. Oui, ouais. Tony, laisse parler... Laisse la finir. C'est qui qui...
vient de dire ? C'est Pute de Nuit. Ouais, ben, maintenant, ça va être à ton tour. Après, je vais vous répondre. Je te disais qu'il y avait autant de pubs, en fait, sur la 2, sauf que eux, ils ne coupent pas les émissions, donc il y en a encore plus entre les émissions. Ah, d'accord. OK. Gérard, je sens l'accroche, tu peux répondre. Non, non, attends, t'as déjà... Non, j'ai pas répondu. Non, non, mais attends, on va demander à Pipion. Tu peux répondre à ta question, quand même ? Mais qui c'est qui a coupé, là ? Qui c'est qui a coupé ? Non, non, c'était Pierre Fulain, mais j'ai rappelé. Bon, c'est Pipion, je peux répondre ?
Attends... Eh, Olivier ! Je sens l'accroche, bonsoir. Quoi ? Non, mais c'était pour moi, je veux dire, il m'a appelé pour moi, pour demain. Non, non, mais Olivier, ça va pas aller, hein. Quand quelqu'un coupe, tu me prends d'autres personnes, hein. Ah, d'accord. Ben, je prends des appels. Ouais, bon, moi, je trouve qu'il y a beaucoup trop de pubs. Il faut pas trop se plaindre, parce qu'en Amérique, il y en a encore beaucoup plus. Donc, voilà. Bon, d'accord. Toi, je crois que t'es carrément à côté de la plaque. Ah, ouais, comme ça.
Je sens la crotte. C'est pas je sens la crotte, c'est je pue la crotte qu'on m'a marqué. Donc moi je trouve ça normal qu'il y ait de la pub sur TF1 vu que c'est TF1. TF1 c'est 100% pub, c'est pas 100% tube comme fan, c'est 100% pub. Donc c'est normal. Mais sur France 2, je confirme, il y en a bien. Il y en a trop. Avant de regarder l'épisode de Friends, il y a un quart d'heure. Non, non, non, attendez, attendez. Attendez, attendez. C'est qui, c'est qui là qui veut
répondre avant moi ? Elle est chaude elle. Non mais tu réponds comme il faut s'il te plaît. Oui, non mais je te réponds. C'est vrai, avant Friends, il y a un quart d'heure de pub. Non, moi je peux te confirmer. Moi je te confirme que de moins 25 jusqu'à 50, il y a de la pub. Bon, moi je peux confirmer. Et ça je reviens. Oh ça y est, derrière. Le seul pub que j'apprécie c'est quand on voit Jennifer Niston. Ouais, à la fin. Bon, vous me laissez
parler ou pas ? Moi Ross, je trouve qu'il a un peu une tête de chien battue quand même. Tony ! Ouais, ouais. Tu te calmes. D'accord. Donc je vais répondre à Françoise. Oui. Donc de toute manière, tu m'as appelé. Ouais. Donc on a regardé vaguement et t'as vu comme moi, c'est qu'ils ont passé des pubs. Donc moi je trouve une chose. Et ça,
je pense que personne ne me le contredira. C'est que sur TF1, c'est malheureux à dire, c'est que sur TF1... Oh, vous arrêtez derrière de remplir comme des putes ! C'était un bruit de mobilette. Ouais, mais les bruits de mobilette, ils vont se classer. Je vais les calmer. Je vais calmer les mobilettes. Hein ? Continuez à ce que vous disiez. Ça commence à bien faire. Allez, Gérard, vas-y. Continue sur TF1. Donc, tout à l'heure, la question c'était qu'est-ce qu'est un palindrome ? Ouais. Donc,
ils ont passé la pub. Il y a eu 4 minutes de pub. Pendant ces 4 minutes-là, t'as rien pu comprendre. Parce que t'as eu la pub et après tu l'as eue. Et ça, c'est un truc que je trouve dégueulasse. 4 minutes ? Il y a eu 4 minutes. Gérard, s'il y a de la pub dans une émission, ça veut dire que ça marche ? Donc c'est plutôt bien, quoi. Non, mais même, moi je trouve pas... Non, non. Moi je trouve que lors des jeux... Moi je suis d'accord avec Gérard. Moi, lors des jeux, tu mets pas
de pub. C'est fou. Mais non, mais attends, dans ces cas-là, t'es lancé dans un jeu... Bon, c'est bon ! Laissez Gérard parler. Lors d'un jeu, de toute manière, on peut pas se concentrer pour trouver quelque chose. Par exemple, sur la 2, il n'y a pas de pub. Il n'y a aucune pub. D'ailleurs, il y a plus de gens qui gagnent sur la 2 que sur la 1. Ouais. Parce qu'il n'y a pas de pub. Parce que, que ce soit le millionnaire ou juste le prix, de toute manière, il y a des pubs dans
partout. Mais faut pas non plus se concentrer pour jouer au juste prix. Faut arrêter d'halluciner, quoi. Ouais, mais attends, au juste prix, de toute manière, t'es sélectionné, faut bien te concentrer pour trouver le cadeau, pour trouver le rideau. Gérard, sur IRC, il y a Alf qui dit qu'en fait, la pub, ça sert à réfléchir pour trouver les bonnes réponses. Non, non, non, non, non. Et Gérard, est-ce que tu regardes le jeu, là, après Friends, là, c'est Kiki, c'est avec Marie-Ange Nardino. Euh, qui est qui ? Non. Kiki, c'est avec Marie-Ange Nardino.
Non, je le regarde pas. Non, non, mais même... Bon, Tony ? C'est pas lui, c'est pas lui. C'est qui ? C'est le but du jeu, hein, qui est qui, faut retrouver qui c'est, quoi. Ouais, mais même, de toute manière, moi, je trouve que c'est un peu con, parce que... Non, mais même, de toute manière, tu peux pas regarder dans un dico... Non, mais c'est clair, moi, j'ai du mal à me concentrer quand je vois le millionnaire, il met une pub, j'arrive pas à tourner la roue de mon VTT, c'est clair. Bon, alors toi, tu vas tourner,
la roue de ton VTT avec Olivier au standard. Salut à toi, salut à toi, tu vas tourner la roue de ton VTT. Je dégage, je dégage. Ouais, ouais, ouais. Pour calmer le débat, il y a Oxip qui te demande comment on fait pour gagner Marie-Ange Nardi, comment on fait pour la gagner. Euh... Comment ? C'est Marie-Ange Nardi Namoc. Euh, Tony, tu te calmes. D'accord ? Parce que toi aussi, tu vas faire comme les autres. Non, mais c'est son vrai nom, mais c'est un nom d'artiste, elle l'a coupé en deux. Elle est gentille, cette Marie-Ange.
On se calme. Ouais, mais elle a un petit peu grossi, hein. Je sais pas, depuis qu'elle s'est fait griffer par le tigre, là. C'était un lion. C'est bizarre, hein. On se calme. Ah, c'était un lion, excuse-moi. Alors, avez-vous déjà participé à un jeu télé ? Si oui, lequel ? On va demander ça à Je Pus La Crotte. C'est parce qu'elle avait ses règles. Je Pus La Crotte ! Non, non, tu l'as viré. Je viens de le virer, là. C'est celui que t'as viré tout à l'heure. Ah bon, euh... Celui ? Je suis en train d'appeler quelqu'un d'autre. Ok. Euh, mais, euh... Olivier ? Pas... Pas sur le même nom ? Hein ? Non, d'accord, non, non.
Tu me prends sur les... Non, mais j'ai appelé quelqu'un d'autre, là. Voilà. Euh, donc, on va demander à Pipion. Non, j'ai assisté à aucune émission télé. Non, non, non, non, Pildar ! Non, non, Pildar ! Attends, Pipion, avant que je te parle... Non, non, c'est pas la peine d'essayer de donner des numéros à Olivier. Olivier, il prend le standard et c'est tout. Ouais, sur les marketing. Non, c'est moi qui l'ai pris, Gérard. C'est une vraie auditrice qui a participé au Big Bill. Voilà, elle vient de m'appeler.
Elle vient de me rappeler. Elle voudrait participer au débat. Elle a 40 ans, elle est amoureuse de toi, elle est folle de toi. Non, non, non, non, mais... Mais si ! Il faut qu'on la rappelle, Gérard. Elle a participé à un jeu télé, c'est la question. Vas-y, vas-y, vas-y. Vas-y, tu l'appelles, donc. On va demander à Pipion. Gérard, pour revenir au débat, il y a Le Chiant sur IRC qui te demande si les jeux télé sont tous en direct. Euh, oui. Oui. Mais en direct d'où ? Non, non, ils sont en direct dans les studios comme là où on est.
C'est bien fait en direct, c'est pas truqué. Non, non, je crois pour Gérard. Est-ce que tu crois que c'est le même public qui fait toutes les émissions toute la journée ? Le public change. Mais de toute manière, je peux le certifier. Et ça, Françoise pourra le confirmer parce que Françoise, elle va... Elle me l'a dit tout à l'heure au téléphone quand elle m'a appelé chez moi. Elle va participer dans... Oh ! On a un scoop. On se tait.
Le scoop, c'est que Françoise va être dans le public le 18 janvier. De quel jeu ? Lors du Big Bill ! Ouais ! Et Françoise, fais-nous un coucou. Si la caméra, elle est sur moi, oui, bien sûr. Tu fais une bonne rôle, Max par système. Voilà, tu fais un peu de pub pour Fun Radio. Ne vous inquiétez pas pour ça. Donc, on va demander à Pipion. Attends, Gérard.
Autretemps, Gérard. C'est là-bas, ça se passe là-bas. Autretemps, on accueille On Se Calme avant d'accueillir Béatrice aussi. Mais d'abord, On Se Calme. C'est un auditeur. Donc, je t'écoute. On Se Calme. Oui. Bonsoir à toi. Bonsoir. Allô ? Oui, je t'écoute. Ouais. Je viens d'arriver. Tu peux me poser la question ? Donc, avez-vous déjà participé à un jeu télé ? Si oui, lequel ? Donc, je demande à Pipion. Non, non, j'ai off. Je n'ai pas assisté à vos émissions.
Donc, toi, pour toi, tu n'as jamais été sur un plateau télé ? Non, mais ça ne m'intéresse pas trop. Mais pourquoi ? Parce que je n'ai pas envie qu'on me voit à la télé. Tu es moche, toi. Non, non, attends. Tony, s'il te plaît. On Se Calme, là, parce que c'est moi. C'est moi qui pose les questions, d'accord ? Donc, je voudrais avoir plus de renseignements. Non, je n'ai pas envie de passer à la télé.
Donc, toi, pour toi, si un jour, on t'appelle chez toi, tu ne voudras jamais participer à un jeu télé ? Non, non, je ne veux pas. Parce que tu ne veux pas qu'on voie avec ta tête ? Non, ce n'est pas ça. Mais je n'ai pas envie. Ça ne m'intéresse pas. Ouais, mais précise. Je ne sais pas comment dire. Précise ton nom. Non, non. Tony, s'il te plaît. Non, ce n'est pas lui. Non, mais tu m'en veux, là, ou quoi ? Ou j'en ai rien à foutre, là. Tu te calmes.
Hein ? Bon, ok. Je n'ai pas du genre à crier sur un plateau. Voilà, c'est tout. Mais non, de toute manière, tu n'as pas à crier. Tu as simplement à applaudir. Et toi, tu as envie de le faire, Gérard ? Personnellement, non. Tu n'as pas envie d'aller gagner des trucs à la télé ? Non, non, non, non. Tu n'as pas envie d'aller gagner une bagnole ? Une bagnole ou un petit million, Gérard ? Tu ne dirais pas non, quand même ? Une bagnole, à la rigueur, je ne dirais pas non. Bon, on va demander à plus de deux nuits.
C'est 7 ans. C'est à Paris. Je ne sais plus du tout comment ça s'appelle, mais je sais qu'il y avait Rika Zaraï. Parce que c'était à fond dans le studio. Elle est moche, elle. Non, mais attends. À 7 ans, tu peux participer à un jeu télé ? Oui, c'est vrai. C'est vrai que, là, ce soir, j'ai regardé, il y avait des enfants qui avaient 5, 6 ans à peu près. Je confirme, il y avait un bébé de 2 semaines aussi. Non, non, non. Il y avait un bébé pas né aussi dans le public, ici. Il y avait même des femmes enceintes.
Non, non, non. Tony ? Moi, j'ai participé à Fort Boyard, mais j'ai failli me noyer, en fait. D'accord. Toi, quand tu répondras correctement aux questions, avant de demander à Françoise, Rigaud, oui ? Oui. Est-ce que... Non, mais parce qu'ils sont en train de se parler entre eux. Ils sont en train de tous... Ils s'en foutent. ...de se raconter leur jeu télé. Pour l'instant, ils ne t'écoutent pas vraiment, mais depuis que j'en parle, ils n'arrêtent pas. Turpentine te demande si tu as déjà joué à Top Santé.
Non. Top Santé, c'est quoi ? Ça n'a jamais été un jeu. Tu peux gagner des rasages gratuits, je crois. Non. Si, je te jure. Tu peux te faire opérer du kiss gratuitement, je crois. Tony, tu te calmes, s'il te plaît. Bon, Tony, tu retournes voir Olivier au standard. C'est le jeu, c'est comme ça. Tu retournes voir Olivier au standard, s'il te plaît, merci. Olivier. Tu gagnes un an de kiss gratuit. Oui, je gère, je gère. Olivier, tu prends Tony, tu lui dis qu'il se calme, sinon il s'en va. Terminé.
Françoise. Oui ? Donc, toi. Moi, ça y est, j'ai déjà répondu. Ça ne va pas, là. Tu fais du bordel, tu vois. Tu ne peux pas aller. Ouais. Tu te calmes. Bonjour. Bonsoir. Ton cul, ton cul. Donc, toi, Françoise, pour l'instant, tu n'as jamais participé, donc tu as participé pour la première poêle. Je n'ai pas participé. Tu vas faire... Je vais être seulement spectateur.
Donc, tu vas y être à partir du 18 janvier. 18 janvier. Lundi 18 janvier. Ok. J'en ai rien à foutre. Moi, j'ai participé à l'école des fans, là, avec le gros porc. Le gros porc, le gros porc, tu restes poli, s'il te plaît. Avec Jacques Vartin, et j'ai gagné un circuit électrique et deux patins de... Deux paires de patins à roulettes. Ouais, c'est ça. Alors, j'en ai rien... J'en ai rien à foutre.
Tu retournes voir Olivier Austandard, c'est Paris pour toi. Je ne peux plus, là. Je ne peux plus. On se calme, je peux répondre. Bien fait. Alors, on se calme maintenant pour toi. Ouais, donc, moi, j'ai participé à un jeu, ça s'appelait Les grosses têtes, avec Philippe Bouvard sur RTL. Et ouais, c'était assez sympa, quoi. J'ai pu avoir un autographe de Castelli et puis le cheveu sur la langue d'Isabelle Mergot. Non, mais attends. Un jeu de télé. Un jeu de télé. Il ne faut pas confondre.
Tu avais fait un abruti. Un abruti, va te faire sauter, toi, connard. Oui. Ok ? Oui. Alors, tu dégages, on se calme. Allez, hop. Mais non, mais non. Terminé pour toi. Tu dégages tout le monde aujourd'hui, Gérard. Ça ne rigole pas, hein. Allez. On tue ton cul. Tiens, on accueille tout de suite. Tu dégages à l'antenne. Non, non, non. Non, non, tu dégages. Je l'ai déjà eu la semaine dernière. J'en vois plus. Hop. Oui, mais il va être sage. Il va être sage. Il va être sage. Il a plein de choses à dire sur le téléphone, Canal+, tout ça.
Non, non, non, non, non, non, non. Mais Gérard, allez, fais pas le con. Non, non, non, non. Allez, fais pas la pute. Oui, bonsoir. Donc, aujourd'hui, les jeux de 21 avec Gérard Dessuren, le plus beauf des plus beaufs. Bon, alors, Gérard. Enfin, alors, donc, on reste avec Pipion. Gérard, sur IRC, il y a Kenji qui te demande si tu as déjà joué par téléphone à Hugo Délire. Non. Non, je ne pense pas que ça existe. Parce qu'il a eu une cassette et il a enregistré et il me dit que c'est ta voix
que Karine Chéril. Alors, donc, vous allez... Gérard, j'aimerais savoir si c'est vrai que Sandy, elle a couru dans Interville et pourquoi est-ce que... Alors, Tony, tu dégages. Alors, Tony, tu dégages. Tony, c'est terminé. Terminé pour Tony. Terminé. C'est terminé pour lui. Ah, non, pas Tony. Non, non, terminé, terminé, terminé, terminé. Alors, Tony, j'en ai rien à... J'en ai rien à foutre et on se calme. Attends, attends, attends.
J'ai pas suivi. J'en ai rien à foutre aussi. Il est parti. Il était méchant. Alors, j'en ai rien à foutre. On se calme. Et Tony, ils s'en vont. Et tu me récupères d'autres personnes sur les 24 lignes qui sonnent. Connard. Connard va te faire enculer, toi, bâtard. Gérard, pas de... Alors, le Big Bill était vraiment un extraterrestre et on se retrouve tout de suite après. Et vous pouvez toujours appeler Olivier au standard.
Gérard, vous pouvez toujours appeler Olivier au standard au 0875 000 et 0803 08 5000. Et toujours sur l'IRC, il y a toujours Rigaud qui vous attend. On est combien ? On a dépassé les 3000. On est à 3280,8. Donc, ça booste, ça booste. Voilà. Donc... Big Big Up. Heureusement que t'es là pour faire du boulot. T'inquiète. T'inquiète. Donc, on va s'écouter Bouffe du couscous avec des petits beurres. S'il te plaît.
Merde. Ah ben, c'est bien, ça. C'est bien, hein. Et on se retrouve tout de suite après. Et voilà, vous venez de vous écouter Bouffe du couscous avec des petits beurres. S'il te plaît. Merde. Donc, c'est ce que Manu m'a donné comme disque. C'est bien, hein. À mon avis, c'est un truc techno. C'est de la techno. C'est techno. C'est techno grave. Grave, grave.
Bon, alors, donc, la question. François, c'était toujours.
Ah oui, je suis là. Ah oui, je t'avais oublié. Non, non, mais tu m'as cité. Tu m'as cité, hein. Ah, OK. OK, OK. Je croyais que je t'avais... J'avais pas... Non, non, tu m'as cité. OK. Donc, alors, la question, c'est que le Big Bill est-il vraiment un extraterrestre ? Eh ben, on va demander à Pipion. Pipion. Pipion. Pipion. Ouais, donc, non, Big Bill n'est pas un extraterrestre, évidemment. Et,
c'est juste un... C'est virtuel, quoi. C'est en 3D. C'est un truc... Une image de synthèse. Ouais, une image de synthèse, ouais. Qui c'est qui répond, là ? C'est Chang. Heureusement qu'il m'a aidé parce que je cherchais le mot, en fait. C'est le terme technique. Ouais. Alors, on va demander à... à Pute de Nuit. Ouais. Ben, Big Bill, c'est un vrai extraterrestre. D'ailleurs, t'as sa famille aussi. Donc, c'est la preuve. Ouais, non, mais dans la famille,
bon, c'est sûr, ça, c'est pour faire voir aux candidats ce qu'ils veulent comme cadeau. T'as le frère, t'as... T'as la soeur. T'as la soeur et t'as la mère. Ouais, mais c'est vrai. C'est sa vraie famille. Non, mais ça, on le sait pas. Ben, si, ils le disent. Non, non, non, non, non, non. Ils ont la même tête. Non, non, non, non, non, mais... Non, non, non. Moi, je peux te confirmer qu'à mon avis, je pense pas. Donc, qui c'est qui a un...
Il y a un double son, là. Il y a... Il y a un double son. On va régler ça. Donc, Françoise ? Oui ? Moi, je te dis non. Pour la bonne raison, c'est qu'on l'a déjà vu une fois, en vrai, sur Drôle de Jeu. Ouais, ouais. Ouais, je pense que... Ouais, j'ai... Non ! Manu, s'il te plaît ! Je te jure que je touche à rien ! Mais si ! Mais non ! Manu ! Tu faisais du bon travail ! Mais attends ! Micro ! Mais attends, tu joues à quoi, là ? Ah non, regarde, tu vas voir.
Françoise a bien de le confirmer. Il y a... Elle vient de le confirmer. Bon, reprends, Gérard. Reprends le débat. Donc, Françoise. Oui ? Ah ouais, ouais, ouais. Toi, tu m'as dit qu'on l'avait vu à Drôle de Jeu. Bon, toi, tu dégages. Avant que je t'éclate. Avec ta caméra, là. Toi, tu as dégagé ! Avec ta caméra. C'est dangereux, Gérard. Euh, Shang. Oui, donc...
C'est une image de synthèse. C'est obligé. Et... Je ne l'ai jamais vue en 20 ans. Non, mais tu peux préciser si ça ne te dérange pas ? Shang. Tu peux préciser ? Oui, c'est une image de synthèse. C'est-à-dire que c'est fait par ordinateur. On te demande si c'est... La question est... Le Big Bill est-il vraiment un extraterrestre ? Est-ce que tu peux préciser ta pensée ? C'est pas un extraterrestre. C'est une image de synthèse. C'est fait par ordinateur. Donc, un extraterrestre, c'est... Oh là là !
Mais attends, mais toi, t'as... Mais c'est pas vrai ! C'est toi qui comprends pas. Là, tu comprends rien du tout, Shang. Mais si il a tout compris, c'est toi qui comprends pas. Non, mais attends ! Moi, je demande si le Big Bill est vraiment un extraterrestre. Mais il l'a jamais vu ! Mais attends, il me dit que c'est une image de synthèse. Non, c'est pas une... Non, non, non, non, non, non ! Il travaille sur Nintendo et sur Sony. Je peux te dire que c'est une image de synthèse. Je suis programmeur. Ça vient d'où, ça ? Le Big Bill est une image de synthèse, c'est tout. Mais qu'est-ce que tu fais ? Attendez, il y a Gérard qui se lève. J'ai besoin de toi, Gérard. Non, non, mais ça, tu...
Mais j'ai quelque chose d'autre, là ! Non, non, mais non, non ! J'en ai besoin ! Ouais, non, mais... C'est pas tout ! Ouais, non, mais t'amuses pas à faire ça. Bon, Gérard, reprends le débat, là, parce que là, tu parles. Bon, alors, qui c'est qu'il nous reste à répondre ? Il y a moi. Il y a Fleur d'Anus aussi, t'as pas accueilli. Fleur d'Anus. Qu'on accueille. Bonsoir. Salut. Salut, Fleur d'Anus. Ça sent bon, hein ? Ça sent bon, le sperme, là. Quelle bonne odeur de merde. Vous fermez vos gueules ou quoi, là ? J'aime. Eh, putain, mais... Allô ?
Gérard, je peux répondre ? Pour calmer le débat. Dégage ! Avec ta caméra. Dégage, Gérard ! Arrête, arrête ! Gérard, assieds-toi. Gérard, donc, il y a Paradox sur IRC qui te demande si tu serais au courant que Bill serait le cousin de E.T. Non. Non, mais ça, tu vois, j'ai vu des truculations, des sondages, j'en parle même pas parce que c'est des conneries. C'est des conneries, ouais. Tony, c'est bien.
Gérard, c'est Fleur d'Anus, je peux répondre ? Ouais, bah, réponds. Donc, moi, je pense que le Big Bill n'est pas un extraterrestre. C'est comme disait Chang, c'est un personnage inventé qui a été dessiné sur un ordinateur et qui a été envoyé sur l'écran. Non, mais... Non, mais je pense... Gérard, tu veux dire que c'est un mec qui est dans un gros truc bleu ? Voilà, un mec qui est dans une boîte. Tu veux dire que c'est un costume qu'il porte ? Voilà, c'est ça, en fait. Ah, d'accord.
Voilà, avec des ampoules pour... Attends, Casimir, qui c'est qui parle de Casimir, là ? C'est moi, c'est Françoise à l'appareil. Ah, c'est Françoise qui parle de Casimir. C'est le cousin de Casimir. Toi, je te dis que tu... Dégage tes caméras, Fildar ! Fildar, tu as dégagé mes bits ! Allez, hop, pile d'art ! Alors, donc... Moi, est-ce que je peux parler, là ? Mais c'est qui ? Tenez d'art. Ouais, le Big Bill, c'est pas un extraterrestre. C'est le nom de l'émission, c'est Bill qui est l'extraterrestre. Comment ? C'est Bill qui est l'extraterrestre.
Le Big Bill, c'est le nom de l'émission. Ah, voilà quelqu'un qui répond à la question. Hé, attends, le Big Bill, c'est quoi pour toi ? Le Big Bill, c'est le nom de l'émission. Big Bill. Big Bill. Big Bill. Bon, enfin, bref. Apparemment, je pense que... Il a pas compris la question, il répond à côté. Non, mais... Non, c'est le seul qui répond à côté. Ah, non, Bill, c'est un extraterrestre, d'accord. Non, mais t'es le seul qui répond à côté. Ah, vas-y, elle a pas... Tony, d'accord ? Il est pas là, Tony. Non, presque pas.
À partir de quel âge peut-on jouer ? Attends, moi, j'ai un petit sondage, moi, avant la question. On a un petit sondage, quand même. À la question pour ou contre les jeux télé, il y a 52% des gens qui sont pour. Non, non, non, mais attends. 36% des gens qui sont contre. Péter la nuit. Hop. Alors, moi, si ça commence comme ça, c'est simple. Le premier débat. Va ça. Oh, non. Il jouillait pas. Va te laver les fesses, tu pues. Arrête, tu vas faire bander. Bah, Gérard, t'envoies le bois, là, un peu.
Ça y est, vous avez fini vos conneries ? Oh, les blancs. Ouais, bah, les blancs, celui qui s'amuse à mettre des conneries. Maintenant, ça commence à me faire chier. Je sens que tout à l'heure, on va garder que Françoise et on va reprendre d'autres personnes au standard. Ça va aller vite fait. Pipillon et Pute de Nuit aussi, elles ont été sages. Ah, ouais. Moi aussi. À partir de quel âge peut-on participer à un jeu télé ? On va demander à Fleur Danus. Moi, je pense qu'on peut participer
dès l'âge qu'on peut participer. C'est-à-dire à partir de 10 ans. Voilà. Pute de Nuit. Bah, moi, je pense qu'il faut être majeur. Non, non. Parce que quand même, tu gagnes des jeux. Gérard, Gérard, arrête. Qu'est-ce que tu fais ? Gérard, assieds-toi. Arrête. Il veut taper Fildar. Laisse Fildar. Avec la cam. Non. Pute de Nuit. Gérard, t'occupes pas de la caméra. Continue. Moi, je te disais, je pense qu'il faut avoir 18 ans parce que j'imagine que tu joues au beat-beat. Bien le standard, Olive. Tu sais pas d'où ça vient. Je comprends.
Non, mais là... Là, je pense que... Olivier, ça commence à bien faire. Je sens que dans deux minutes, j'arrête. Ouais, bah, si t'es pas content, tu dégages. Et Manu, tu me coupes le double son. Ouais. C'est Big Bill qui nous parlait. C'est un auditeur qui fait ça. Je sais pas. Max, il a dit que ça venait peut-être du standard. Bah oui, ça vient du standard. C'est ça. J'ai l'impression que vous avez l'intention de me faire chier sur les débats jusqu'à la fin de l'année. Pas du tout.
Parce que pas. Non, c'est toi qui te fais chier tout seul. Attends. Comment ? Bon, allez, allez, allez. Hop. Alors... Plus de deux nuits. Oui. Ça fait cinq minutes que je te réponds, mais tu m'écoutes pas, Gérard. Je te disais qu'à mon avis, il faut être majeur. Parce que si tu participes au Big Bill et t'as 10 ans et que tu gagnes une voiture, t'as pas l'air con. Au moins, c'est ton permis. Non, mais attends. T'as pas ton permis, tu peux pas participer. Ça dépend, il faut gagner des voitures à pédales aussi. Tony, tu fermes ta gueule ! C'est pas Tony.
Barnette ! Alors, celui qui a... Putain, Olivier ! Olivier, tu me calmes ça ! Tu calmes ! Oui, je calme, je calme. Magne ! Oh ! On se calme ! C'est bon, c'est bon. On se calme. Alors, Pipion ? Je suis d'accord avec Tony. Il faut être quand même mineur ou majeur. Ah, le blanc.
Non, non, mais attendez, parce que là, je suis en train de... Non, parce que Gérard, Gérard, tu suis pas ton débat, c'est tout, et c'est pour ça qu'il y a des blancs, quoi. Fais attention à ce que les gens disent plutôt que ce qui se passe en studio. Alors, euh... Il me manque de la maturité, en fait. Et on a 2 francs en égo, s'il te plaît. T'as 2 francs ? Prenez-la. T'as 2 francs en égo, s'il te plaît. Non, mais vous jouez à quoi, là ? Ça dit le gras, ça. Oh ! Mais j'ai dit quoi ? Gérard ! Gérard ! Gérard, tu t'appelles... Dégage ! Dégage du studio, toi ! Dégage ! Dégage ! Dégage !
Dégage ! Dégage ! Reprenez-le. Dégage ! Non, mais sors de là, si tu veux qu'il dégage. Dégage ! Va t'asseoir, va t'asseoir. Je vous explique, il est en train... Gérard est en train de courser, fil d'art, dans le studio. Dégage ! Oui, oui, il dégage, il dégage, il s'en va. Vas-y, je te couvre. Il s'en va, il s'en va. Allez ! Voilà. Gérard, pour calmer le débat, il y a Izen sur l'Internet qui te demande si, toi, dans la radio, là, tu te sens pas un peu comme Big Bill dans sa télé. Non.
Pas du tout. Et on n'a qu'avec Pot de Couille. Non, euh... Bah si, on n'a qu'avec Pot de Couille, à la place de Canada qui est raccroché. Bonjour, Gérard. Pot de Couille. Bonjour, Gérard. J'ai pas entendu la question, hein. Salut, Pot de Couille. À partir de quel âge peut-on jouer aux jeux de télé ? À partir de quel âge ? Bah, pour le Big Bill, le truc pas fut-fut, là, je sais pas, 8 ans ? Bill. Big Bill, ouais. Non, mais... Non, mais je t'écoute ! Bah oui, j'ai dit 8 ans. 8 ans, d'accord.
Shang ? Bah, je crois qu'il faut avoir la majorité pour participer à un jeu de télé. Majorité absolue ? Ouais. Non, mais tu... Vous pouvez préciser ou pas, là ? Bah oui, il faut avoir la majorité, c'est-à-dire 18 ans... 18 ans, c'est-à-dire un peu plus de 7, 17 ans. Bon, d'accord. Et toi, quand t'auras fini de te foutre de ma gueule, tu me préviendras. Ok. Françoise ? Ouais, bah moi, je réponds à partir de la majorité. Attends, Françoise. 5 minutes. Olivier ? Qu'est-ce qu'il y a ?
Le Shang, sinon, parce que ça va pas aller long. Ça va pas durer. Maintenant, on répond au début. Non, non, mais ça va pas durer longtemps, hein. Je sens que... Non, mais je le calme, je le calme. Réponds à Françoise. Il y aura pas... Je vais pas faire 11 questions. Mais toi, à la question, tu penses quoi, d'ailleurs ? Enfin, quel âge a-t-on vu ? Donc, toi, Françoise ? À partir de la majorité. Ouais, mais je pense, là, ce soir, t'as regardé comme moi ? Bah oui. Bon, donc, t'as vu qu'il y avait des personnes avec leurs enfants,
donc... Oui, mais ils ont pas le droit de participer, hein. Bah oui, mais ça, je suis d'accord avec toi. Mais je pense que t'as plusieurs personnes qui ont... Il y a des enfants qui se mettent de la peinture sous les pieds. Ils sauraient pas répondre aux questions, aussi. Comment ? Quand on est trop petit, on peut pas répondre aux questions. Ouais, mais attends, faut quand même dire, c'est que y a le mari, y a les enfants qui sont là pour essayer de conseiller. Gérard, depuis tout à l'heure, tu demandes est-ce qu'il faut avoir la majorité à partir de quel âge, mais est-ce qu'il y a...
Un âge limite ? Est-ce qu'on peut être trop vieux pour participer à un jeu ? Non ! Voilà, exactement, parce qu'il y a Yanki sur l'IRC, il te demande jusqu'à quel âge on peut jouer au Monopoly. Par exemple. Non, mais ça, le Monopoly, t'as pas d'âge, c'est comme le Scrabble, t'as pas d'âge pour jouer là-dessus. Là, c'est autorisé à toute personne. C'est pas possible qu'il y ait une dame de 94 ans qui joue au Big Bill ? Bah si, si,
j'espère, parce que... T'as déjà vu, toi, qui regardes tous les soirs ? Non, mais tu peux demander à Françoise, on a vu des personnes qui étaient assez vieilles, donc, qui ont joué. Bon, c'est sûr... Elles ont pas gagné, alors ? Bah si, tu peux gagner. Ouais, mais c'est pas toujours évident, parce que c'est pas facile. T'as déjà vu à Fort Boyard une mémé faire un soir à l'élastique, toi ? Non, non, attends, là, Fort Boyard... Mais faut pas comparer Fort Boyard avec Big Bill. Non, parce que là...
Yann Or, c'est pareil, les trucs comme ça. Non, mais... Françoise, sur IRC, on me dit que c'est aussi dangereux. Bah oui, c'est dangereux. Imagine, ils font une crise cartel, ils gagnent une bagnole. Non, non, mais attendez, attendez, attendez, attendez, attendez, là, on va éclaircir un peu les jeux. Tiens, mets de la lumière pour éclaircir au lit, s'il te plaît. On va éclaircir un peu le système des jeux. Là, faut dire une chose, qu'aujourd'hui, dans la famille Yann Or, il y avait une qui s'est... Dans les...
Les imitatrices. Je pense que, Françoise, tu l'as regardée comme moi. Dans quoi ? Dans la famille Yann Or. Non, je regarde pas la famille Yann Or. Bon, donc, y'en avait une qui se faisait passer pour Madonna. Ouais, bah ça, j'ai vu le passage. Y'a Colombo et tout ça, mais disons que je ne regarde pas, c'est... Je ne regarde plus la famille Yann Or pour la bonne raison, c'est que depuis qu'il y a Pascal, ça n'est plus pareil. Ouais, ouais, mais... Non, non, non, non, non, non, non. C'est plus qu'à brûler.
Attendez, attendez ! Bouge ton cul, toi, va te faire enculer, toi, connard ! C'est pas Patrick Roy ? Non, bah non, il faut pas parler de Patrick Roy. Attendez, attendez ! On accueille Benjamin. Allô ? Benjamin, bonsoir. Bonsoir, bonsoir. Donc, une question IRC avant que Benjamin réponde. Oui, on me demandait si on peut jouer à la famille Yann Or tout seul. Euh, non, pour être 5... Ah, mais si on n'a pas de famille, et qu'on peut être la famille... Non, mais tu peux très bien trouver des gens que tu connais,
et tu les inscris avec toi, c'est tout. Mais s'ils ne sont pas de ta famille... Mais même... C'est plus une famille en or. Comment tu fais ? C'est des copains en plomb. Non, non, non, même si c'est pas de ta famille, tu peux... Mais non, c'est pas possible. C'est pas possible s'ils ne sont pas de ta famille, si c'est une famille en or. J'ai coupé les auditeurs pour pas qu'ils te... Gérard, mais comment on fait ? Et quand on n'a pas d'amis... Et quand on n'a pas d'amis... Attendez, attendez, attendez ! Pas les trois d'un seul coup, donc Rigaud. Rigaud en priorité. Quand t'as pas de famille et pas d'amis, et que t'es tout seul, comment tu fais pour gérer une famille en or ? C'est discriminatoire.
De toute manière, tu peux prendre quelqu'un que tu connais bien. C'est plus une famille. Donc le titre du jeu, il a plus rien à voir. Non, je m'inscris en faux, je suis désolé, c'est pas possible. C'est discriminatoire. Toi, tu fais la réa, tu te tais. Ouais, mais c'est pas possible, ça ! Non, c'est pas possible ! C'est pas possible ! On me dit aussi que si on est tout seul, on peut peut-être amener des animaux avec soi, non ? Pour faire une famille. Là, dans une famille en or, il y avait le faux Colombo qui est venu avec son chien.
C'était quoi ? Un chien, c'est... Un boule-boule ? Non, c'était pas un pic-boule. Donc, Benjamin ! Allô ? Ouais, excuse-moi, Gérard, je suis en train de regarder le Big Bill, en même temps. Non, mais Benjamin ! Benjamin ! Ouais ? Tu dégages ! Bah attends ! Oh non, non, Gérard ! Je sais pas où il est ! Je sais pas où il est !
Non, non, non, Benjamin, c'est terminé. Ouais, non, donc je disais, tu... Donc, par rapport à la question, moi, j'aime bien les jeux de télé, quand même. Non, mais je te demande, à partir de quel âge peut-on jouer ? Bah, je pense que ça dépend des jeux, hein. Parce qu'il y a des jeux qui sont faits pour les enfants, et des jeux qui sont faits pour les adultes, il y en a qui sont faits pour les vieux, il y en a qui sont faits pour les ados... Il y en a qui sont faits pour les adultes... Comment ? Il y en a qui ont dit un truc pas cool, là. Non, mais... J'ai l'impression que tout à l'heure,
je vais tous vous zapper, et on va rencontrer d'autres personnes. C'est clair, comme ça, ça vous matra, bande de connards. Oui. Ça, je pense que ça va aller vite fait, tout à l'heure. Ouais. Je le sens. T'as raison, Gérard. Je le sens. Donc, Rigo, oui, une question hier, c'est avant... Maintenant, ça parle de questions pour un champion. Gérard, t'es un mec cool. Merci, Benjamin. On me dit, est-ce que c'est pas discriminatoire, aussi, quoi ? Parce que les questions qu'il pose, il y a plein de gens. Toi, si tu regardes questions pour un champion, tu peux répondre à combien de questions ? Vraiment. Moi, deux.
Manu, pour l'instant, tu... Gérard, aucune visite, juste un bonjour. Sur toutes les questions de Julien Boubert. Non, là, sur questions sur un champion, il faut vraiment avoir les trucs en tête. Donc, c'est discriminatoire. Attendez, s'il vous plaît, derrière, on se calme, je réponds à Rigo. T'es un mec cool, Gérard. Benjamin, tu te tais, s'il te plaît. Il dit que t'es cool. Il dit un truc gentil, et toi, tu te tais. Non, non, mais pour l'instant, je réponds. Je voudrais répondre à Rigo. Mais laissez-le répondre,
merde. Gérard, lui, c'est plus histoire naturelle, ces jeux, quoi. Olivier, pour l'instant, tu es à ton micro. Merci. Donc, alors, la question. Ta question, donc, c'était... Est-ce que t'arrives à répondre à combien de questions de Julien Boubert dans Questions pour un champion ? Sur Julien Le Perse, pour questions sur un champion, fais-moi confiance que c'est pas évident. Déjà, pour que tu puisses savoir toutes les questions, il faudrait que tu regardes sur l'audito, mais t'as pas le temps. Vraiment, t'as...
C'est ça, le jeu. Surtout sur le plateau, quoi. T'as vu quelqu'un avec un dico ? Non, mais attends, mais même... Vas-y, t'as moins de 20 secondes pour répondre. La question pour un poupon, parce que j'ai jamais vu ce truc. Quand tu connais le champion... T'as une question, Gérard ? Non, mais ce que je voulais dire, c'est que quand tu connais le champion, tu peux répondre aux questions sur le champion. Ouais, non, mais c'est pas évident. Parce que, par exemple, je vais poser une question à Manu. Quelle est la capitale de... Quelle est la plus grande ville...
Quelle est la... La capitale de New York ? Bangkok. Non. Ah, je sais pas. De quoi ? La capitale de New York. La capitale de New York. Attends, merde, je sais pas. Le Bronx ? Non. La capitale de New York. C'est un grand pays, en plus. C'est simple. Washington. Eh ouais, la capitale de New York. Non, Washington, non. C'est Washington. Non, si, c'est ça. Non, c'est ça, c'est Washington, la capitale de New York. Donc, par exemple, quelle est... T'as une autre question ? Quelle est la plus grande pute de Paris ?
Ça, je sais, mais je vais pas le dire. Ça va avec, c'est ta femme. Ça va avec, c'est ta femme, donc je... Moi, je sais pas. T'es vraiment accueillé, toi. C'est la Tour Eiffel, parce qu'elle écarte les jambes. Allez, allez, allez. On récupère Flore Danus. Flore Danus. Oui. Attends, qui c'est qui vient de parler de Sandy, là ? T'as un mec cool, Gérard. Non, mais attends, Benjamin, pour l'instant, je veux savoir qui c'est qui s'amuse à parler de Sandy. Moi, c'est une conne.
Laisse tomber. Attends, c'est une conne. Attends, merde, toi, d'accord ? Mais non, mais pas Sandy. Pas Sandy, c'est le qui a dit ça. Grillez. Les boules d'encre sont de nos jamais. Et il faut les aimer, aussi. Ouais, calmez-vous, les mecs. Ouais, calmez-vous, les mecs. Flore Danus. Oui, Gérard. T'es cool, Gérard. Toujours là. Pipion. Ouais. Pute de nuit. Ouais, je suis là. Françoise. Oui, je suis là. Pot de couille. Ouais, je suis là. Et Benjamin. Ouais, je suis là, et je veux dire que t'es un mec cool. Alors, être animateur...
Oh, vous vous calmez, s'il vous plaît. Bonjour. Bonjour. Bonjour. Non, mais quand vous aurez fini, je pourrais peut-être poser ma septième question. Vas-y, vas-y, vas-y. Et très... Ah, vas-y, vas-y. Eh, je t'en tue, je t'en tue, tu vas pas en tuer, toi, sale pédé ! Oh ! OK. C'est bon, c'est bon, c'est bon. T'es un mec cool. Alors, être animateur d'un jeu... Bon. Eh, Olivier, tu fais quoi, là ?
Ben, de toute manière, c'est tous les jeudis, c'est comme ça. Eh, Gérard ! Gérard ! Il te parle, Benjamin. Ouais, Benjamin, je t'écoute. J'aimerais bien qu'on fasse un peu le débat, parce que moi, tu sais... Il a raison. J'ai des trucs à faire, j'ai pas que ça à foutre. Ouais, mais pour l'instant, je voudrais bien savoir qui c'est qui s'amuse à dire des conneries. Ben, je vais essayer de le trouver, t'inquiète pas. Alors, donc, être animateur d'un jeu, vous tente-t-il ? Ouais, Benjamin, je veux répondre. Ouais. Ouais, parce qu'en fait, voilà, je vais te le dire tout net, en fait, j'écoute tes débats depuis longtemps,
je m'appelle, je vais le dire, je m'en fous, je m'appelle Benjamin Rizzoli. Oh, non ! Et en fait, mon père, c'est Philippe Rizzoli, quoi. C'est pas vrai. C'est l'une des deux. Non, non, non, sans déconner, c'est sérieux, et donc, moi, je suis bien passé pour en parler, parce que, étant donné que mon père, il fait le millionnaire, ainsi que la roue de la fortune, euh, non, merde, j'ai un trou. Le juste prix, excusez-moi. Donc, moi, je peux vous dire que c'est un métier qui en vaut, quoi. Ah, ouais. Parce que, moi, je sais qu'on a pas mal de thunes,
qu'on en profite grave, et, euh, moi, je conseille à tout le monde de devenir un animateur télé, hein. Bon, ok. On va demander un pot de couille. Gérard ? C'est qui ? C'est Benjamin, encore. Non, mais attends, Benjamin, attends. Non, je veux seulement dire que t'étais cool. Bon, ok, ça y est, j'ai compris. Pot de couille. Ouais. Ouais. Bon, tu réponds ? Bah, je sais pas. Non, bon, alors, vas-y, hop. Bah, non, vas-y, attends, vas-y, répète. Hé, non, non, non, retends, moi. Bah, répète. Bah, non, non, je répète plus. Moi, t'as dit que t'étais cool. Moi, t'as dit que t'étais cool. Attends, dégage.
Allez, allez, dégage, dégage, dégage. Allez, hop. Je te dégage. Dégage-le, dégage-le, dégage-le, dégage-le. Hop, hop, hop. Allez, dégage-le. Euh, Françoise. Toi aussi, je vais te dégager. Je suis là, je suis là, je suis là. Françoise. Disons que, euh, disons que, non, moi, ça m'intéresserait pas de... de remplacer quelqu'un, euh... C'est quoi, cette colonne-là ? Non, ça, c'est Olivier. Olivier, je te dis de me dégager, l'autre. Et c'est ça qui nous fait des jingles, putain. Putain.
Il fait des jingles et il est même pas capable de faire un standard. Pour l'instant, vous êtes en... C'est la septième question et c'est de la merde. Il est déjà 1h33... Euh... 1h34. On est à la septième. Et pour l'instant, c'est de la merde que vous me faites. Pour revenir au débat, super, les auditeurs. Il y a Formos qui te demande si tu animerais... si tu aimerais animer un jeu télé et si oui, lequel ? Alors, tu peux répéter la question. Alors, Formos sur l'IRC te demande si tu...
si tu voulais animer un jeu télévisé, est-ce que ça t'intéresserait et si oui, lequel ? Non, ça m'intéresserait... Ça m'intéresserait pas de... Ça m'intéresse pas. Manu, s'il te plaît, quand je te demande de me couper tout le monde, tu le fais et tu te tais, maintenant. D'accord. Donc, pour très... Bon, Manu, ça commence à bien faire ! J'ai rien fait ? Oh là là là là ! Mais je touche à rien !
C'est mon micro ! Viens, mais t'es chiant, hein ! On n'a qu'à effacer. Ouais, non, mais attends, attends, attends, pour l'instant... Non, j'ai bien l'antenne, ça. Donc, pour te répondre, je prendrais... Je ne ferais même pas de débat télé ni rien du tout. Non, un jeu, pas un débat, un jeu. Non, mais même un jeu télé, je ne le ferais pas. Allez, pourquoi ? Tu serais bon, en plus. Non, non, je ne le ferais pas. De remplacer la gaffe. Non, non, non. Oh, Gérard... On peut t'inscrire à des jeux, ici. Non, non, non, non.
De toute manière, rien qu'à voir les emmerdeurs, c'est bon. Sinon, il y a Philou... Attends deux secondes, il y a Philou qui te demande si tu comprends le principe des chiffres et des lettres. Oui. Le principe. Le principe, c'est de trouver le compte est bon et de chercher des mots. Il ne faudrait pas quand même qu'il me prenne pour un con, lui, sur lire, c'est... Donc, passé. T'as compris, Philou ? Oui, je réponds à la question ? Oui. Moi, je ne voudrais pas être animateur télé, non. Je ne sais pas, je ferais plutôt de la radio comme toi,
à rien foutre, à faire des émissions à la con. C'est qui qui s'amuse avec son téléphone ? Ça va gerber ? Qui c'est qui s'amuse ? Ça va casser, sinon. Ton cul, ton cul ! Bon, là, c'est Benjamin. Arrêtez avec le téléphone, c'est chiant. Bon, Benjamin, pour l'instant, ce n'est pas toi que je m'adresse. On va demander à Françoise. Gérard, c'est trop cool. Je t'ai répondu, Gérard. Oui, aussi, c'est bon, c'est bon. Plus de deux nuits. Moi, je ne voudrais pas être animatrice parce que je ne pourrais pas gagner les cadeaux. Non, mais de toute manière, tu n'as pas besoin d'être animatrice.
Non, mais quand tu es animatrice, tu ne peux pas gagner les cadeaux. Rigo ! Moi, j'aimerais bien gagner des cadeaux. Rigo, c'est Benjamin. Est-ce que Fleur d'Anus, elle est sur l'Internet, là ? Non. Parce que je suis en train de faire de l'Internet en même temps. Et tu ne la trouves pas ? Ben non. Va voir sur Dièse Fleur d'Anus. Ou Dièse en couleur de GG. Merci. Qu'est-ce que tu viens de dire ? C'est rien, c'est rien. C'est les noms des serveurs. Et le débat ? Benjamin ! Benjamin ! Excuse-moi, GG.
Benjamin ! Ouais ? Si tu paies de l'Internet en faisant les débats, ce n'est pas la peine. Ok, super. Gérard, c'est Fleur d'Anus. Je peux répondre ? Oui, je t'écoute. Justement, ils te cherchent, Benjamin. Ouais. Non, mais ce n'est pas le même. Oui, ce n'est pas le même. Je ne suis pas au mot. C'est mon frère jumeau. Donc, oui, moi, je n'ai pas l'intention de devenir animateur de jeux télévisés parce que c'est complètement débile. D'accord. Pipion ? Je ne veux pas être animatrice. D'accord. C'est bien, toi, tu réponds.
Comme pute de nuit. Pute de nuit, c'est pareil. Oui, d'accord. Tu sais, tu as des questions des villes. Alors, nous aussi, on répond des villes. De toute manière, si ça ne vous plaît pas, les débats dans ces cas-là, pourquoi qu'on vous sélectionne ? Si, c'est génial. Tu es trop cool. Non, mais là, pour l'instant, on n'est même pas arrivé à... On s'endort, surtout, quoi. Parce que tu n'es plus dans ton débat. Donc, reprends-le. Non, mais toi, pour l'instant, quand tu me prends du boulot correctement... Je ne fais pas le boulot correctement, là. Non, mais pour l'instant... Reprends, reprends. Comment ? Qui c'est qui n'est pas contente, là ?
C'est qui qui n'est pas contente, là ? C'est laquelle qui vient de dire Jabrej ? C'est laquelle, pauvre meuf, qui a dit ça, là ? Benjamin, tu dégages. Entre pute de nuit et pipion, là, c'est laquelle des deux ? C'est Benjamin. C'est Benjamin. C'est Benjamin, il a mis... C'est Benjamin, il faut le gerber. C'est Benjamin. Mais, Gérard, ils veulent me gerber, ça va ? Alors, que doit-on supprimer comme jeu télé ? On va demander ça à pute de nuit ? Ben, je ne te dirai pas le fond de ma pensée, mais...
Je voudrais changer un peu le concept de ces jeux. Non, c'est faux. Ben, Benjamin, s'il te plaît, tu te calmes. Ben, attends, si jamais ils arrêtent tous les jeux, moi, mon père, il n'a plus de taf, j'ai plus de thune. Benjamin, tu te tais ! Il va sur une autre chaîne, ton père. C'est connu. Bon, pute de nuit, tu réponds correctement à la question, parce que ça commence à être lourd. C'est vrai, tu dis que des conneries. Gérard ? Les jeux de TF1, pour moi, c'est bidon, c'est rien, quoi. T'apprends rien. Ouais, elle a raison, cette fille. À propos des jeux de TF1, il y a... Alors, ce qui s'était, c'est Chocobo sur l'IRC
qui a dit à tourner Manège. Non, mais justement... Non, c'était dans 30 millions d'amis. Qui c'est qui vient de dire ça ? C'est Benjamin. Alors, Benjamin, tu dégages. Benjamin, tu dégages ! Et pourtant, t'es un mec. Tant pis pour toi ! Mais non, t'es trop cool, Gérard, tu peux pas me virer, t'es trop cool comme mec. Je sais pas où il est. Je te suis depuis 10 ans. Ah, c'est bon, je crois que j'ai trouvé. Je suis dans la rue depuis 10 ans, Gérard. Il est super cool, Benjamin. Et c'est lui qui t'amène des lettres. Ça y est, vous avez fini,
quoi, connerie ! Bon, Benjamin, je suis désolé. Je dégage. Alors, Françoise. Oui. Moi, en supprimer un, je supprime la famille en or. Pourquoi ? Parce que j'aime pas Pascal du tout. Non, mais c'est sûr... Non, non, non, non, attends... C'est plus Cabroule, là, je sais plus trop quoi. Cabroule, non. C'est qui, maintenant ? C'est Pascal Bonner.
Parce qu'il a chanté sur la 3. Un tout naze, lui. Attends, attends, attends, Françoise. Il y a une question IRC. Non. Il te demande... Enfin, ça change de jeu encore, mais c'est Oxide qui te demande comment on reconnaît les billets gagnants du millionnaire. Comment on fait ? Alors, pour le millionnaire, tu grattes et si t'as 3 télés, tu passes à la télé. C'est 4. C'est 4. Non, 3. Non, c'est les morpions. Non, c'est 3 télés. C'est 3 télés pour passer directement à la télé. Eh, eh, eh ! Directement ? Eh !
Eh, sans déconner ! Sans déconner ! D'accord, Françoise ? D'accord, Gérard. Sans déconner ! Sans déconner ! Donc, c'est vrai qu'avant, on avait... Cabroule. Vincent Cabroule. Et Patrick Roy, avant. Non, non, non, non, non, non. Non, mais Patrick Roy... Non, non, non, attendez, attendez, attendez. Celui qui a créé le premier jeu télé, ça a été...
Patrick Roy, ça, je suis d'accord avec Françoise. C'est lui qui a... qui a rentré là-dedans lors du... juste prix. Après, il y a eu Vincent Cabroule, qui a capé... Il a fait quoi, lui ? Capé... Merde, comment qu'on appelle... Les marches des héros. La famille en or. Après, ça a été repris par... Maintenant, c'est repris par Pascal Bruner, donc maintenant, il faut dire que
c'est vrai que... Il y a pas eu l'autre pédale de Montiel, aussi, là ? Bernard Montiel, oui. Gérard, en parlant de Rizzoli, en parlant de Rizzoli, il y a Davy One sur l'IRC qui a une question pour Benjamin. Et on a qu'avec Pipo, en même temps, tiens. Bon, c'est dommage que Benjamin n'est plus là. Mais il se demandait comment Philippe Rizzoli fait pour présenter le juste prix à une millionnaire. Est-ce qu'à chaque fois, tous les jours, il doit gratter pour trouver trois télés ? Non, non, non, non, non. Allô ? Ouais, Pipo. Ah, quand même ? Ouais, ben attends, cinq minutes, je réponds quand même au
question Internet. Ben attends, c'est bon, ça fait déjà un quart d'heure que je suis en attente. Ouais, ben attends, pour l'instant, si t'es pas content, pour l'instant, je réponds aux questions Internet avant vous, d'accord ? Mais putain, c'est quoi cette organisation à deux francs, là ? Eh, si t'es pas content, tu restes chez toi, d'accord ? C'est chez moi, hein. Connard. Vas-y, reste poli. Donc, je réponds à la question. Donc, la question, c'était... C'était comment Rizzoli fait pour trouver trois télés tous les jours pour aller au millionnaire. Non, non, mais attends. Mais ben, d'artiller, hein. Oh, mais ça y est, Pipo, tu la fermes un peu !
C'est bon, Pipo, t'es cool. Ouais, putain, mets-moi tout le monde en attente. Hop. Donc, pour te répondre à ta question, donc, il gratte pas trois télés, c'est lui qui anime deux jeux à l'heure actuelle. Et c'est sûr que je voudrais bien savoir comment qu'il fait pour animer le millionnaire le samedi... Ben, il court vite. Non, mais... C'est presque dans les mêmes... Dans les mêmes locaux que là où il fait le juste prix.
Donc, il a juste le temps de changer et il reprend tout de suite le millionnaire, le juste prix. Tu crois qu'il change même de slip ou... Il fait comme Superman, il passe par une cabine. Voilà. Combien qu'on est sur IRC, Rigo, quand même ? On flotte autour de 3400, 3500. En plus ? Ouais, on n'arrête pas de flotter, là, parce que... C'est nul, par rapport à l'Europe. Ouais. Il y a des gens, ils viennent, ils écoutent par l'Internet et ils s'en vont parce qu'ils trouvent que tu gueules. Alors, Flore Danus. Ouais, mais moi, j'ai tout zappé, là. Ah ben...
Dans ces cas-là, c'est pas grave. On va s'écouter... Attends, finis ta question. Allô ? Alors, Flore Danus. Ouais ? Tu réponds ? Ça n'avance pas, hein. Bon, tu réponds. Allô ? Flore Danus, tu réponds. Ouais, donc, moi, je pense que les jeux de téléphone, c'est de la merde et c'est bien normal, quoi. D'accord. Ah ben, dans ces cas-là, tu changes de chaîne, ça ira plus vite. Pipion. Ouais ? Donc, pour toi. Non, c'est Pipo, moi. Pipion ! Je ne me souviens plus de la question.
Putain, t'es lourde, toi. Tu commences à me casser les couilles. Allez, hop, dégage. Je t'emmerde, d'accord ? Je t'emmerde, moi, je te pisse au cul, toi, salope ! Allez, hop, dégage ! Hop, Pipion, tu me la dégages. Qu'est-ce que je fais ? Je la dégage, je la garde ? Non, non, tu me la gardes. C'est dommage, elle était cool. Non, non, je n'aime pas les connes. On aime ton cul, Gérard. T'as un problème de voix, Gérard. Ah, Manu ! Ouais, Manu ? On travaille bien ! On travaille bien ! Ah, Manu ! Ah, Manu !
Allez, hop, terminé ! Conclusion du débat ! Allez ! Conclusion ! Maintenant, je prends ce soir. Comment ? Or, toi, tu dégages. Gérard, calme-toi. Calme-toi, Gérard. Hop, terminé. Hop, terminé. Donc, on va s'écouter. Je me mets une pisse sale dans l'arrière avec des punaises et des clous. Conclusion ! Mais Gérard, putain ! Mais conclusion ! Mais quoi ? Mais arrête !
Dégage ! Dégage ! Dégage de là toi ! Qu'est-ce que tu fais ? Arrête, tu vas faire un blanc Gérard. Qu'est-ce qui se passe ? Ça marche bien là ! Qu'est-ce que tu fais ? Tu vas tout couper, arrête Gérard. Dégage ! Fais de la merde ! T'es aussi con que Pildor ! Toi c'est pareil ! Dégage ! Dégage ! Dégage !
Qu'est-ce qui se passe ? Qu'est-ce qui se passe ? Qu'est-ce qui se passe ? Qu'est-ce qui se passe ? Qu'est-ce qui se passe ? Qu'est-ce qui se passe ? Qu'est-ce qui se passe ? Qu'est-ce qui se passe ? J'arrête ! Parce que là tu viens de firer Olivier, Manu et Pildor. Il ne reste plus que Rigaud. Moi je ne sais rien faire. Moi je ne sais pas faire le standard, je ne sais pas faire l'arrêtage, je ne sais rien faire. Alors qu'est-ce qu'on fait ?
Non mais on va s'écouter, je me mets une ficelle dans l'arrêt avec des punaises et des clous. Mais ce n'est pas une solution ça Gérard. Non mais on met ça comme disque et je vais essayer de voir si je trouve des gens au standard. C'est impossible. C'est impossible de travailler comme ça. C'est impossible de faire des débats que je dis comme ça. Non mais là d'accord, mais attends. Là c'est impossible. Manu, il fait le coup, il s'amuse là.
On met des doubles sons. L'autre qui lui demande de virer des gens, il ne les vire pas. Pour l'instant il y a Rigaud qui bosse. Moi je commence à avoir mal bol. Moi je vais finir par ne plus faire de débats. Mais là il faut faire super gaffe parce que... Attends, regarde. Tu as 24 lignes qui sonnent. Là je ne suis pas d'accord. Alors qu'on soit allé où ? Tu peux revenir Gérard ? Attends Gérard, tu parleras avec eux. Qu'est-ce qu'on fait ?
Pour l'instant tu mets 2 10. Non, non, non, non. Toi tu dégages. Toi tu dégages. On n'a rien fait. Allez Gérard. Allez Olivier, c'est bien. Non mais claque pas la porte comme ça, tu vas tout casser putain. Toi Manu. Ah non les gars. Manu ça commence à bien faire. Je peux revenir Gégé ou pas ? Attends, vous me prenez déjà au standard moi. Il y a le 10 que là tout tourne. Alors François ça allait où ? Non mais attends, on s'en fout de François.
Qu'est-ce qu'on fait ? Non mais moi pour l'instant tu mets 2 disques. Ah non, non, non. Si, si, si, si. Pour prendre le débat là Gérard. Non, non, là c'est même plus possible. Gérard, Gérard, je vais perdre des gens. Je vais perdre des gens sur l'IRC. Je vais perdre des gens sur l'IRC. Mais même, on est à 3500, moi je ne suis pas d'accord. Je ne suis pas d'accord qu'on soit à 3500 à 1h46. C'est bien. C'est vachement bien. Non mais attends. Nous la semaine on est à 100. On est à 100 pendant toutes les 10. Non mais là il faut pas déconner. Il faut pas déconner.
Attends. Les mecs ils ne veulent même pas répondre aux questions. Qu'est-ce qu'il s'est passé ? C'est terminé. Maintenant tu ne me prends plus de personne avant. Tu ne me prends plus personne avant les débats. Tu attends que j'arrive et je sélectionne les gens. Parce que Tony j'en veux plus. Arnett aussi, Goldo, tout ça. Qu'est-ce qu'il s'est passé ? Là je n'écoutais pas. Qu'est-ce qu'il s'est passé ? Attends, l'autre il me met du double son. Mais non. J'ai rien fait. J'ai rien fait. Je suis innocent.
Olivier, elle est un sable. On va reprendre l'antenne. Olivier, qu'est-ce qu'il se passe ? Olivier, c'est pareil. Tu me demandes de dégager quelqu'un. Il ne va pas. On ne peut pas déconner. Moi je ne continue pas les débats comme ça. Non mais c'est clair. Je suis d'accord. C'est pas vrai. Tu n'as rien fait. Non, tu n'as rien fait. C'est pas vrai. Tu n'as rien fait. Attends. Tu n'as rien fait. Je te demande 150 fois de me virer des mecs. Tu me les reprends. Tu les remets sous le dos de ton nom. Alors qu'il y a 24 lignes qui sonnent. Arrête tes conneries. Dégage.
Va faire ton truc à la pointe. Attends, ça va. Il a fait du bon boulot. Alors qui c'est qui fait le truc ? Attends, l'autre s'il se calme. Il revient au standard. Je suis hyper calmé. Il faut que je m'accroche. C'est tout. Alors qu'est-ce qu'on fait ? Qui fait quoi ? Qu'est-ce qu'on fait ? Non, je n'ai pas raccroché aux gens. Qu'est-ce qu'on fait ? Pour l'instant, il reste combien de temps sur le disque ? Il reste 40 secondes. Même pas. Plus tard, il revient au standard. Il me laisse François Zéon.
Il me reprend l'autre genre. Bon, alors OK. Allez, on se remet à l'antenne. On reprend dans 40 secondes. Allez, on reprend dans 40 secondes.
Et voilà, vous venez d'écouter. Je mets une picelle dans l'arrêt avec des punaises et des clous. Ça, c'est ce que tu m'as donné comme papier. C'est ça. Excuse-moi, Gérard. Je vais chercher un stylo. Je n'en ai pas. Oh non. Tiens, un fil d'arbre. Attends. Olivier est là.
Il a volé le stylo, Olivier. Olivier ! Non, non, dégage, quoi. Quoi ? Fil d'arbre, fil d'arbre, fil d'arbre. Fil d'arbre ! Fil d'arbre ! Bon, ça y est. Alors, tu me récupères les gens, là, vite fait. Allez. Alors, donc, maintenant, c'est fil d'arbre que vous avez au standard. Bonsoir à tous. J'espère qu'il va prendre des gens sur les 24 lignes. Tu es trop cool. Tu es cool, Phil.
Tu te dépêches ? Hé, Phil, t'es cool. Alors, donc, il nous reste qui, normalement ? On devrait avoir Françoise. Françoise, ouais. Françoise ? Ouais, je suis là. Qui c'est qu'il nous reste ? Bah, c'est tout. Non, père. Bien joué, bien joué. T'as plus que toute seule. Je sais pas. Si tu veux garder qui, tu m'as dit de virer tout le monde. Bah, tu remets plus de deux nuits. Plus de deux nuits. Allez, là, ouais. Plus de deux nuits. Ouais, je suis là. Salut. T'as au boulot, toi ? Ouais, non, non. Non, non, mais après, tu me prends d'autres personnes, là.
T'as mes règles. Ouais, t'as tes règles. T'as l'air que tu vas avoir tes règles. Tu vas aller voir Phil Dard. Il va t'arranger ça. T'aimes changer mon tampon ? Ouais, il va... Avec les noms. Il va te les retirer, tes tampons, tu vas voir. Bon, alors, qu'est-ce que... Hé, Dard. Oui ? Il y a une personne qui voudrait participer au débat. C'est possible de l'appeler ? C'est qui ? C'est qui ? C'est un certain Guillaume. Pas de favoritisme. Ouais. Ouais, mais là, je sais pas. T'aurais dû demander ça.
À Phil Dard. Bah oui, mais disons que... Bon, je veux pas être toute seule sur le... Sur le débat. Bah, je suis là. Bah oui, mais t'es toute seule. On est que deux, là. Bah, on est deux. Non, mais attends. Pour l'instant, qui c'est qui me reprend, Phil Dard ? C'est Max. Juste deux secondes, Gérard. Juste qu'il est 1h50 et qu'après, il y a ton deuxième débat qui est intéressant. Donc, dans 10 minutes, il faut passer au deuxième. Ouais, bah, dans ces cas-là, on fait conclusion sur celui-là, puis c'est tout. C'est qu'on... Conclusion, et on met un disque, cette fois-ci. Ouais. On met deux disques.
On vient d'en mettre un. Jouge. Jouge. D'habitude, entre deux débats, on met Jouge. J'ai t'expliqué. On vient de mettre un disque et à l'époque, il y avait trois heures de débat. Maintenant, ça dure deux heures et demie. Donc, on met plus qu'un disque. On attaque à minuit et demi, on arrête à trois heures. T'es d'accord ? Et les gens, ils demandent. Il y a combien de connectés, Rigo ? 3008, 3009 ? Non, on est redescendus suite à l'engueulade avec Olive. Et ouais, putain ! Et on est sous les 3000, mais c'est en train de remonter parce qu'ils sentent que le débat est plus calme. Ah, et puis, Fildar est revenu. Ils sont peut-être contents aussi. Ils sont contents.
Ils le trouvent super cool. Dommage, on ne va pas pouvoir continuer la fin du premier débat parce que c'est bête, parce qu'il y avait quand même des questions qui étaient intéressantes. On l'a fait. Pourquoi les jeux télévision existent-ils ? C'est nul. C'est nul si t'es pas contente, c'est le même prix. Peut-on tomber amoureux d'un jeu télé ? C'est nul. C'est nul si t'es pas contente, tu vas te coucher. Et d'après vous, les jeux télé sont-ils truqués ?
C'est nul. Dans ce cas-là, tu vas te faire foutre. Tu vas aller retirer tes tampons. Comme ça, t'auras plus tes règles. Donc, la conclusion du premier débat... Non, c'était pas mal. Non, c'était pas mal. C'était bien. Bien sûr, on a fait que cette question, ça a été le bordel. Donc, le deuxième débat va porter sur les poèmes. Et je peux vous dire que je suis venu avec 4 poèmes.
Mais toi, tu vas faire le standard. Et tu vas la fermer. Tu vas la fermer. Tu vas pas t'amuser à ouvrir le micro. Ça sert à quoi que je revienne, moi, pour faire 2 minutes, là-haut ? Tu crois que je suis payé à ça, moi ? Attends, toi, pour l'instant, on est en train de chercher quelqu'un pour te remplacer. Alors, tu vas pas nous les gonfler ? Sans déconner. Sans déconner ! Donc, pour l'instant, il y en a qu'un qui travaille le mieux, c'est Régo à l'Internet.
Oui ? Bip bip. Comment ? Bip bip. C'est qui, ça ? Bip bip. Bip bip. Ah, bip bip. Ouais, OK, d'accord. Je vois pas ce que tu veux me dire, mais c'est pas grave. Bip bip. L'autre a dit bip bip. Mais non, la gaffe, quand il arrive, il fait bip bip. Mais non. Tu sais même pas ce que c'est, le bip bip. Tais-toi, tais-toi, tais-toi. Écrase, écrase, écrase. T'es un faux fan du bip bip, en fait. Écrase. T'es un faux. Un faux fan. Ce soir, je l'ai regardé.
Fais-moi confiance. Je me suis bien marré. C'est quoi qui t'a fait marrer, ça ? Ouais. Hein, Françoise ? Ouais, ouais, ouais. L'autre que t'aimes pas, là, comment tu l'appelles ? Vous l'avez regardé ensemble ? Non, non, ben... Non, on l'a pas regardé ensemble. Non, mais... On était au téléphone ensemble. Et quand on a arrêté de se parler au téléphone, il y avait Ramucho qui... Ouais, avec une... Avec carrément la maison sur la tête.
Ramucho ! T'as cru que c'était la gueule ! Ah, t'es trop cool ! Ah ouais, c'est cool ! Elle est cool, Ramucho. Non, mais attends. T'inquiète pas, Françoise. C'est Manu et Fildar. Ils pètent les plombs, là. Je crois qu'ils ont fumé la moquette. L'autre, il doit faire du 90B, maintenant.
Rigaud ! Il est trop rigolo. Rigaud ! T'es marre pas, Rigaud, c'est pas drôle. Rigaud, il y a... Oui, qui y a-t-il, Gérard ? Rigaud, il y a que toi qui bosses bien dans... Fais pas le con ! Fais pas le con ! Moi, je bosse bien parce que les gens de l'IRC sont bien. Fais pas le con, Rigaud ! Bon, conclusion ! Qu'est-ce qu'on se marre ! Alors, conclusion, donc, on... Ben... Il n'y a plus personne pour la conc... Ah, si, il y a Françoise. Ouais. Ben, je veux pas te...
te vexer, mais j'ai trouvé ça nul. Eh ouais, mais... Tu sais à qui t'en prendre ? Ben oui, je sais à qui m'en prendre. C'est dommage parce que c'est rare que je participe à tes débats, mais là, je l'avoue, c'est franchement nul. Ben ouais, mais ça, tu sais à qui t'en prendre, hein. Tu t'en prends après Manu et Olivier de la... Voilà. Gérard, conclusion,
si toi... Et toi, qu'est-ce que t'en prends ? Ben, moi, je suis comme toi. Comme toi. C'est de la merde complète. Et j'aime pas ça. Donc, j'espère que le deuxième... J'espère que le deuxième, il sera aussi bien, mais disons que moi, je participe pas. Pourquoi ? Parce que t'as vu qu'il a retenu, il est 2h05, et puis, bon, il est temps que t'avais une couche. Ok. Pute de nuit. Ouais. Ben, c'était à chier, ouais, la raison, Françoise. Et tes fins, ben, c'est chaîne de beau.
De toute façon, on te l'a dit, hein. Si tu m'aimes pas, tu changes de chaîne, hein. Ben, justement, moi, je regarde RC, donc... Eh ben, dans ces cas-là, tu nous emmerdes pas, puis c'est tout. Gérard, sur IRC, il y a la conclusion de Turpentine qui dit que ton débat, il avait ni queue ni tête comme toi. Non, mais ça, de toute manière, à chaque fois, moi, je commence à en avoir ras-le-bol. Putain, celui qui a un micro derrière, il va se prendre mon poing dans la gueule. Hein, Manu ? Quoi ?
C'est bien de parler derrière moi. Hein ? Bon, les conclusions, de toute manière, je pense qu'on va perdre plus qu'un débat par semaine, et ça sera terminé. Allez, on se retrouve pour le deuxième, pour les poèmes, et à tout de suite.
== Le débat sur les poèmes ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Les débats, pas de radio et pas d'insultes de Gérard
Eh bah lui tu peux annoncer le disque
Le disque c'était je sens pas bon entre les cuisses avec mais je me soigne
Et bah voilà, donc alors on va écouter, on accueille Verlaine de Montigny le Bretonneux
On écoute Fun Radio sur 101.9
Oui bonsoir c'est Montigny le Bretonneux
Ouais bah je le sais
D'accord
Puis celle du sud
Salut Gérard
Bonsoir
Petit Nénuphar
Salut Gérard
Bonsoir à toi
Et String en fleurs
String à fleurs oui, Ami Poète du soir, bonsoir
De Montluçon
De Montluçon oui
On écoute Fun Radio sur 87.8
Exactement
Et puis celle du sud c'est 98.9 c'est ça ?
Exact
Excuse moi Gérard on a un nouveau là j'ai eu le temps d'en faire
Enfin une nouvelle c'est la chaude
Salut Gérard
Salut la chaude
Salut la chaude
Salut la chaude
Salut ça va ?
Ça va la chaude ?
Je suis grave excité le soir avec Gérard
Tu fermes ta gueule toi
Non mais calme toi la chaude
Gérard tu m'excites putain
Mais calme toi la chaude quand même
Ok
D'accord ?
Oui
Donc tu as 19 ans c'est ça ?
C'est ça
Et tu appelles de ?
J'appelle de la chambre
Ouais mais de quelle ville ?
Ouais ta chambre
Ok j'appelle Versailles
Versailles voilà
101.9
Fm
Je sais que tu es chaude
Oui je suis chaude je sais que tu es chaude
Oui je suis chaude j'ai un doigt dans la chaude
Non non attends
T'as reconnu que t'étais en vie là
T'as l'air tu vas être vachement chaude
Que tu as dégagé
C'est un débat sur la poésie donc tu dis que tu mets un doigt dans ton sexe féminin
D'accord
Voilà
Ouais ben toi Pildor tu commences à t'écraser d'accord ?
Alors le deuxième débat se portera sur les poésies
Les poèmes
Et n'ayez crainte
Y'en a quand même 4 après
Oh non
Qui seront à lire
Oh non
On fera des poèmes après
Moi je raccroche pas
Euh ce que ça plaît pas
Ça sera le même prix
Moi je raccroche
Si t'es pas contente que tu vas te faire foutre
D'accord ?
Tu vas pas commencer à me casser les couilles
Ok ?
C'est bien compris ?
Oui
C'est bien compris
Hein ?
Alors comment doit être réalisé un poème ?
On m'a demandé ça à la chaude là comme elle a un doigt dans la chaude
Alors comment doit être réalisé un poème ?
On m'a demandé ça à la chaude là comme elle a un doigt dans la chaude
Comment je l'ai retiré ?
Oui c'est quoi la question ? Comment est-ce qu'on doit réaliser un poème ?
Oui c'est quoi la question ? Comment est-ce qu'on doit réaliser un poème ?
Non c'est comment qu'on encule ta sœur ?
Non c'est comment qu'on encule ta sœur ?
Non c'est comment qu'on encule ta sœur ?
Non c'est comment qu'on encule ta sœur ?
Non c'est comment qu'on encule ta sœur ?
Non c'est comment qu'on encule ta sœur ?
Non c'est comment qu'on encule ta sœur ?
Bravo là
Bravo là
C'est à l'heure
Oui donc répète ta question s'il te plaît
Bon elle tu me la prends au centre
Attends j'ai envie de répondre
Alors tu réponds tout de suite
Alors c'est quoi la question ?
Non bah allez hop on va demander à Verlaine
Comment doit-on réaliser un poème ?
Moi je pense le plus simplement du monde
Avec des phrases, des mots, des virgules, des points à la ligne
Et surtout un point final
Voilà un point final à la ligne c'est ça ?
Un point final et tout à fait
Ok
Je pense
Puis celle du sud
Ouais il faut compter les pieds pour faire des vers
Donc c'est soit douce, tu fais des alexandrins
Soit moins, soit plus
Mais ouais tu fais des rimes, tu fais des jolis mots
Des jolies phrases qui vont ensemble
Ok
Voilà
Petit nénuphar
Bah oui donc tu dois faire des tercets, des vers
Faut que ça rime etc
Faut que ça ait du son, de la tonalité
Bon c'est quoi là ce bordel là ?
C'est que tu m'as écouté j'espère
Parce que je répète pas
On va pisser Manu il n'y a pas de problème
Non mais c'est bon là Régo
On travaille
Gérard j'ai un super service à te demander
Ça va te faire chier mais il faut que j'aille faire pipi
Bah tu es sûr ?
Non mais attends Manu
Avant de sortir je te demande l'autorisation
Mais Manu tu veux pas que j'aille te la tenir ?
Non ça va mais je te demande si je peux y aller quoi
Bah tu te démerdes tu te mailles
Bah merci Gérard je reviens
Je te lave les mains
Alors petit nénuphar
Bah je t'ai répondu tu vois tu m'as pas écouté comme d'hab
Non mais c'est pas de ma faute
Donc vas-y
Donc il faut que les phrases aient de la tonalité
De l'expression etc
D'accord string en fleur ?
Bah écoute moi je dis qu'il faut trois choses que je suis pas sûr que t'aies
C'est l'art de conjuguer, le sens de l'orthographe et quand même un minimum de syntaxe
Non mais de toute manière il y a
Si si quand même
Non attends attends
C'est n'importe quoi ça donne je voudrais te dire je t'aime et puis bon
Non mais de toute manière il y a pas spécialement je veux dire je t'aime ça c'est mes trucs à moi ça c'est
Il faut de la syntaxe toi tu mets de la syntaxe dans tes poèmes t'en mets un maximum
Il en faut il faut de la syntaxe il faut aussi de la conjugaison
Il faut du Becherel du bled
J'ai pété les rimes aussi hein voilà ouais
Non mais attendez attendez on accueille qui là maintenant ?
Attends pas encore non non non je vais la rappeler parce que j'ai besoin d'une ligne
Alors tu bières la chaude et puis tu prends la ligne ?
Rappelle le secret
Ouais voilà le bulldog secret tu vois tout le monde le veut et apparemment il y en a un qui s'appelle Arnett ou Tony ?
Non
Non ?
Ouais
Alors donc comment doit être réalisé un poème bon bah de toute manière ça va être des rimes
Mais j'ai pas répondu
Non mais toi tu vas te faire foutre
Je rentre s'il te plaît
Bravo
Mais non
Mais je t'ai dit de toute manière je veux pas t'entendre toi
Je t'ai dit de toute manière je veux pas t'entendre toi
Je t'ai dit de toute manière je veux pas t'entendre toi
T'as pas envie de me dire comment je réalise mes chers poèmes ?
T'as pas envie de me dire comment je réalise mes chers poèmes ?
Ouais vas-y
Ouais vas-y
Eh bien moi j'aime deux doigts de sensualité avec un tiers de whisky et un tiers de Gérard
Eh bien moi j'aime deux doigts de sensualité avec un tiers de whisky et un tiers de Gérard
Eh bien moi j'aime deux doigts de sensualité avec un tiers de whisky et un tiers de Gérard
Ouais alors tu vois
Fildar
Fildar
Fildar
Fildar
Fildar
Fildar
Quoi ?
Fildar
Quoi ?
Fildar
Quoi ?
On travaille
T'as laissé le pisser un peu ?
Oh Benjamin
Je m'amuse bien je fais de la Gameboy
Oh putain l'autre au lieu de travailler il est en train de faire de la Gameboy en plein
Oh putain l'autre au lieu de travailler il est en train de faire de la Gameboy en plein
Oh putain l'autre au lieu de travailler il est en train de faire de la Gameboy en plein
Oh putain l'autre au lieu de travailler il est en train de faire de la Gameboy en plein
Oh putain l'autre au lieu de travailler il est en train de faire de la Gameboy en plein
Non mais il est cool
Non mais il est cool
Non mais il est cool
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Ouais il est cool Fildar
Bah apparemment comme il a pas l'air de vouloir travailler au standard c'est…
Bah il est cool
De Turpentine, est-ce que tu comptes tes pieds pour faire un poème ?
Laisse-le Gérard, il répond à la question.
Donc tu me disais ?
Est-ce que tu comptes tes pieds quand tu écris un poème ?
Non.
Non, pas du tout.
Et tu comptes tes verres ?
Non plus.
Non, il picole les verres.
Les verres du cul.
Les verres du cul, toi, tu la fermes un peu.
Donc string en fleur.
Oui, tu peux draguer, c'est clair, ça aide à draguer les poèmes.
Moi, je me souviens, l'autre fois, j'ai branché une nana, je lui ai récité un poème.
C'était un truc du genre, je ne sais pas, viens là cochonne, que je te ramone avec mon gros dard,
je vais t'éclater ta boîte à souchards.
Et direct, j'ai réussi à la serrer, direct.
Et tu as pu trouver quelqu'un comme ça ?
J'ai pu trouver plein, plein, plein, ça marche à chaque fois.
Ça marche à chaque fois, tu leur fais deux, trois rimes et c'est bon, pas mal.
Oui, mais je ne pense pas, mon ami.
Toi, tu as fait pareil, tu as bien conquis.
Des dizaines et des dizaines de femmes grâce à tes poèmes.
Non, je pense qu'à mon avis, là, tu te trompes, vraiment, vraiment, tu te trompes.
On reconnaît que tes poèmes ont quand même fait ta gloire.
Ah mais attends, mais ce que je lis à l'antenne, ça c'est différent.
Mais ça n'attire pas les femmes ?
Non.
La chaude, tu t'écrases un peu.
Mais tu m'as touché, moi.
Non, mais toi, tu as t'écrasé parce que tu m'énerves.
Tu t'as touché où, la chaude ?
Donc, on accueille, on accueille Santa Belgica, il nous appelle de Belgique.
Et voilà, il est cool, il a...
T'as quel âge, Santa Belgica ?
J'ai 23 ans.
Voilà.
Salut, Santa Belgica.
Salut, toi.
Salut, Belle.
Bonjour.
Donc, patinez du phare.
Putain !
C'est quoi, cette merde, là ?
Calmez-vous, les auditeurs, merde.
N'oubliez pas.
C'est bon, quoi.
Oh, putain !
Non, on se dépêche.
Gérard, vas-y, continue le débat, je vais essayer.
Allez, encule ton cul, toi, la salope.
Là, tu vas permettre ta gueule pour deux bons.
Mais c'est la chaude.
Hein, la chaude ?
C'est un conseil que je te donne avant que...
Allez, dégage !
Hop !
T'es pas très poli.
T'es pas très poli, Gérard.
T'es pas très poli, tu puisses.
Calmez-vous pour la chaude.
Il est monté sans moi.
Quel bordel, dans ce débat.
Donc, petit délire char.
Ouais.
Donc, c'est quoi, la question ?
Alors...
Peut-on séduire avec un poème ?
Peut-on utiliser un poème pour séduire ?
Manu, fais gaffe !
Tu te calmes, Manu, hein.
Bah, j'en sais rien, parce que...
Donc, un mec m'a séduite avec un poème.
Ah ! Ah !
Pour l'instant.
Ah ! Ah ! Ah !
Ah, mais je sais pas.
Ah ! Ah ! Ah !
Ah, bah, ils s'en foutent, là.
Ils sont déjà partis.
Attends, c'est quoi, ça, Gérard ?
Ça vient d'où, ça ?
Non, mais, Fildar, quand tu feras bien ton boulot...
Qu'est-ce qui se passe ?
Ouais, Fildar !
Bravo !
Merde !
Qu'est-ce que t'as fait ?
Non, non, non, non.
Non, non.
Non, non, non, non, non.
C'est quoi ?
Non, non, tu l'auras pas.
Mais c'est quoi ?
Je sais même pas ce que c'est.
J'aurais quoi ?
Tu l'auras pas, parce que tu vas le mettre là, MD ?
Ouais, ouais.
Ouais, c'est un petit truc...
MD, GG, insert.
Gérard ?
Avec Niette.
Gérard ?
C'est qui ?
C'est un remix, un exclusif que je voulais pas te dire,
parce que c'était une surprise.
C'est qui ?
C'est Verlaine.
Ouais, Verlaine.
Moi, je pense quand même qu'on peut, pour revenir un peu dans le débat,
je pense qu'on peut répondre à la question, quand même,
parce que t'as réussi à séduire la grosse Sandy avec tes poèmes.
Verlaine, tu restes poli, parce que la grosse Sandy, elle t'emmerde.
Oui, c'est vrai, pardon, mais c'est comme toi,
c'est parce que tu l'appelles comme ça, toi,
donc je pensais qu'on pouvait l'appeler comme ça, quoi.
Non, non, mais attends, moi, je lui dis ce que je veux.
C'est vrai, c'est vrai.
Enfin, voilà, quoi.
Bon, alors, dans ce cas-là, comme vous faites les cons,
eh ben, on arrête.
Oh, non !
Non, on n'arrête pas !
On arrête !
Non, j'ai dit pas ça, là.
Sur l'IRC, on a dépassé les 4 1882,4.
Je suis tranquille, on commence à arriver vers notre record,
alors j'aimerais bien que le débat se passe calmement.
Non, mais moi, dans ce cas-là, je voudrais bien que les gens,
je voudrais bien que Fildar fasse bien son boulot
avant qu'il se prenne des claques.
Allô ?
Gérard ?
Oui, allô, fun, bonsoir.
C'est qui ?
Oui, t'es au standard, tu veux parler de quoi ?
Mais qu'est-ce que c'est que ça, Phil ?
Tu veux parler au doc, oui, quitte pas.
Bon, Gérard...
Fildar !
Moi, j'attends que tu fasses ton débat,
moi, je peux rien faire sans toi.
Ouais, c'est bon, c'est bon.
Je peux rien faire sans toi, Gérard.
Non, non, mais...
Bon, Gérard, pour en revenir au débat,
il y a Turpentine qui te demande
si t'as séduit Sandy grâce à tes poèmes.
Ah, ça, c'est une bonne question.
Ça, c'est une question que tout le monde voudrait savoir.
Est-ce que ça attire les animaux ?
Comment ?
Est-ce que ça attire les animaux,
les poèmes ?
Est-ce que ça attire ta connerie ?
Ah, t'es drôle.
Gérard ?
On va demander à Petit Nénuphar.
Oui ?
Tu m'as pas écouté une fois de plus.
Bon, alors, vas-y, dis.
Non, c'est bon, j'ai répété, c'est bon.
Je peux aller passer à un autre ?
Donc, on va demander
à Pucelle de Nuit.
Allez, Pucelle du Sud.
Gérard, on me repose la question sur IRC.
On me redemande si Sandy...
Sandy, on ne me la redemande pas.
Non, attends, Manu, s'il te plaît,
c'est pas toi qui commandes, c'est Régo, toi.
Tu ne fais rien et tu te tais.
Elle va venir plus tard, la question.
Non, je la garde pour...
La grosse, ça t'emmerde, toi, connard !
Elle va venir plus tard, la grosse.
Tu peux répondre ?
On reprend le débat, là. T'as un nouvel auditeur, en plus.
Alors, on a Santa Belgica
et Potiron du Sexe.
Oui, salut, Coco.
Oh !
Salut, Potiron.
Salut, Potiron.
Allô, Coco ?
Potiron, tu réponds comme il faut !
Ouais, bonjour. Salut, ça va ?
Oh là là ! Putain !
C'est quoi, là, ces auditeurs que tu me prends, toi ?
Qu'est-ce que c'est que ça, là ?
Putain !
Attends, Gérard, j'ai rappelé un mec de Belgique parce que tu voulais des Belges dans le débat.
En plus, c'est quelqu'un de l'Internet
et tu ne l'as toujours pas fait participer.
C'est Santa Belgica. Il n'a toujours pas répondu à ta question.
C'est un Belge et il attend.
Oui, Gérard ?
Alors, toi,
toi, ça qui est plus sale du sud,
tu vas fermer ta gueule un peu.
Non, mais dis rien. Vas-y, réponds, Santa Belgica.
Alors, je voudrais savoir si...
En fait, je suis poète à mi-temps en Belgique.
Je voudrais savoir si Gérard connaît mes oeuvres.
Non !
Non, mais je peux lire un poème, peut-être ?
Non ! Oh, mais tant pis, quand même.
Une mélodie est née
le jour où nous nous sommes rencontrés.
Et cette mélodie...
Il a mis sa gueule à lui !
Elle sera toute notre vie.
Vas-y, gros.
Voilà, c'est fait.
C'est génial, quand même.
Deuxième débat, vous allez me foutre la mère d'encore !
Il était beau, son poème.
Gérard, tu pourrais faire correctement ton travail.
Mais c'est pas vrai, hein !
Gérard, il était beau, son poème.
Tu pourrais écouter.
Ça m'a pris trois ans pour faire ce poème.
Plus sale du sud.
Oui, Gérard.
Moi, on ne me séduit pas avec des poèmes.
Avec des billets,
avec des carottes râpées, des clés de douze,
des choses comme ça.
Hum.
Verlaine.
Oui, moi, je pense que je suis d'accord
avec plus sale du sud.
Non, mais tu es précise.
C'est-à-dire qu'on peut,
effectivement, ou on ne peut pas.
Maintenant, chacun a un peu pour soi.
Et pour un marque, tu fais quoi ?
Non, il n'y a pas de marque.
C'est-à-dire que, par exemple,
quelque chose comme Orangina ou Coca-Cola...
Bon, alors...
Verlaine, au revoir !
Pour en revenir à ma question de tout à l'heure,
donc, sur IRC, on te demandait
si Sandy avait été charmée par tes poèmes.
Tais-toi, la grosse débout, espèce de finiasse, là !
Tu ne vois pas que les autres s'habillent, là ?
Allez, débout !
T'es vraiment un bâtard, toi, là-bas !
Quoi ?
Dédicace ?
T'es vraiment...
T'es vraiment un fumier, là !
Tu nous le demandes à chaque fois !
Ouais, mais attends !
Tais-toi, la grosse débout, espèce de finiasse, là !
On va l'appeler.
Bon, ben, justement, on accueille Poupou le mystère.
Salut, Poupou !
Salut, le sanglier !
Salut, le sanglier !
Salut, le sanglier !
Tais-toi, la grosse débout, espèce de finiasse, là !
Tu ne vois pas que les autres s'habillent, là ?
Allez, débout !
Et ils sont bien avec nous !
C'est la fête !
C'est la fête !
C'est la fête !
C'est la fête !
C'est la fête !
C'est la fête !
Poupou le mystère !
C'est la fête !
C'est la fête !
Oui, c'est la fête !
C'est la fête !
C'est ça, la fête !
Bon, ça y est !
Ça y est, là, ça y est !
Bon, alors, Poupou le mystère !
Oui, bonjour, Gérard !
Bon, t'es là ?
Oui, oui, je suis là, t'inquiète pas !
T'es bonne ?
Bonsoir !
Bon, donc...
T'es bonne ?
Bonsoir, bonsoir !
Bon, Poupou, t'as bien vu que c'était pour toi ?
Oui, oui, j'ai bien vu, oui !
T'inquiète pas, j'ai bien écouté la musique !
Donc, alors, maintenant, comme tout le monde sur IRC me demande si je t'ai séduit avec mes poèmes,
donc, est-ce que tu peux répondre à la question IRC ?
En sachant que c'est Poulmystère !
Voilà, en sachant que c'est Poulmystère comme rigolo !
Il y a trop de mystère dans ce truc !
Non, non, mais vous la laissez répondre, d'accord, maintenant ?
Non, je pense qu'en effet, tu m'as séduit avec tes poèmes !
Oh, tu peux faire moins de bruit, s'il te plaît, joue, là !
Attends, toi !
Gérard, Gérard, arrête, le tape pas, le tape pas !
Ah, mais Gérard, si tu ne m'écoutes pas, c'est pas un problème !
Mais non, il ne t'écoute pas, là, il est en train de taper Fildar !
Il te fait parler, c'est un poème de quel siècle ?
Gérard, Gérard, vas-y !
Maîtrise quelque chose, là, au lieu de taper Fildar, reprends !
Je t'écoute !
Il y a Poupou le mystère qui te parlait, tu ne l'as même pas écouté, du coup !
Donc, alors, vas-y !
Moi, j'ai fait un poème sur le pont de l'Alma !
Non, ta gueule, à toi, sur le pont de l'Alma !
Non, mais ça, en plus, ça n'a rien à voir avec toi !
Oh, Mercedes !
Putain, putain, putain, putain !
Mais, balance, balance-moi un disque !
Mais non, j'ai pas un disque !
Toi, pilier du pont de l'Alma que j'aime tant !
Toi, haussier !
Au pont de l'Alma, non, je ne l'écoute pas !
Il est incroyable !
Alors, tu le prends, tu l'emmènes dans ton bureau, tu ne lui donnes plus !
Ah, d'accord !
Tu l'emmènes dans ton bureau, tu vas jouer avec !
Quand je m'éclate dans un pylône !
Bon, alors, attendez, attendez, attendez, attendez !
Oh ! Maintenant !
C'est combien, Game Boy ?
Oh oui, Sandy, je joue, oui !
Oh oui !
Alors, on va garder Poupou le mystère !
Oui, je suis là !
Donc, tu restes !
Potiron du sexe !
Toi, tu vas te calmer, ou sinon, tu vas dégager !
D'accord !
Puis celle du sud !
Oui !
On va te garder !
Attends, c'est moi qui décide !
Attends, c'est toi qui décide, c'est moi qui commande, d'accord ?
Oui, d'accord !
Ok !
Donc, Manu, tu me balances le disque !
Tout de suite ?
Oui, oui, oui !
Il est 2h18, vous allez réfléchir à la troisième question !
D'accord !
Quels sont, pour vous, les poèmes les plus beaux ?
Et on répondra, avec Poupou le mystère, à la question IRC,
tout à l'heure, qu'on nous demande, comment j'ai fait pour...
Non, mais ils s'en foutent, maintenant !
Ils m'ont dit que Manu, on s'en fout !
Non, ils ne veulent pas que tu répondes, ils vont s'en aller, si tu réponds, alors !
Non, non, mais on va leur répondre, avec Poupou le mystère, et on se retrouve...
On va perdre des gens, Gérard, on va perdre des gens !
Eh ben, dans ce cas-là, on va s'écouter, quoi ?
On va s'écouter, attends que je te dise pas de conneries !
Je me mets...
Quoi ?
Je me mets un doigt dans le cul, non ?
Non, c'est pas ça !
Bouge la grosse !
Non, non, non !
Je me mets un carton dans les fesses, parce que je ne me suis pas essuyé !
Mais quand est-ce qu'on va l'avoir en CD, Bouge la grosse ?
Ah ben ça, je sais pas, faudra voir si tes débats sont bien !
Ouais, mais faudrait qu'on l'aille en entier !
Donc, pour l'instant, c'est, je viens de te le dire, le titre...
C'est, ben...
C'est toi qui l'as...
J'ai un carton dans les fesses, quoi ?
Attends, il y a Max...
Avec Je me suis mal essuyé !
Avec Je me suis mal essuyé, et donc, vous réfléchissez à la question...
Je me suis mal essuyé !
Avec Je me suis mal essuyé, et donc, vous réfléchissez à la question...
Quels sont pour vous les plus beaux poèmes ?
Donc, vous pouvez toujours nous appeler au 0800 70 5000...
Et 0800 308 5000...
Oh, ta gueule !
Ta gueule, toi, tu es un peu ignorant !
Bon à rien, qu'est-ce qu'il fait, là ?
T'es tombé dans la poubelle ?
Pauvre tâche !
Pauvre tâche !
Tâche !
Tildar !
Allez !
Attends, parce qu'on ne l'avait pas mis en entier, le truc, elle est là, grosse !
Elle est où ?
Elle est au standard !
Ta gueule, elle est au standard, attends !
Merde, ma grosse, ok ?
Tu ne vas pas lui raccrocher au nez, comme tu as l'habitude de faire ?
Donc, on se met le carton dans l'arrêt, et puis, voilà !
On se retrouve tout de suite après !
Manu, annonce le disque, s'il te plaît !
J'ai un carton dans l'arrêt, avec Je me suis mal essuyé !
Ok !
Voilà, et vous pouvez nous appeler au 0800 70 5000...
0800 808 5000 !
Et toujours l'IRC !
Toujours l'IRC !
www.funradio !
Et donc, c'est Rigo qui vous répond !
Voilà, on est...
C'est les débats de Gérard, quand même !
C'est toujours les débats !
Le !
Gérard, ok !
Sur Funradio !
Sur Funradio !
Par rapport à l'IRC, vite fait, je voulais juste dire qu'on a dépassé les 4500 quand même,
ce qui est un record, même si ça ne fait pas encore 4900 !
On est 4623, et je voulais saluer quelques personnes, Spoutnik, Izen, Cédric,
Yankee, Ice-T, Chocobo, Cédric, et les autres, quoi !
Allez, faites-moi plaisir !
Faites-moi plaisir !
Aujourd'hui, on est...
On est le...
Combien ?
On est le 3 décembre ?
Ouais !
Non, le 4 décembre !
Allez, faites-moi plaisir !
Montez-moi l'IRC !
Faites-moi monter l'Internet !
Faites-moi monter l'Internet à 5000 personnes !
Allez, on récupère !
Allez, allez !
Spring en fleurs !
Oui, mais restez à toi, Gérard !
Ouais, salut !
Salut !
Pour le...
Pour le...
Match Talk...
Chose...
Mystère !
Allez, bouge la grosse, là !
T'inquiète pas, on a une surprise !
Salut, Rigaud !
Salut, Manu !
Et salut, Fildard !
Salut, machin mystère !
Ouais, salut à tous !
Et puis moi, je pue de la gueule !
Ouais !
Non, je viens de te dire salut, Gégé, donc t'as pas entendu !
Ouais !
Non, mais moi, j'ai mal entendu ce que tu m'as dit !
Bon, allez, c'est pas grave, on y va !
C'est pas grave !
Puis, celle du Sud, j'espère que tu t'es calmée !
Salut, Gérard !
Verlaine !
Oui, bonsoir, Gérard !
Tu t'es calmée ?
Oui !
Euh...
Potiron du sexe, j'espère que tu t'es calmée !
Oui !
Et Santa Belgica aussi !
Oh, j'étais pas énervé, moi !
Bon, alors...
Ouais, Gégé, toi, t'es calmée ?
Maintenant, on va continuer le débat !
Sérieusement !
Je suis pas calmée, je te le dis !
Bon, qui qui est pas calmée ?
C'est String Enfleur, tu m'as pas demandé si j'étais calmée !
Bon, tu t'es calmée ?
Ouais !
Bon, alors, maintenant, on y va !
Quels sont pour vous les plus beaux...
Quels sont pour vous...
Les poèmes les plus beaux ?
On va demander ça à Santa Belgica !
Eh bien, un des poèmes les plus beaux qui existe,
c'est Ecolalie de la mémoire,
arborescent au trédit bitoir.
Tu le connais ?
Comment ?
C'est Ecolalie de la mémoire, arborescent au trédit bitoir.
C'est un poème belge.
Euh, je connais pas.
C'est beau, en tout cas.
Enfin, euh...
Potiron du sexe !
Ouais, bah, moi, le poème qui m'a le plus touché,
c'était le grand classique de la charcuterie,
ça, c'est un truc, ça m'a touché,
parce que ça parle de la mormoine poêleuse,
et j'aime bien.
Tu aimes aussi, Gérard ?
Non.
Mais tu connais ?
Non, je connais pas.
Tu veux que je t'envoie ?
Non, euh...
Oui, tu peux l'envoyer au 143 menu Charles de Gaulle,
92 521,
noyé sur scène SEDEX.
Oh, quelle belle voix !
Donc, tu peux...
T'es vrai, Gérard ?
Non, mais vous pouvez toujours nous écrire,
et puis m'envoyer des petits poèmes.
On peut t'écrire directement à toi ?
Oui, bah, vous mettez à l'intention de Gérard,
et...
N'ayez crainte.
Je serais...
Fildar m'avait dit qu'on pouvait pas.
Ah bon, Fildar, depuis quand que...
Attends, mais maintenant, il va vous rater.
Depuis quand que les gens,
ils ont plus le droit de m'écrire ?
Ouais, c'est quoi ce bordel, là ?
Fildar m'avait dit qu'on pouvait plus.
Il a dit qu'il y avait pas de fan club au 143 menu Charles de Gaulle.
Tu réponds, tu réponds.
Non, je parle pas, je parle pas.
Tu réponds aux auditeurs !
Faut savoir ce que tu veux, là.
Tu dis que j'éteins mon micro,
donc je parle pas.
Attends, Gérard ?
Oui ?
Je t'ai envoyé des chocolats,
tu les as reçus ou pas ?
Non.
Moi, j'ai envoyé des bonbons.
Attends, mais on t'a envoyé des trucs,
comment ça se fait que tu les as reçus ?
J'avais mis l'attention de Fildar pour Gérard.
C'est Fildar qui les a gardés ?
Fildar ?
C'est où ?
Je comprends pas.
C'est chez moi ?
Avec des millionnaires.
Moi, je lui ai envoyé des photos intimes, mais bon...
Qui c'est qui a envoyé des millionnaires ?
Verlaine, j'avais envoyé pour Noël, déjà, les cadeaux,
l'attention de Fildar pour Gérard,
parce que Fildar m'avait dit qu'il fallait lui envoyer à lui.
Ah non, mais Fildar, tu t'en...
Mais Fildar m'a dit qu'il fallait tout lui envoyer à lui.
C'est pour ça que j'ai envoyé une télévision couleur.
Mais Fildar, c'est pour ça que t'as des nouvelles sapes ?
Ah, le salaud !
Max !
Je t'ai envoyé des coton-tits,
je t'ai envoyé des t-shirts Nike.
Je t'ai envoyé une pochette surprise millionnaire,
tu sais, avec 20 tickets de millionnaire dedans.
Attends, l'autre, il m'a envoyé des trucs...
Oh !
Ah, mais calme-toi, Gégé !
Je comprends pas.
Ouais, je t'avais envoyé des chocolats, hein.
Attends, et l'autre, il me pique mon courrier !
Et les chocolats ?
Très déçu.
Il y avait des bons tickets au kiwi.
Eh non, il pique ton courrier !
On en parlera après.
Eh ben, je t'en faisais Chantal Goya, il l'a eu.
Bon, alors, question Verlaine.
Quels sont les...
Je tenais quand même à vous remercier pour les millionnaires et tout ça, les mecs, c'est cool.
Non, mais c'est un bâtard, lui, c'est pas grave, on va régler ça après.
Pour en revenir à l'IRC, il y a Fiji Lido qui te demande
si t'as entendu parler de l'hypraconductivité des poèmes le soir quand il fait nuit.
Non.
Non, j'ai pas eu l'occasion d'en entendre parler, de ça.
Attends, je comprends pas, qu'est-ce que ça veut dire, ça, Gérard ?
Ben, justement, moi non plus.
L'hypraconductivité, tu vois ?
Non, je sais pas ce que c'est.
Moi, je t'expliquerai après, là.
Tu me l'expliqueras.
Donc, Verlaine ?
Oui, ben moi, bizarrement, c'est un poème à toi qui m'avait le plus marqué, mais il y a longtemps, quoi.
Ah, ben, dis, dis, dis !
Ben, je me souviens à peu près du texte, je sais pas si t'en souviendrais, c'était, bien sûr, je voudrais te dire je t'aime.
Ouais.
C'était dans un camion frigo, c'était sur un air de trompette, avec, sur un fendrier, je sais pas si tu te souviens.
Ah, bon, ben, c'est...
Sur un aigle.
Ouais, ouais, ouais, c'est la merde.
Ben, Gérard, c'est vrai que tu couches avec Big Bill ?
Qui, qui, qui, qui, qui demande ça ?
Ben, moi.
Euh, Pissache du Sud.
Oui.
Donc, toi ?
Ben, moi, ce sont les poèmes de Yaponov.
Ben, Gérard, c'est vrai que tu couches avec Big Bill ?
Oh, là, là.
Pissache du Sud.
Ouais, moi, c'est un poète russe dont les oeuvres ont été traduites en français, c'est très beau.
C'est très dépouillé, t'as un mot par page, mais c'est très bien pensé.
Ben, Gérard, c'est vrai que tu couches avec Big Bill ?
Euh, Poupou le mystère.
Oui, ben, écoute, moi, ce que je peux te dire, c'est que, pour moi, les poèmes les plus beaux, c'est Baudelaire.
Ouais.
C'est très, très beau.
Oh, non !
Et, euh, bien sûr, les dix.
Oh !
C'est exactement grâce à ça, grâce à tes poèmes, que je t'ai connue, quoi.
Que j'ai fait ta connaissance, et puis, voilà.
Ah, ben, voilà, elle répond à la question de l'Internet, Gérard.
Il me mentait dessus, c'est tout.
Ben, la question...
Non, mais il y en a une autre.
Ah, une autre ?
Parce que l'IPRA, il perd contre l'activité, apparemment, tu sais pas ce que c'est.
On te demande si c'est vrai que...
Alors, attends, si les poèmes du Figaro signés Gégé de Suren, est-ce que c'est les tiens, c'est Chocobo qui demande ça ?
Non, c'est le Figaro.
J'ai jamais mis de poèmes sur le Figaro, et j'irai jamais mettre des poèmes.
C'est quelqu'un d'autre, alors.
Non, mais, là-dedans, j'irai jamais mettre...
Ben, il faut payer, en plus.
Comment ?
Il faut payer.
Oui, il faut payer.
Et, Poupou le Mister, pour l'instant, je réponds, tu me laisses parler, s'il te plaît, merci.
Ok, y a pas de problème.
Avant que je t'assomme.
Alors, ça, sûrement pas, parce que t'as pas...
Bon, allez, c'est bon, c'est bon, laisse-le répondre, putain.
Eh, oh, tu la laisses parler, toi ?
Tu la laisses parler, toi ?
Comment ?
Eh, Gérard, t'as le juste prix de ton cul ?
Euh, string en fleur...
Euh, donc, euh...
Tu réponds ?
Pour répondre à la question IRC, donc, non...
Vite, vite, vite, vite, vite.
Donc, on va demander à...
Ben, string en fleur, maintenant.
Eh, Gérard, t'as le juste prix de ton cul ?
String en fleur.
Voilà, oui, déjà, je voulais dire que Moby Dick Mister, là,
elle a pas beaucoup de goût au niveau des poèmes.
Et, deuxièmement, les plus beaux poèmes,
ben, c'est ceux qu'on fait avec le cœur, hein,
ou ceux qu'on fait avec l'alcool.
Non, mais, de toute manière, en principe,
quand tu fais un poème, tu le fais du fond du cœur,
pour la personne que t'aimes.
Ouais, tu peux le faire du fond du cul, aussi.
Non.
String en fleur.
Ouais, mais je te disais, avec l'alcool, reconnais que
quand t'es un peu éméché, ça aide pour l'inspiration.
Euh, non, je vais te dire une chose que...
Non, non, non !
Les plus grands poètes, ils ont toujours consommé un maximum, quand même.
Eh, je vais te dire une chose que...
Ouais, il y a autre chose.
Ben, attends, il y en a un, là, pour l'instant...
J'ai rien fait !
Non, mais c'est lui, là.
Tu vois, Pildar, tu me laisses ton micro,
et c'est tout. D'accord ?
Euh, Rigo ?
Question IRC, avant que je réponde.
Alors, est-ce que c'est vrai que j'ai lu
dans le Surenois magazine que Gégé donne
des cours de poème ? C'est Turpentine qui te demande ça.
Non, je donne pas des cours
de poème, et...
C'est peut-être une idée, ça.
Non, mais même, je donnerai pas mes cours...
Je donnerai pas comment que je fais mes poèmes,
ni rien du tout.
De toute façon, t'as pas le temps, t'es pas bouqué.
Comme Coca-Cola, c'est top.
Est-ce que tu lui donnes des cours de comique involontaire ?
Oh !
On se calme, derrière, on laisse parler
la personne qui pose la question.
Oui, donc, c'est beaucoup plus clair.
Donc, ce que je voulais te dire, c'est que
si, moi, tu me donnes des cours par correspondance
pour faire des poèmes.
Alors, les cours par correspondance...
Et donc, ce que tu n'as pas dit ?
On n'entend rien à ce qu'elle dit.
Non, mais c'est normal, parce que Pildar, il parle
dessus. Donc, alors,
les cours par...
Les cours par correspondance... Manu, tu vas te taire,
s'il te plaît. Donc, les cours par correspondance...
Putain, ça commence à bien faire.
Je vais pouvoir répondre.
Quel bordel !
Oui, mais je pense que ça va être les deux débats
qui vont foirer.
Si les deux débats foirent, la semaine prochaine,
j'en ferai qu'un, ça sera les jeux vidéo.
Donc, alors, avis aux amateurs...
Pour les autres...
Gérard, pour revenir au débat,
bravo, déjà. Et il y a
Chocobo, encore, qui te demande où est-ce qu'on peut trouver
ton papier peint, les poèmes de Gégé,
avec tes poèmes d'écrit dessus.
Alors, là, dans ces cas-là,
le truc avec les poèmes de Gégé,
donc, dans ces cas-là, vous achetez le best-of
qu'on a fait avec Max...
Le papier peint ? Non, mais le papier peint,
ça n'existe pas. Si, lui, il l'a vu
chez des gens. Oui, ben, il l'a peut-être vu
chez des gens. Moi, j'ai vu du papier toilette à Saint-Ouen,
la dernière fois. Je te jure, c'est vrai. Ouais, ben, moi, j'en ai rien
à foutre. Donc, si vous voulez savoir
plus... On me dit qu'il y en a qui ont vu
des 4x3 sur des nationales, aussi.
Non, ben, ça, c'est des conneries.
À côté du Mans. Oui, c'est ça.
T'as raison, toi, pucelle du Sud.
Continue comme ça,
et tu m'intéresses. Vas-y, cochonne.
Alors, donc,
pour répondre
à la question
quels sont, pour vous, les poèmes
les plus beaux, donc, c'est sûr qu'il y a
Verlaine, il y a Baudelaire,
il y a... Même, je pense
qu'il y a plusieurs personnes
qu'on en fait. Bon, pour dire que...
Herbert Léonard ?
Non, Herbert Léonard, c'est un chanteur.
Voyons, voyons.
On ne confond pas les chanteurs.
C'est un peu des poètes, les chanteurs.
Non, non, non. Justement, Gérard, on avait récupéré
sur Internet un petit sondage
à la question quel est votre poète préféré.
Donc, il y avait 43%
des gens qui préfèrent Pythagore.
24% des gens
préfèrent Lili à poil.
Ah, très bien. Et 100% des gens
détestent le poète de Suren.
Ah, là, c'est clair.
Non, non, mais ça, c'est des trucs confidentiels.
Non, c'est ma pochette, ça, Gérard.
Du calme. Non, non, mais attends.
Déjà, il y a un truc
que j'ai retiré.
Parce que dessus, c'est marqué Lili.
Alors, il est hors de question, donc tu fais gaffe
à ce que tu vas lire.
T'as jamais lu ses poèmes ?
La tienne, toi, connard.
Alors, doit-on parler plus souvent de...
Doit-on parler le plus souvent de quoi ?
Je n'ai pas répondu à ta question.
C'est qui ?
Je t'écoute.
Les poètes que j'admire beaucoup,
il y a par exemple un poète belge
qui est très connu, c'est Hergé,
qui a écrit les poèmes de Tintin et Mille.
Donc, il y a Rigaud
qui a une question IRC, non ?
Non, la question, c'est pourquoi mon micro
il ne s'éteint plus ?
Ben si, il s'éteint.
Alors, ça y est, Rigaud.
Ça y est, ça y est, ça y est.
On se calme, hein.
On va essayer de continuer le...
Doit-on parler plus souvent de...
Attends.
Doit-on...
Attends, attends.
Calme-toi, Gérard.
On reprend un peu de sa petite...
Doit-on parler plus souvent...
On va parler plus souvent des poèmes à la télé.
On va demander ça à Stringanfleur.
C'est quoi cette obsession du doit-on, là ?
Qu'est-ce que ça peut te foutre ?
Si tu ne veux pas répondre, tu le dis.
On prend quelqu'un d'autre à ta place
parce qu'il y a 24 lignes qui sonnent.
Gérard, toi, perso,
rapport au doit-on, tu mets un doigt ou deux doigts ?
Voilà, exactement.
Et toi, est-ce qu'on te demande
si tu mets deux doigts ou un doigt ?
Mais non, mais moi, je te le demande.
Gérard, pour revenir au débat,
Gérard, pour revenir au débat,
il y a Formos qui me dit que...
pour les débats à la télé,
il ne devrait plus s'en parler dans le Big Wheel.
Ouais, mais ça, c'est pas évident.
Donc, Stringanfleur ?
Tu peux me refaire la question, là,
parce que je suis largué.
Alors, doit-on parler plus souvent des poèmes à la télé ?
À la télé, non.
Je pense que, franchement,
les poèmes, ça reste dans le milieu de la radio.
Je pense qu'il y a quand même déjà suffisamment de gens
qui souffrent avec tes poèmes.
Donc, il ne faut pas trop que ça se diffuse à la télé
parce que sinon, tu pourrais quand même
contaminer pas mal de monde.
Non, mais attends, Stringanfleur,
dans ces cas-là,
moi, les poèmes que je fais,
c'est pour tout le monde.
C'est pour tous les auditeurs et les auditrices.
Je sais, c'est là qu'il y a le danger, justement.
C'est qu'il peut toucher tout le monde, ton poème.
Non, mais ça, de toute manière,
ça a touché déjà...
Bon, on va...
Non, non, mais attends...
Oui, Sylvain, tu parles de tes conneries, là ?
Allez, c'est tranquille.
C'est un peu le mystère, là.
C'est un peu le mystère, là.
Non, parce que tu me remets à l'antenne
et après, tu me remets à le standard, là.
Ça va pas du tout, hein ?
C'est vrai que t'es pas bon, ta fille d'art.
Il fait ça à tout le monde, hein ?
Ah, la menteuse.
Ah, non, non, je suis pas une menteuse.
Je dis toujours la vérité, hein.
Alors, Poupou le mystère.
Oui ?
Attends, attends.
Oui, Rigo ?
Alors...
On te demande si t'es bourré quand tu fais tes poèmes.
Non.
Bah non, je l'ai dit tout à l'heure.
J'en ai parlé tout à l'heure.
Gégé, c'est qui, ta muse ?
C'est Sandy, ta muse, ou pas ?
Non, Gégé, c'est Mumus tout seul.
Ah, est-ce que Sandy, c'est ta muse ?
C'est ton égérie ?
Est-ce que c'est là que tu trouves ton expiration, par exemple ?
C'est qui qui parle, là ?
C'est String en fleurs.
Bon, alors, String en fleurs, pour l'instant, tu viens de répondre, tu laisses parler, les gens.
Donc, Poupou le mystère.
Poupou le mystère.
Eh oui !
Elle est là !
Gérard, elle est là !
Elle est là, elle est là !
Elle est là, elle est là !
Elle est là, elle est là !
Elle est là, elle est là !
Elle est là, elle est là !
Elle est là, elle est là !
Elle est là, elle est là !
Vous m'entendez, là ?
Elle est là, elle est là !
Elle est là, c'est bon, Gérard, reviens !
Bon, alors, Gérard, c'est absenté du studio, je ne sais pas pourquoi.
C'est pareil, il est parti dans le...
Je sais, je vais te répondre !
Attends, c'est pas la peine, Poupou le mystère, il est parti.
Il va revenir, là.
Poupou le mystère, t'as pas un poème pour Gérard, pour le faire revenir ?
Bah, écoute, je vais essayer de trouver dans mes affaires, et puis je vais le lire par...
Allez, charge bien.
Gérard, Poupou le mystère, elle veut te lire un poème.
Et si, pas bien, il va te lire un poème.
Tiens, je t'en prie.
Non, mais là, il n'arrête pas de...
Les gens sont en art, comme ça, ça va pas.
Allô ?
Là, moi, c'est terminé.
Qu'est-ce qu'il s'est passé ?
J'en comprends rien, là.
C'est Caliméron le mystère.
Allô ?
T'es là, Poupou le mystère, Poupou le mystère, t'es là.
Oui, t'es là, sans doute.
Vas-y, balance.
Allô, l'autruche ?
Bah, il m'écoute, j'ai le jeu, ou pas ?
J'écoute !
Donc, c'était quoi, déjà, la question ?
Alors, doit-on...
Non, mais attends, ça va lâcher encore pas le dégât.
Mais non, il y a une basse cour derrière.
Elle suit pas, Gérard.
Non, mais moi, c'est simple, il est 2h40, je pense que je vais arrêter.
Ça va aller plus vite, hein.
Que certains auditeurs se calment de temps en temps, que ça fasse pas masse et que tout le monde s'y mette, quoi.
Alors, Poupou le mystère, tu veux répondre ?
Donc, c'est, doit-on parler plus souvent des poèmes, je sais pas quoi, là ?
Ouais, à la télé.
Ouais, bah, je pense qu'on devrait, sans doute, consacrer des reportages à propos des poèmes.
Des poèmes.
Et essayer de parler de ça, parce que c'est vrai qu'on n'en parle pas assez à la télé.
Et donc, voilà.
Moi, je pense qu'on devrait faire des reportages, quoi.
D'accord.
Régo ?
Oui ?
Attends, excuse-moi, Poupou le mystère, il y a une question hier, c'est ?
Oui, on te demande combien de poèmes tu as écrits dans ta vie ?
Alors...
C'est toujours le même.
Donc, les poèmes que j'ai écrits dans ma vie, donc, à l'heure actuelle, il y en a plus de 200.
Oh, quand même.
Alors...
200 quoi ?
200 feuilles ?
Non, non, mais attends, toi, t'éteins ton micro, parce que c'est moi qui ai la feuille, maintenant.
Bah, je te pose une question, Gérard.
Ouais, non, mais moi, c'est 200 poèmes que j'ai sur des feuilles.
Alors, à la question, quel est votre poète ?
Après, vous allez... Puis, celle du Sud ?
Oui.
Verlaine ?
Ouais.
Potiron du sexe ?
Oui.
Et Santa Belgica, donc, n'ayez crainte, je vois...
Vous allez répondre à...
Je vais répondre à la question, je vais quand même lire un petit sondage, là, que j'ai sur les yeux.
Il y en a un, par contre.
Celui-là, il va être vite lu.
Alors...
Ok, à quel poète aimeriez-vous ressembler ?
Merde.
C'est Gérard.
Celui-là...
C'est à la question, quel est votre poète préféré ?
Tarié ?
Non, mais ça, j'ai déjà lu.
On l'a déjà lu, celui-là.
Non, non, non, non, il a lu la haute.
Non, il a lu celui-là, tu t'es énervé à cause de ça, tu ne te rappelles même plus pourquoi tu...
Alors, à la question...
Que verriez-vous comme thème de poésie ?
Donc, 20% des gens sont aveugles et n'en font que d'écouter.
25% des gens verraient mieux avec des lunettes.
37% des gens ne voient pas le rapport.
Et 43% des gens n'aiment pas la question.
Donc, des trucs comme ça, moi, ce n'est même plus la peine qu'on fasse des débats.
Ça ne sert à rien d'essayer de jouer au con comme ça, à fil d'art.
Allez bien, tu vois, tu pourrais répéter la dernière question.
Pucelle du Sud.
Oui.
Donc, pour toi.
C'était quoi déjà ? Parce qu'on a beaucoup parlé, là.
Alors, doit-on parler plus souvent des poèmes à la télé ?
Non, non, je pense que c'est bien.
C'est bien que les gens ignorent que les poèmes existent.
Comme ça, ils ne vont pas évoluer culturellement.
Et puis, ça ne fera pas des intellectuels.
Verlaine ?
Oui, je pense qu'on amènerait une transaction translative si on parlait plus des poèmes à la télévision.
Ce qui permettrait de...
De plus voir en quoi est constitué le poème.
Et ça revaloriserait l'ensemble du monde de la poésie.
Ouais.
Potiron du sexe.
Il est parti, il est parti, il est parti.
Ah, il est parti.
Alors, Santa Belgica.
Ben oui, écoute, Gérard, puisque je représente le public belge,
il faut savoir qu'à la télévision belge, il y a énormément d'émissions de poésie.
Ça passe toute la journée avec des musiques de violon.
C'est un petit peu chiant.
D'accord.
Merci, Fildor, de le couper quand...
Ah, il est là, il est là.
C'est tout ce que tu avais à me dire ?
Santa Belgica.
Oui.
J'ai juste dit que c'était un petit peu chiant, et c'est tout.
Ah, d'accord.
Là, je ne comprends pas, parce que les trois quarts du temps, ça saute.
Je me demande ce qui se passe.
Pourquoi ? Les poèmes sautent.
Non, non, non, mais la ligne saute.
Ah, ce sont des poèmes en octosyllabes, alors.
C'est quoi ce bordel, là ?
Je ne sais pas.
Tu as bien vu, je ne touche à rien.
Si tu veux que je te dise...
Oui, je ne sais pas d'où ça vient, moi.
Putain, mais Léo !
Vous savez, ça veut dire quoi, là, ce bordel ?
Je ne sais pas.
Putain, mais ce n'est pas possible.
Depuis quelle date existent les poèmes ?
On va demander à Stringham Pleur.
Gérard, Gérard, Gérard !
Tu as ta gueule !
Va te faire enculer, connard !
Oh là là, ça dégénère.
Ouais, Gérard ?
Stringham Pleur.
Ouais, bah écoute, les poèmes, je pense que ça remonte à l'aube des temps.
Tu peux préciser ?
Bah, je ne sais pas, l'Antiquité, la Renaissance...
Le Moyen-Âge, la Grèce antique, tout ça.
Tout ça, il y avait déjà les plus grands poètes à cette époque-là.
D'accord.
On n'a pas entendu que tu arrives, heureusement, d'ailleurs, pour avoir des grands poètes, quand même.
Non, mais attends, moi, je les ai fait sur l'antenne de Paine Radio depuis 93.
Non, mais je sais, mais heureusement qu'on n'a pas attendu
et qu'il y avait des Platons et des Dioscures et tout ça avant toi, parce que...
Voilà, quoi.
Attends, Marc.
Si ça ne te plaît pas, ce que je fais comme poème...
Non, mais attends, écoute-moi...
Écoute-moi, si ça ne te plaît pas, dans ce cas-là, tu changes de radio, c'est tout, ça va plus vite.
Mais si, Gérard, je te dis que tu es le digne représentant de la lignée des pédagogues,
c'est plutôt un compliment, je veux dire, arrête.
Bon, Poupou le mystère.
Bah, écoute, moi, ce que je peux te dire, c'est que les poèmes existent déjà depuis Jésus-Christ.
Ah, bah, depuis 1900, hein, OK ?
Non, même avant 1900.
Ah, bon ?
Parce que Jésus-Christ, il est né avant 1900.
Ouais.
Donc, c'est un cas...
Mais moi, je suis bien né avant Jésus-Christ.
Ouais, mais toi, tu n'es pas Jésus-Christ.
Non, mais je suis qui ?
Je m'excuse, mais en fait, ça existe depuis que Jésus est écrit.
Oh, on se tait derrière, on la laisse parler.
Donc, tu disais, toi ?
Ouais, donc, je pense que les poèmes ont été créés à l'époque de Jésus-Christ.
Et alors, moi, je suis bien né avant Jésus-Christ.
Non, t'es né après...
Tu ne comprends pas ce que je veux te dire, mais...
Non, non, mais de toute manière, je ne comprends pas le français.
Ah, bah, si ce n'est pas qui le dit, alors, tu le reconnais, eh ben...
Puis, celle du Sud.
Ouais.
Bah, les poèmes, ça date depuis que les gens écrivent.
Hum.
On a commencé par ça, en fait.
D'accord.
On a commencé par l'écriture cunéiforme, et ils ont fait des poèmes, tout de suite,
pour séduire leur belle pour les sodomiser.
Ouais, bah, de toute manière, on n'a pas besoin de séduire sa belle pour la sodomiser,
comme tu dis si bien.
Mais, à l'époque, si.
Ouais, bah, peut-être.
Mais, je ne pense pas, à mon avis.
Euh, Verlaine ?
Oui, bah, moi, je pense que les poèmes existent depuis très, très longtemps, quand même.
Je ne sais pas exactement depuis quand.
Par contre, je suis sûr que la poésie, elle est apparue il y a trois ou quatre ans avec toi.
D'une camille téléphonique assurée, la vraie poésie, la pure.
Bah, disons, ça m'est venu comme ça, d'en faire.
Et puis, maintenant, ça ne m'empêche pas de continuer de les faire.
Non, c'est sûr.
C'est sûr que...
Attends, Verlaine.
C'est sûr qu'au début, tout le monde me disait, bon, bah, que j'en repasse.
Bon, c'est...
Tout le monde, même Max, m'a demandé à ce que j'en repasse.
Oui, vas-y, continue, je t'écoute.
Donc, bah, là, il y en a...
Il y en a quatre pour ce soir, donc on ne va pas faire les temps sereins, non ?
Je le sais bien.
Et d'ailleurs, Gérard, si tu pouvais me permettre, moi, j'en ai fait un petit.
J'aimerais bien que tu l'écoutes à la fin, à la fin, avec les tiens, pour me dire ce que tu en penses plus tard.
Non, mais de toute manière, tu vas lire le tien, toi, en premier.
D'accord.
Et moi, je lirai les quatre miens.
Maintenant, bon, bah, écoute, je vais te le lire maintenant.
Bah, vas-y, vas-y, fais-en un tout de suite.
Les gens de l'IRC, ils ne veulent pas t'entendre.
Ah, c'est comme ça ?
Enfin !
Ah, putain !
Mais, je...
Arrête !
Gérard !
Carrel !
On l'enlève, là !
Ah, il copie, là !
Arrête de taper !
Arrête de taper avec le téléphone !
Ah, bah, voilà, tu l'as trouvé !
Ah, bah, voilà, tu l'as trouvé !
Alors, il est où ?
Eh, tu viens chez moi après, Gérard !
C'est vachement bien !
Bon, Gérard, tu fais quoi, là, oh ?
Alors ?
Eh, tu l'as coupé !
Putain, t'es vraiment un bâtard, toi !
Ah, mais c'est vraiment très beau, tes poèmes, hein !
Eh, tu viens chez moi après, Gérard !
Ta gueule, toi, va te faire foutre !
Donc, de toute manière, on ne va pas continuer, on va s'arrêter.
Eh, tu viens chez moi après, Gérard !
Va te faire foutre, toi !
Vas-y, enchaîne, enchaîne, Gérard !
Non, non, mais, de toute manière, on arrête, là !
Oh, non, non, non !
On continue, on continue, là !
Je n'ai pas attendu tout ce temps pour rire !
Gérard, tu me le gères !
Allez, je te fais une petite surprise, pour les dix dernières minutes,
j'accueille Couscous à la place de Poitiron du Sexe.
Bonsoir, Gérard !
Bonsoir, à tous !
Salut, Couscous !
Bonsoir !
Bon, alors, Couscous, depuis quelle date existent les poèmes ?
Ah, moi, je pense que ça existe depuis que les poétons existaient, disons,
dans les années 1900.
Ah, ben, 1900, c'est la date que j'ai lue.
Hum ?
Après Jésus-Christ.
Bon, Verlaine, tu fermes ta gueule !
Ah, c'est pas Verlaine, là, hein ?
Eh, s'il crie, c'est à cause des clous, hein !
Ah, c'est bon, Gérard, rentre chez toi !
Allô, c'est Couscous, là !
Ouais, Couscous !
Qu'est-ce qu'il y a ? Qu'est-ce qu'il se passe ?
Allô, c'est Merguez !
Putain, Fuldar...
Gérard, pour revenir au débat sur l'IRC,
il y a D-Light qui te demande si, comme lui,
tu es fan du poète grec Sergei Boubka.
Je connais pas.
Pourtant, il a écrit de super trucs !
Il est génial !
Il est grand, il a un grand grand stylo !
Donc, il est 2h48,
2h49,
ça y est ?
Oh oui, oh oui, oh oui !
Allô, qu'est-ce qu'il se passe ?
Allô, c'est quoi ce bordel ?
Allô ?
Oui, allô, Fede, bonsoir, t'es au standard ?
Ouais, bonsoir, c'est Couscous, ça va pas ?
Bon, Gérard, pour continuer le débat, vu qu'apparemment, tu veux pas continuer,
moi, j'ai des questions à te poser.
Il y a Izen sur l'IRC qui te demande
lequel de tes poèmes aimes-tu le plus
? Ah, c'est une bonne question, ça.
Non, ça, justement, je l'ai pas là, et j'en ai fait
quatre nouveaux pour éviter
de changer.
Donc,
je vais en faire un,
et puis après, je pense qu'on va se mettre...
Non, on se met un disque...
Non, on se met pas de disque, Gérard.
On fera la conclusion...
On finit dans dix minutes, donc...
On fera une conclusion,
donc...
Donc, alors...
T'as pas répondu, Gérard, en fait, c'est lequel de tes poèmes que t'aimes le plus
? Le mieux que j'aime,
c'est... Je voudrais
te dire « I love you », mais tu
écoutes ton « What man ». C'est celui-là
qui me touche le plus,
et que tout le monde a apprécié.
Je sais, si je peux me permettre, Gérard,
j'étais pas encore ici, mais je t'écoutais
déjà, et il y en avait un où...
Je me souviens d'une phrase, en fait, mais ça faisait
« J'aimerais te tenir la main sur le dos d'une vache ».
Non. Et je pense que dans ce poème-là,
il m'avait captivé.
Non, je vais te dire une chose que là, tu vois...
Non, je décroche, je m'en souviens.
Non, mais attends, Manu, là, j'ai jamais été lire
ce que tu viens d'annoncer,
tu peux redire la phrase ?
« J'aimerais te tenir la main sur le dos d'une vache ».
Non. Ah si ? Non. Témoin.
Non, non, non, non, non. Alors là,
je peux te dire une chose que j'ai jamais
été lire ça à l'antenne. Bon, c'est pas grave.
C'était dans un poème. C'est pas grave, c'est pas grave.
Non, mais attends, il y a un nouvel auditeur
à la place de Verlaine que t'as viré, on a son copain Rambo.
Non, mais c'est pas la peine, Manu, c'est
de l'occlusion. Salut Rambo.
Donc, alors, on va...
Allô, on m'entend ?
Salut Rambo. Allô ?
Ouais, c'est Rambo, là.
T'es bonne, Gérard.
Elle mesure 1 mètre pour 400 kilos.
C'est le Sandy !
Eh, Sandy, attends, merde !
Ok ?
Sandy !
Voilà, alors...
Allô ?
Bon, ça y est, pour l'instant,
je veux lire les poèmes. Manu, tu mets
le double son, s'il te plaît.
On m'entend bien, là, je suis au Vietnam, là.
J'entends, j'entends. Gérard, on a Rambo au Vietnam,
donc tu peux... Bah, j'en ai rien à poutre.
C'est un grand poème, Rambo.
On peut me perdre parce que je suis sur une valise satellite, hein.
Putain, mais il va fermer sa gueule, lui.
Merci.
Alors, ça s'intitule
Mon bébé. On le fait tout de suite ?
Oui, on les paie maintenant.
Bon, bah, on y va, on y va.
On devrait plutôt peut-être faire la conclusion,
ensuite tes poèmes. Non. Je pense que
c'est mieux, quoi. Non, je paie. Non, mais vraiment.
Non, mais c'est pas toi qui commandes, c'est moi.
Non, mais comme ça, il fait les poèmes avec les auditeurs,
comme ça, c'est cool. Non, mais c'est pas...
C'était juste une suggestion, quoi.
Non, mais de toute manière, on va faire...
De toute façon, Max, il vient de me dire,
Max, on fait la conclusion et après, on fait les poèmes.
Voilà, tu vois, c'est pour ça que je te dis ça.
Sinon, je te le dirai pas, on est venus me le dire.
On est venus me le dire.
Tu m'éteins ton micro et tu te la fermes.
Fais la conclusion ! Non. Conclusion, d'abord, si, si, si.
Mon bébé, fais-moi l'amour. Non, sérieux.
Putain, mais c'est moi qui commande
le jeudi, d'accord ?
Bah, tu verras avec Max après, hein.
C'est toi qui vois, hein.
Mais bon, conclusion d'abord, quoi.
Non.
Bon, s'éclate-moi les fesses.
Non, mais quand vous aurez
fini de commander...
C'est pas nous.
Bon, Rigaud, tu peux me donner
le nom de combien de personnes ?
On a perdu, là.
Si tu fais pas ta conclusion tout de suite, ils s'en vont, les gens.
On a perdu 1200 personnes, là.
Oh !
Non, non, non, non, ça, j'y crois
pas trop, non plus, là-dedans. Bah, tu verras.
Bon, donc,
mon bébé.
Mon bébé, fais-moi l'amour dans un camion.
Manu, tu fermes ta gueule !
Non, mais, bah, je sais pas
ce que t'en penses, Phil, mais moi, je pense que la conclusion,
elle serait la bienvenue. Bon, alors, vous me faites chier,
il y aura pas de poème ce soir, c'est tout.
On fait conclusion et voir.
Ok, poème d'abord, ok. Non, non, non, non, conclusion.
Conclusion, on va demander à Serignan-Fleur,
comme ça, ça va aller plus vite.
Mais non, mais attends !
C'est qui qui commande le jeudi ? C'est moi ?
Non, c'est moi.
C'est toi qui ferme ta gueule ! T'as compris ?
Tu fermes ta gueule !
Tu fermes ta gueule !
T'es bon, Gérard. Ok ?
Là !
Maintenant, c'est moi qui commande. Alors, conclusion,
il y aura pas de poème. Bah, moi, pourquoi il y a pas de poème ?
Bah, ça, c'est pas à eux de commander,
c'est à moi. Pourquoi il y aurait pas de poème ?
Donc, moi, je fais les poèmes et je fais les conclusions
derrière. Bah, tu crois pas que ça serait peut-être plus intelligent
de faire la con ? Non. Non, parce que t'as tous les auditeurs
qui vont t'alentir, ils vont pas arrêter de t'emmerder. Et après, tu vas
gueuler. Tu fais ta conclusion, tu fais vite
une torchade en 10 secondes et tu prends
5 minutes de ton temps, entre vos 55
et l'heure, pour faire tes 4 poèmes tranquilles.
Alors, string en pleurs. Ah, c'est quand même inadmissible,
ça. Ta gueule à toi !
On te l'a vu. Ta gueule !
Ouais, GG.
String en pleurs, conclusion. Oui, tu m'entends, là ?
Oui. Ok, donc, bah, je voulais
te dire en conclusion que quand je suis
dans ma Mercedes et que je suis
à fond la caisse, je m'éclate
sur un pylône et que je me fracasse
la colonne.
Quand il y a du verglas, non, je ne déraperai pas
sous le pont de l'Allemagne.
Voilà, c'était pour toi, Gérard.
Gérard, pourquoi tu vas taper
Fildar tout le temps ? Il était beau, son poème.
Allez, à suivre. Poupou le mystère.
Poupou le mystère. Moi, ce que j'ai à dire à GG,
c'est que, là, franchement, je suis vachement dégoûtée
parce que, là, les débats se passent
très mal. On lui pose des questions,
il répond pas correctement
en question. C'est vrai. Et, là,
je comprends pas, là.
Pour moi, c'était nul.
Merci, au revoir.
Après, c'est...
Attends, merci, au revoir.
Attends, c'est toi qui commande depuis quand ?
Pourquoi tu coupes saucisson à l'ail ?
Poupou le mystère.
Poussel du Sud.
Poupou le mystère.
Ouais, non, mais je suis là.
Tu restes là parce que tu me diras
ce que tu penses des quatre poèmes.
Non, mais dépêche-toi parce que j'ai une grosse envie d'aller aux toilettes.
C'est que ça contient...
Allez, Poussel du Sud.
Bon, Poussel du Sud.
Moi, je voudrais te faire une conclusion en faisant un poème.
Gérard est optimiste
rien ne lui résiste
car il a des kystes.
Ok, merci.
Verlaine ?
Non, c'est Rambo.
Rambo ?
Allô ?
Allô ?
Rambo, ouais.
Ouais.
Vous m'entendez, là ?
Ah, tu fais ta conclusion !
Gérard, il est au Vietnam.
Attends, il y a un décalage.
Non, je suis au Cambodge, j'ai changé.
Ah.
Ouais, bientôt, tu seras à Paris.
Eh, il va vite, ton hélico.
Je voulais juste dire
qu'au niveau des poèmes,
bon, je te laisse parce qu'il y a des Khmer rouges.
Il dégage.
Hop.
Santa Belgica.
Oui, Gérard, un instant,
parce que j'étais en pleine création.
Alors, eh bien, c'est très simple.
Moi, mon père spirituel,
c'est un certain J.Suren,
qui est un auteur contemporain,
plutôt temporain, d'ailleurs.
Et je trouve qu'il était nécessaire
de présenter, avec le maximum de rigueur,
ce trésor de mots français
qui est classé selon l'homophonie des syllabtoniques.
D'accord, d'accord.
OK, on a compris.
Hop.
Euh, couscous ?
Ouais, Gérard, il n'y a pas de problème.
Mais le débat, il était pas mal.
Sauf que ça gueule un petit peu trop,
mais il n'y a pas de problème.
Quand tu veux, tu viens à la maison.
OK, j'y pense.
Toi, Manu, je vais t'éclater.
Qu'est-ce que j'ai fait ?
Toi aussi, je pense que tu vas perdre comme Filda.
J'ai rien fait ?
Je pense que...
Tout à l'heure, on va discuter.
Hein ?
Rigo, combien sur l'Internet ?
On a perdu un peu.
On est quand même à 3000 et quelques.
Je demande vite fait.
3000 combien, les gars ?
3125.
C'est pas mal.
On est à 4500.
Bah ouais, mais je t'ai dit,
si tu faisais pas ta conclusion tout de suite,
ils partaient, les gens, ils sont partis.
Non, mais il y en a...
Bon, euh...
Regarde, ben regarde, regarde.
Tu vois où, un son, là ?
Là, tu commences à m'énerver.
Ça ?
Vas-y, écoute.
Attends, me prends pas pour un con.
Ouais, c'est pareil.
Ça, c'est Olivier.
Voilà, donc c'est pas moi.
Bon, ben, y aura pas de poème.
Y a pas de double son, là !
Non, non, attends, faut pas déconner.
Il te reste 3 minutes, dépêche-toi.
Y a rien, là.
Allez, allez, allez.
Poupou le mystère, elle est toujours là ?
Ouais.
Non, mais toi, t'es...
Non, mais elle est là !
Je suis là.
T'es là, Poupou le mystère ?
Ouais.
Poupou le mystère, t'es là ?
Poupou le mystère !
Oui, je suis là.
Non, c'est pas toi.
Mais si !
Non, c'est pas elle.
J'ai envie de faire pipi.
Attends, c'est un trap.
T'as un trap, ça, attends.
Me fais pas chier, toi.
Pêche-toi, j'ai envie de faire pipi.
Voilà, bravo.
Bon, Gérard, y a quand même sur IRC une conclusion de paradoxe.
Il dit que...
T'as cassé, regarde !
Oh, il a pété le standard.
Bon, je vais refaire ma conclusion de IRC, de paradoxe.
Conclusion, les poèmes de Gégé sont aussi nasses que les surprises Kinder,
que le dernier top album d'André Verschuren,
et que les Feux de l'Amour, et que Témoin numéro 1, et que Skyro très unis.
Alors là, André Verschuren, c'est pas moi.
Bon, Manu, ça suffit, s'il te plaît !
Ça suffit, maintenant !
Vous faites que du boulot de naze, là !
On fout, maintenant !
Pour les émissions de demain, comment je vais faire, moi, à cause de toi ?
Bah, attends, tu t'en prends après lui ?
Non, non, c'est toi qui a cassé le truc en baissant le truc, en cassant.
Bah, vas-y, maintenant, Gérard, vas-y.
Donc, si elle écoute Poupou le Mister, c'est pour elle, les quatre qui sont dédiés.
Donc, mon bébé.
Mon bébé, fais-moi l'amour dans un camion.
Mon bébé, fais-moi l'amour sur une voiture.
Mon bébé, fais-moi l'amour dans une niche.
Celui qui s'amuse avec les micros va fermer sa gueule et vite.
D'accord ?
Mon bébé, fais-moi l'amour sur un Magnum.
Mon bébé, fais-moi l'amour sur mon Godot.
Godzilla.
Mon bébé, fais-moi l'amour sur un Saint-Pangé.
Mon bébé, fais-moi l'amour sur une toupie.
Mon bébé, fais-moi l'amour quand tu as tes règles.
Mon bébé, fais-moi l'amour sur un Bambi.
Mon bébé, fais-moi l'amour sur une girafe.
Voilà, le premier.
Le deuxième.
Bravo.
Le deuxième, aimer.
Alors, je voudrais dire je t'aime sur une carte orange.
Je voudrais te dire je t'aime sur un trèfle.
Je voudrais te dire...
Je t'aime sur un compresseur.
Je voudrais te dire je t'aime quand ça ne va pas.
Je voudrais te dire je t'aime sur un livre.
Je voudrais te dire je t'aime sur un cheval.
Je voudrais te dire je t'aime sur une cornemuse.
Je voudrais te dire je t'aime sur un dalmatien.
Je voudrais te dire je t'aime sur un concombre.
Je voudrais te dire je t'aime sur un corbeau.
Troisième, amour.
Mon amour, je voudrais te faire des caresses sur une chouette.
Mon amour, je voudrais te faire des caresses sur une cigale.
Mon amour, je voudrais te faire des caresses sur un cormorant.
Mon amour, je voudrais te faire des caresses sur un nuage.
Gérard, excuse-moi, c'est quoi un cormorant ?
Ta gueule.
C'est quoi un nuage ?
Va te faire foutre, toi.
Mon amour, je voudrais te dire je t'aime.
Je voudrais te faire des caresses sur une...
Cigogne.
Mon amour, je voudrais te faire des caresses dans l'espace.
Mon amour, je voudrais te faire des caresses sur un chevreuil.
Mon amour, je voudrais te faire des caresses sur une chicorée.
Mon amour, je voudrais te faire des caresses sur un chouca.
Mon amour, je voudrais te faire des caresses sur un chromosome.
Le dernier.
Il s'intitule poulette.
Ma poulette, donne-moi ton amour sur un mini-tel.
Ma poulette, donne-moi ton cœur sur une platine.
Ça, je pense, en parlant de platine, c'est...
C'est au DJ.
Au DJ.
Il faut dire quand même.
Donc, ma poulette, donne-moi ton cœur sur un briquet.
Ma poulette, donne-moi ton cœur sur une carotte.
Sur une carotte.
Ma poulette.
Donne-moi ton cœur sur un fax.
Ma poulette, donne-moi ton cœur sur un radis.
Ma poulette, donne-moi ton...
Donne-moi ton cœur sur un volcan.
Pardon.
Oh, le déculasse.
Ma poulette, donne-moi ton cœur sur une assiette.
Ma poulette, donne-moi ton cœur sur un livre.
Et ma poulette, donne-moi ton cœur quand je te dis grenouille.
Voilà, terminé. Point final à la ligne.
Et on se retrouve la semaine prochaine.
Le thème du débat portera sur les jeux vidéo.
Et c'est tout.
Gérard, quand tu dis donne-moi ton cœur sur un radis,
tu parlais pour les jardiniers ?
Pierre Pout, à toi, c'est pas toi que je m'adresse.
Et pour faire plaisir à Sandy,
à moins que Rigaud, il y a peut-être une question inversée.
Oui, conclusion, la poésie est écrite par des vieux frustrés
qui devraient se pendre pour faire un minimum d'argent.
Moralité, t'en vas à la cruche à l'eau
qu'à la fin, Gérard nous les brise.
Eh ben, c'est dommage.
Très beau, dit-on.
C'est dommage parce que...
Les...
Il y a une autre question.
Une autre conclusion de Turpentine.
Le débat n'avait ni queue ni tête comme toi.
Eh ben, c'est bien.
Eh donc...
Ça s'est plutôt bien passé.
Ouais, ben...
Non, non, mais ce que toi t'as cru,
mais de l'autre côté, je peux t'assurer que c'était vraiment bien.
Donc maintenant, est-ce qu'on peut avoir...
Fildar était quand même meilleur.
Vas-y, passe-la nous.
Poupou le mystère.
S'il te plaît.
Poupou le mystère.
Poupou le mystère.
Putain, Fildor.
C'est lui.
C'est toi, Gérard, quand t'as pété le scandale.
Non, non, non, non, non.
Putain.
Qu'est-ce que tu fais, là ?
Allô ?
Elle est où ?
Ben...
On repasse l'heure directe.
Oh là là, là, là, là, là.
T'as bêté vraiment.
Putain, mais c'est...
Dégage, dégage.
Viens.
Mais qu'est-ce que tu fais, Gérard ?
Viens de là.
Mais quoi ? C'est bon, je pourrais se faire le coin.
Viens, viens.
Je veux te voir.
Allez, rappelle l'heure directe, s'il te plaît.
Attends, je vais en numéro, si tu veux.
Non, non, je te le permets.
Ça va, c'est pas toi.
Viens, viens, viens.
Bon.
Il sait même pas son numéro.
Oh là là, là, là, là.
Dépêche-toi, fais vite.
Il reste deux minutes.
Oh là là, là, là, là.
Hop.
C'est long, c'est long.
Mais t'as fait deux fois le zéro.
T'as pas besoin.
Y a pas besoin, oui.
Oh là là.
Dégage, je vais le faire.
Laisse-moi faire.
Qu'est-ce qu'il se passe ?
Ben, il arrive pas à faire son numéro au téléphone, le Gérard.
Allez, dépêche-toi.
On va pas lui dire, parce qu'il entend même pas.
Si, vas-y.
Y a Dylan qui dit qu'il a trouvé...
Il a trouvé que Gérard avait réagi avec poésie ce soir.
C'était très romantique.
Merci, Gégé, pour cet intense moment d'extase littéraire.
Sergueï Boubka n'aurait pas fait mieux.
Vas-y, Manu.
Vas-y.
Allô ?
Salut.
Viens, t'es un peu le Messire.
Putain, non, tu es...
Oh là là.
Mais j'ai rien fait !
Arrête !
Arrête, Gérard !
Ça va pas, Gérard, arrête !
Mais elle est là !
Mais qu'est-ce que t'as fait ?
T'as fait la mauvaise ligne, elle est là.
Mais qu'est-ce qu'il se passe, Gégé ?
Ben alors ?
Qu'est-ce que ça sert de t'énerver, Gérard ?
Bon, pour le Messire.
Oui ?
Ben, c'est moi.
C'est moi.
Alors ?
Alors, qu'est-ce que t'en as pensé ?
Alors ?
J'ai rien touché.
Bon, dégage, Manu.
Je prends la banque.
Dégage.
Ben, si tu veux, vas-y.
Casse-toi, casse-toi.
Ben, vas-y, vas-y, fais ton malin.
Fais ton malin.
Vas-y, tu vas bien me faire rigoler.
On va dire que c'est l'autre, là-bas.
Oh l'enculé, là.
Oh la pisse de pute.
Gérard, il est parti.
Il faut peut-être expliquer aux gens.
Je ne capte rien.
L'enculé est parti.
En fait...
Bon, on va couper ça.
Bon, alors, Gérard, qu'est-ce qu'il s'est passé ?
Il lui a raccroché au nez, fil d'arbre ?
Un machin mystère ?
Bon, on recommence.
Bon, allez, refais le numéro, mais vite, Gérard.
Vite.
Attends, laisse allumer la micro.
Allez, Gégé.
Vas-y, Gérard.
Ah, il est parti se planquer, tu m'étonnes.
Ah, putain.
C'est occupé ?
Ouais.
Ouais, maintenant, ça, c'est un occupé.
Elle ne répondra plus.
Putain, putain.
Oh là là.
Putain, putain.
Bon, sinon, moi, j'ai trouvé ça bien, quand même, tes débats, ce soir, Gérard.
Franchement.
Moi aussi, ouais.
Putain, cause de putain.
C'est dommage qu'on n'ait pas pu aller plus loin dans les jeux vidéo, mais...
Putain.
Dans les jeux vidéo, dans les jeux télé.
Putain.
Gérard, tu...
Qu'est-ce qu'il y a ?
Gérard, reviens !
Gérard !
Il est parti.
Ils sont partis en courant, dans le couloir.
Bon.
Ben, reviens.
C'était débat, on fait quoi, avec Rigaud, nous ?
On n'a pas de micro pour arriver dans le couloir.
Les gens, ils nous écoutent.
Bon, ça va, Rigaud, c'était bien le Cosmic Laser, cet après-midi, quand même.
C'était cool.
C'était bien marré.
Non, mais moi, je vais lire un petit peu l'IRC, alors...
Il n'y a plus personne, là, à l'antenne, là ?
Allô, l'IRC ?
Gérard, fais quelque chose, là-dedans, on est en train de...
Vas-y, tu mets la chanson, j'essaie de...
Ma poulette, j'y...
T'as eu une course poursuite dans les locaux de la radio,
il a failli se faire déchirer la gueule.
Dégage, toi !
Non, Gérard, maintenant, reste là, Gérard !
Arrête, c'est bon !
Let's groove tonight.
Bon, finis là, on arrête là, c'est bon, on s'en fout,
tu lui demandes en antenne, on lui demande en direct ?
Vas-y.
Il compose le numéro.
Voilà, c'est bon.
Je m'en occupe, je m'en occupe, vas-y, va te mettre en face.
Allez.
C'est là, là ?
Vas-y, Gérard.
Allez, on y va.
Vas-y, mets à ta place !
Reprends-moi mon casque, là.
Je la prends, là.
Oh là là, t'es relou, Gérard.
C'est tout au standard, Manu.
Allô ?
Oui ?
Euh, bébé ?
Ouais ?
Bon, qu'est-ce que t'en as pensé ?
Comment ?
Qu'est-ce que t'en as pensé des quatre poèmes ?
Ben, écoute, ça m'a touché énormément, hein.
Ouais, ben, t'inquiète pas, tu étais encore plus touché.
Parce que...
Putain, qu'est-ce que t'as fait, encore ?
T'es là ?
Au fil d'art !
Putain, mais vous me faites chier, allez, au fil d'art !
Hop, on...
Non, c'est le truc qu'elle fait, là.
C'est le fil d'art qui a encore fait ça.
Là, le truc, le potard qu'elle fait.
Bon, pour...
Là ?
Ouais.
Faites la fête, la grosse !
Et voilà, c'est dédié pour samedi, et on se retrouve la semaine prochaine.
Sur Femme Radio !
Sur Femme Radio, et demain, Max, le Star System, à partir de 22h !
Wouhou !
C'est le café !
== Le débat sur l'argent ==
=== Contexte ===
Ce débat occupe une place particulière dans la compréhension de cette émission. Sa clôture illutre un point clé, souvent débattu, quant à l'innocence de Gérard de Suresne sur le système autour de lui et de son émission. En effet, en din d'émission, alors qu'il identifie, très clairement, que les titres qu'il lit sont faux et loufoques, il veut lire les vrais, il n'y arrive pas. Il revient alors aux titres écrits par l'équipe. C'est une preuve absolue qu'il est parfaitement conscient de ce qu'il se passe, mais s'en acquitte de bonne grâce parce qu'il sait ce qu'il en tire, malgré le prix à payer à son niveau. Prix à relativier quand on sait l'apport de l'émission dans sa vie et que, cette même vie, il la réécrit souvent au gré d'une mémoire authentiquement traumatique.
=== Les personnages ===
=== Transcription ===
Les débats, pas de radio et pas d'insultes de Gérard.
Et voilà, donc vous venez d'écouter Manu s'il te plaît.
C'est Roudoudou avec Peace and Tranquility to Earth.
Et voilà, il est 0h32, donc bienvenue sur VN Radio.
Vous pouvez nous appeler au 0875 000 et 0803 085 000.
Et toujours sur l'IRC www.fr, il y a Rigaud qui vous attend.
Et Rigaud, si tu pouvais nous dire à peu près combien qu'on est.
Je suis là, bonsoir à tous.
On a dépassé les 2000 déjà, ça va très vite ce soir.
On est à 2543,1, c'est pas mal.
C'est beau ce que tu fais Gérard, c'est beau.
Donc j'espère que ça ne va pas faire comme la semaine dernière.
On s'échappe, la semaine dernière on était à combien Rigaud à peu près ?
Je ne sais plus, mais on n'avait pas fait beaucoup la semaine dernière.
Je crois qu'on était des...
Descendus à 3005.
Oui, mais ça va aller ce soir.
Donc à un moment donné, ça va aller.
Ça va aller, ça va aller Gérard.
On espère.
Ça va aller.
Un fil d'art.
Ça va aller Gérard.
Ça va aller, on fait le débat.
On y va Gérard, j'arrive.
On y va.
Bah oui, mais on y va.
Ton premier débat portera sur quoi Gérard ?
Sur l'argent.
Sur l'argent.
Alors la première question donc...
Vas-y, pose la première question pour les auditeurs qui nous écoutent déjà.
Alors pour vous, l'argent, fait-il votre bonheur ?
Donc voilà, et donc on va accueillir...
Merci fil d'art.
On va accueillir des gens, oui.
Donc on va accueillir Tony.
Tony, bonsoir.
Bonsoir Gégé, bonsoir Manu.
Bonsoir Tony.
Bonsoir fil d'art.
Salut.
Bonsoir.
Salut Tony.
Non, non mais...
Tu vois, il y a un problème fil d'art.
Ouais.
C'est que Tony, il faudrait que...
Permettez qu'on passe toutes les semaines.
Non mais j'ai des choses à dire, c'est pour ça.
Non, non mais attends.
103.3.
Déjà 101.
Non mais je me suis trompé parce que tu vois, j'ai rayé là.
C'est pas ça.
Ouais, ouais, c'est 101.
101.9.
101.9.
101.9.
Tony, tu ne commences pas, d'accord ?
Ok.
La suite, Tabouret, bonjour.
Alors Tabouret.
Salut Gérard.
10 demandes d'Axe, on peut écouter Fun Radio sur 95.3.
Ouais, c'est ça.
Donc Sandwich, 23 ans de tour.
Bonsoir Gégé.
102.8.
Oui, c'est ça.
Alors, tu me fais bouder, 10 demandes.
Bonsoir Gérard.
Tu me fais bander.
Ouais, bander.
Ouais, ben, non mais tu vois, Fildar.
Qu'est-ce qu'il y a ?
Non, non, attends, Fildar.
Là, il y a...
Oh, qui c'est qui a un portable ?
C'est Sandwich, mais elle n'a que ça.
Ah non.
Non, parce que les portables, c'est pitoyable.
Tony, pour l'instant, tu t'écrases.
Non, mais elle n'a que ça parce que chez elle, elle n'a pas le télécom.
Ah ouais, non mais attends.
Moi, dans ce cas-là, moi, je ne fais pas des débats avec des portables.
C'était bien prévu.
Parce que regarde, là, déjà...
Ça commence.
Je vais essayer de la rappeler, on va voir si la ligne passe mieux, OK ?
Et puis tu la reprends dans deux minutes.
Alors, tu me fais...
Bon, allez, tu ne commences pas, d'accord ?
Tu me fais bander.
Oui, je suis là.
Donc, on peut écouter, donc, à Ifto, 96.9.
Ah, tu me confirmes la fréquence ou pas ?
Oui, oui.
Ouais, bien sûr, pas dans mon cul, ma tête est malade.
On le savait, ça, Gérard.
Non, non, mais attends.
Déjà, hé, Fildar, tu me la reprends, tu la réveilles un peu, parce qu'à 19 ans...
Allez, Gérard, on y va, on y va, on enchaîne.
Après, on a...
Fildar, le prochain coup, tu écris mieux.
Oseille.
Oseille.
Ouais, bonsoir, Gégé, bonsoir.
Donc, maintenant, Royan sur 99.
Salut, Oseille, ça roule ?
Ouais, ça roule.
Et après, j'écarte...
Quoi ?
Barret.
J'écarte Barret.
J'écarte Barret, Paris, 101.9.
Bah, si tu le dis, hein.
Bah, ça va, et toi, Gérard, mon petit Gérard, comment vas-tu ?
Non, non, mais attends, je suis pas ton petit Gérard, d'accord ?
Vous allez pas me casser les couilles, maintenant ?
C'est mignon.
OK ?
Alors, première question, donc, vous l'avez entendue.
Pour vous, l'argent peut-il le bonheur ?
Ouais, ouais, ouais, oh !
Qui c'est qui commence à dire, tu peux la répéter ?
Parce que je vais pas répéter les questions 50 fois, hein.
Bon, d'accord.
D'accord.
Alors...
Allez, première question, on y va, on répond.
Bouge ton doigt, mets ton doigt dans mon cul.
Celui qui dit ça, ou celle qui dit ça, bah, commencez par la fermer, d'accord ?
Et puis, vous allez arrêter de redipler comme des porcs.
Gérard, si tu commences jamais, on fera jamais le débat, hein, donc pose la question.
Alors, première question...
Tony, tu la fermes, c'est pas toi qui commandes.
Non, mais Tony est en attente, donc il est pas là, donc vas-y, j'ai l'attaque.
Alors, première question...
Première question...
Pour vous, l'argent fait-il le bonheur ?
On va demander à Tony s'il est là.
J'ai pu en attendre, là ?
Non.
Ah, c'est dommage.
Non, t'as alors... Pourquoi c'est dommage ?
Non, non, parce que j'avais dit des choses marrantes, mais c'est pas grave.
Bon, alors, tu dégages.
Allez, hop, il a...
Retourne voir, puis le dernier...
Non, non, mais attends, j'ai rien dit, là.
Il a rien dit, là, Gérard.
Je réponds à la question.
Y a pas de souci, hein.
Je réponds à la question.
Parce que là, tu as pas commencé.
Tu passes toutes les semaines dans les débats.
J'ai des choses à dire.
Non, mais tu passes toutes les semaines dans les débats.
Tiens, oh !
C'est moi qui commande !
Bon, pour répondre à la question, moi, j'ai pas trop d'argent.
Eh, oh !
Toi, déjà.
Hop !
J'en veux pas.
Pas de problème.
OK ?
Pas de souci.
Allô ?
Ça va pas faire comme la semaine dernière.
Tu peux répondre ?
Attends.
Eh, oh !
Moi, c'est pareil.
D'accord ?
Parce que là, ce soir, vous avez pas me cassé les couilles.
Parce que sinon, je suis caléba et je me casse.
Oh non !
OK ?
Ouais, d'accord, d'accord, d'accord.
On y va.
Non, mais calme-toi, calme-toi.
Bon, alors, Tony, pour l'instant, tu réponds à la question.
Ça fait toutes les semaines que tu passes.
Ouais, mais arrête de m'agresser comme ça.
Moi, je veux...
Non, mais attends.
La semaine dernière, t'es passé.
Alors, on dirait rien de bon.
Mais non, mais s'il dit rien de méchant...
Bah ouais.
Non, mais même.
Moi, j'ai pas.
Même.
Même.
Eh, y a 24 lignes qui sonnent.
Donc, faut prendre sur les 24 lignes.
Je les ai fait sonner, les 24 lignes, moi.
Non, mais tu les as fait sonner, mon cul !
Bon, alors, moi, j'ai pas beaucoup d'argent, mais je suis heureux.
Voilà.
Hop, je les ai zappés.
Hop.
Alors, tabouret.
Ouais, moi, je pense que l'argent...
Eh, là, attends, tabouret.
Ouais.
Mais attends, Fildar, tu me prends quelqu'un d'autre.
OK.
D'accord ?
OK.
Non, non, mais...
Eh, là, ça commence à bien faire !
Alors...
Oh, bah, dis donc, Gérard, calme-toi.
Bon, Gérard, là, on va pas avancer, quoi, si tu commences comme ça, sans déterminer.
Non, mais, sans déconner, moi, je vais te dire une chose...
Sans déconner...
Bon, ça y est...
Mais, Gérard, ça fait 8 minutes qu'on attend le débat, ça commence !
Alors, tabouret ?
Ouais, bah, moi, je pense que l'argent fait le bonheur de ceux qu'on n'ont et le malheur de ceux qu'on n'ont pas.
Tu peux expliquer ?
Bah, comme disait Coluche, quoi, l'argent fait pas le bonheur des pauvres.
D'accord.
Euh, sandwich ?
Bah, écoute, moi, je crois que l'argent fait pas vraiment le bonheur, parce que c'est pas parce que t'as du fric que tu vas être heureux, quoi.
D'ailleurs, si t'as des problèmes de santé ou même si t'as pas d'amis, je veux dire, tu te méfies, quoi.
Ah, voilà !
Voilà ce que...
Oh, qui c'est qui a un portable, là ?
C'est moi, c'est moi, j'ai un petit...
Bah, c'est, euh, sandwich.
J'ai rappelé, mais c'est toujours pareil, je suis désolé.
Bon.
Là, je peux vraiment pas faire mieux, hein.
D'accord.
Euh, tu...
Tu me fais bander, là ?
Ouais, ouais, ouais.
Enfin, moi, j'ai pas beaucoup d'argent, mais je veux dire, moi, je suis heureuse dans ma vie, et puis, de toute façon, quand on est trop riche, on a plein d'hypocrites autour de nous.
Voilà.
Euh, Ozaï ?
Ouais, bah, c'est un peu ce qui m'est arrivé, moi, ça m'a fait mon malheur, parce que j'ai fait un gros héritage, et depuis que j'ai plein de thunes, et bah, tout le monde arrête pas d'essayer de me taper, parce qu'il y a ma famille, mes amis, et voilà.
La nuit, vous ?
Ouais, y a pas que moi, hein.
Ouais, bah, ouais.
Bah, ouais, hein.
Non, euh...
J'ai la carte, euh, Rigo, oui.
Y a une question sur IRC, c'est Oxip qui te demande s'il faut beaucoup d'argent pour être pauvre.
Euh, ça, je vais répondre.
Oh !
Tu sais qui veut répondre à ma place, là ?
Toi.
Non, mais, euh, faudrait peut-être...
Ton cerveau.
Attends, mon cerveau, tu sais ce qu'il te dit, toi ?
Pas grand-chose.
Il me dit, euh...
Oh, ouais, Fildar !
Fildar, on commence pas la première question avec des gens pourris, hein.
Bah non, mais c'est des gens que j'ai pris sur les 24 lignes, j'essaie d'en trouver d'autres, Gérard.
Alors, euh, Tony, pour l'instant, tu t'écrases.
Mais il est pas là, Tony, Gérard.
Il est pas là.
Alors, euh, j'ai... j'ai carte...
Marais.
J'ai carte Marais.
Euh, si tu le dis, mais moi, en fait, moi, j'ai eu le même problème que...
Je crois que c'est Oseille.
J'ai le fils de milliardaire.
Je n'aimerais pas la marque.
Et, euh, bah, il y a plein de gens autour de moi qui savent ne pas que c'est mon pognon et c'est l'or.
Bon, alors, euh...
D'accord.
T'as pas 10 balles ?
Euh...
Je peux te faire un million.
Euh, par contre, qui c'est qui a un sandwich, je pense,
qui avait posé une... qui avait répondu à la question.
Oui, c'est...
Et quand t'as des amis, t'as...
Et quand t'as de l'argent, t'as des amis.
Et quand t'as pas d'argent, t'as plus d'amis, c'est ça ?
Non, mais ce que je veux dire, c'est pas parce que t'as du fric que tu vas forcément avoir de bons amis, hein.
Non, mais...
Ouais.
Non, mais, attendez, attendez.
J'étais un peu d'accord.
J'étais un peu d'accord avec la personne qui avait répondu comme quoi on avait des hypocrites,
mais je suis un peu d'accord avec elle, c'est vrai, hein.
Bon, alors, moi...
Les gens, ils n'y aiment rien pour ton fric, quoi.
Hum ?
Non, mais, Malheur, il y a une question que...
Oh, mais, c'est quoi, là, le son, là ?
Bah, écoute, le son, il est comme il est, hein.
Il faut s'en accommoder, puis y aller, quoi, hein.
Non, mais, Gérard, excuse-moi, je peux raccrocher, hein ?
Non, non, non, non, non, non, non, non.
Gérard ?
Euh, oui, Rigo ?
Oui, à propos d'argent, il y a Yankee sur IRC qui te demande combien t'as payé pour animer les débats.
Alors, ça, ça regarde personne, et c'est tout.
Donc, sa question ne tient pas debout.
Donc, je vais répondre à peu près à la question.
Vas-y.
Donc, alors, pour vous, l'argent peut-il le bonheur ?
De toute manière, je vais répondre la question à Sandwich.
Hum, hum. Vas-y, vas-y, vas-y.
Euh, donc, moi, je peux dire une chose.
C'est quand t'as des amis, tu as de l'argent, et quand t'as pas d'argent, tu n'as plus personne.
Donc, tu te démerdes toi-même.
Ouais.
Ouais.
Hein ?
Donc, ça veut dire ?
Ouais.
Bon, allez, vous arrêtez, là, parce que vous commencez à me casser les couilles.
Tout à fait, ouais.
Non, mais ils t'écoutent. Vas-y, Gérard, continue.
Ouais, ouais, attends.
Continue ce que tu voulais dire.
Ah, ah, hum, hum, hum.
Non, mais...
Je veux dire pas, là, à ces auditeurs, c'est qui qui les a choisis ?
Ben, j'en sais rien, moi, continue.
Donc, c'est pas la peine d'essayer de vouloir me contredire.
Donc, là-dessus, quand t'as de l'argent, t'auras toujours quelqu'un qui t'aidera.
Ta gueule, toi !
Bon, alors, vous me faites chier, je réponds pas à la question.
Mais vas-y !
Non, non, non, non, non.
Non, pour l'instant, vous déconnez !
Vous avez pas à commencer comme ça, tous les deux !
Parce que sinon, je vous balance !
Ok ?
Mais arrête de gueuler, on n'a rien fait !
C'est toi qui crie tout seul, là !
Non, non, non, non, pour l'instant, qu'est-ce que tu me fais, là ?
Ben, je fais rien, je vais couper les auditeurs pour qu'ils répondent à la question.
Arrête de gueuler !
Arrête de gueuler !
C'est bon, il faut les couper.
Mais ils sont coupés !
Non, non, tu es...
Non, mais au moins ça, parce que sinon, il est minuit et demi, on tiendra pas.
Pour l'instant, Manu, tu as...
Ils sont coupés, tu réponds pas à la question, Gérard, j'y peux rien, après.
Non, Manu !
Mais crie pas, il n'y a pas besoin de crier pour parler.
Punaise, mais...
Eh, Manu, toi, je crois que ça va être pareil, hein.
Allez, vas-y.
Donc, alors, je vais répondre à Sandwich.
Vas-y, Gérard !
Non, mais attends, tu permets ?
Ben, vas-y !
Ben, ça fait qu'un quart d'heure qu'on a démarré, d'accord ?
Mais pour l'instant, ça fait un quart d'heure que tu me fais de la merde !
Ben, un quart d'heure que t'avances pas, aussi.
Ouais, mais ça fait un quart d'heure que t'es en train de me faire de la merde !
Gérard, tu peux parler du débat et arrêter de parler de l'équipe ?
Ouais, mais attends, pourquoi ?
Non, mais là, tu continues, parle du débat, on fait le débat.
Non, mais attends, Rigaud !
Rigaud, pour l'instant, il n'y a que toi qui fais du bon boulot,
les deux autres, là, pour l'instant, nous font de la merde !
Ok ?
Alors, c'est clair et net.
Ou on travaille en équipe, on fait du bon boulot,
ou on travaille pas !
Un patron, il s'énerve pas, il gueule pas !
Il n'y a pas besoin de gueuler !
Hein ?
D'accord, Manu ?
Ça y est ?
D'accord, Pildar ?
Ah, moi, je suis ok, hein !
D'accord, Gérard ?
Bon, alors maintenant, il n'y a que Rigaud qui va faire du bon boulot.
Comme d'hab !
D'accord, ok !
Vous faites de la merde, les mecs !
Nous, on fait rien !
Ouais, pour l'instant, vous me faites de la merde !
Bon, on y va, on y va, on y va, on y va, on y va !
Quand tu fais ton débat, parle pas de ce qui se passe ici,
passe plutôt aux auditeurs, à ceux qui écoutent la radio.
Alors, avez-vous de l'argent de poche par vos parents ?
On m'a demandé un tabouret !
Ouais, non, moi, je travaille, donc mes parents ne me donnent pas d'argent.
Je suis bien toute seule à mes besoins.
Ouais, mais... d'accord.
Ouais, mais quand j'étais petite, ouais, ils m'en donnaient un peu, ouais.
Ah, voilà !
Je piquais dans le porte-monnaie de ma mère.
C'est qui, celui-là, qui dit tout à fait ?
Bah, c'est vrai !
Quand elle était gamine, tout à fait, il lui donnait de l'argent.
Non, mais attends !
C'est qui, là ?
C'est qui qu'on récupère ?
Non, non, c'est...
Attends, que je retrouve...
Apparemment, tiens, je t'ai récupéré un truc.
Oui, c'est ce que j'ai déguisé.
Spécial sur l'Internet, avec...
J'ai récupéré l'adresse.
Et là, t'as des questions...
Il y a des trucs qui ont été faits, c'est sur le...
C'est pour l'euro.
Il y a un 36, un www.euro.
C'est des questions qu'ils posent sur l'agence, sur des jeunes étudiants.
C'est marqué où, www.euro ?
Non, c'est pas marqué, là, mais...
C'est là où ça a été pris.
Je l'ai récupéré, ça, sur le site de l'euro.
D'accord.
Sandwich ?
Sandwich !
Oui, oui, je suis là, Gérard.
Bon, tu réponds à la question, ou pas ?
Bah, écoute, tu m'as coupé dans mon élan.
J'étais en train de parler, je t'explique, quand même.
Alors, j'étais en train de te dire que j'étais plus chez moi,
et que, bon, bah, je travaille, mais étant petite,
moi aussi, j'avais un peu d'argent de poche, mais...
C'est pas la grosse fortune, quoi, quand même.
Hum.
Voilà.
Tu me fais bander ?
Bah, non, mes parents me donnent pas d'argent tous les mois,
mais quand je leur demande, ils me le donnent facilement.
Ouais.
Ouais.
Euh, Oseille ?
Ouais, alors, tu m'entends ?
Ouais.
Ce qui se passe, c'est que moi, j'ai fait un héritage, donc, en fait, je suis...
Bon, alors, Oseille !
Oseille, ton héritage, on n'en a rien à foutre, OK ?
Alors, tu vas avoir...
Non, non, tu vas avoir pile d'or au standard.
Attends, il répond à la question, et toi, tu t'énerves.
On n'a pas le droit d'être riche, dans le débat ?
Alors, ouais, c'est vrai.
Non, mais attends, on parle pas d'héritage !
Bah, écoute, écoute...
Je te demande, avez-vous eu de l'argent de poche par vos parents ?
Eh ben, il a eu un héritage !
Pourquoi ? Parce que t'as eu un héritage, toi ?
Eh ben, ouais.
Bah, ouais.
Eh, alors ?
C'est que là, j'en veux pas de ça !
Et maintenant, attends, je t'explique, maintenant, c'est moi qui donne de l'argent de poche à mes parents,
parce qu'ils se sentent...
Non, mais c'est ça, allez, hop !
Allez, hop, bonne nuit !
C'est sympa !
Allez, hop !
Allez, hop, Gérard, Gérard, Gérard !
Allez, hop, Gérard, Gérard, Gérard !
Ça y est, je l'ai viré, Gérard.
Non, mais là, tu vas pas commencer, toi.
Non, bah, je vais lui repiquer ses thunes, et puis il aura pu dire...
Non, non, mais tu te démerdes !
D'accord.
Eh là, vous me faites du bon boulot, parce que, pour l'instant, vous commencez à me...
À Brèges !
Comment ?
Non, elle dit, continue la question.
Non, elle dit à Brèges !
Ouais, bah, c'est un peu...
À Liège ! À Liège, en Belgique, je crois qu'elle est belge.
Oh, ouais, c'est ça, t'as raison, Manu.
Fous-toi bien de ma gueule !
Ouais, ouais, c'est ça.
Ah, le métro, deux secondes.
Euh, j'ai les cartes marées.
Non, j'ai les cartes marées.
J'ai les cartes marées, c'est vrai.
J'ai les cartes marées, vas-y.
Bah, en fait, moi, je t'ai dit, je suis fils d'Axel, de milliardaire,
et moi, en fait, je cite pas de marque,
j'envoie mes domestiques travailler à ma place, au McDo,
pour qu'ils me gagnent de l'argent de poche.
Putain, mais vous savez...
Eh, vous savez ce que c'est, un débat ?
Bah, moi, je te réponds à la question que tu poses ici.
Non, mais moi, je te demande, est-ce que tu sais ce que c'est, un débat ?
Oui, un débat, on pose une question et j'en réponds.
Ouais, et bah, pour l'instant,
t'es à moitié dehors.
J'ai pas besoin d'argent de poche de mes parents,
puisque j'envoie mes domestiques travailler.
D'accord, allez-y, allez-y, faites de la scène.
Moi, là, je dis, l'équipe va pas.
Comment ?
L'équipe, elle va pas, là.
Ouais, bah, pour l'instant, c'est vous qui allez pas.
J'ai répondu aux questions.
Euh, qu'est-ce que c'est ?
Tabouret, je pense qu'elle a répondu.
Donc, à la place de Tony, on accueille J'ai pas une thune.
Ouais, ouais, mais attends, Fildar.
Oui.
Non, non, non, non, non.
Non, non, Fildar.
Non, non, non, non, non.
Non, Fildar.
Mais pourquoi ?
Fildar, non.
Non, je te dis.
Il t'a dit non.
Tu vois, parce que là, pour l'instant,
t'as pas viré, tu l'as pas viré,
tu l'as fait prendre sur un autre nom.
Pas du tout, bonsoir.
T'es en mon cul, Tony.
Alors, c'est pas la peine.
Non, non, non, non, non, non, non, non, non. Moi, je...
Non, non, je travaille pas. Je travaille pas comme ça.
Bon, alors, on reprend tabouret, sandwich.
Euh...
Non, non, mais tu vas sur les 24.
Oui, bah oui, sur les 24. Je monte sur les 24.
Ouais, bah, tu te dépêches.
Parce que, pour l'instant, pour l'instant, je crois qu'avec Manu, j'ai dit, on fait du bon travail ce soir.
Oui, mais là, Gérard, c'est toi qui avances pas, quoi. Il l'a viré, maintenant, Tony. Alors, on y va.
Non, mais attends, pour l'instant, il reprend sur un autre nom.
Non, non, moi, je suis pas d'accord.
Je suis pas d'accord.
Gérard, il y a plein de questions sur l'IRC, donc je vais en lire une vite fait.
Il y a Kenéda qui te demande combien tu donnes d'argent de poche à Sandy pour qu'elle reste avec toi.
Alors, à Sandy, ça, ça regarde personne, donc c'est mon problème personnel, donc...
C'est un problème, quand même, alors.
Non, non, mais ça, ça regarde personne.
Ouais, mais c'est toi, même, tu dis, c'est un problème.
Ça regarde pas les auditeurs, donc, ça questionne, j'y réponds pas.
Après, Rigo ?
Quoi ?
D'autres questions, non ?
Si, si, peut-on acheter de l'intelligence avec son argent de poche ? Demande Blouder.
De l'intelligence, je pense pas, non.
Non ?
Non, après ?
Non, et je sais plus qui c'est qui me demandait combien d'argent t'avais pris dans la poche de Christine.
De Christine, alors ça, tu vois, le mec, celui qui parle de Christine, il va...
Il va faire du bonheur.
Ouais, ben, bien sûr...
En monnaie !
Donc, si c'est pour entendre des conneries comme ça, c'est pas la peine.
Donc, alors, je peux vous dire une chose, avez-vous de l'argent de poche par vos parents, donc, ça dépend des parents,
parce qu'il y a des parents qui peuvent vous donner jusqu'à 50 francs, d'autres qui vous donnent rien du tout,
donc, là-dessus, c'est des parents qui sont pas très riches.
Ben, moi, parce qu'ils veulent pas.
Ben, ouais, c'est qu'ils veulent pas, toi...
Non, mais il y a des parents qui veulent pas donner d'argent de poche à leurs enfants.
Ouais, mais ça, c'est...
Ils préfèrent qu'ils le gagnent par eux-mêmes, en faisant des petits boulots.
Ouais, mais ça, de toute manière, si les parents n'aident pas leurs enfants pour trouver quelque chose,
je pense qu'on n'y arrivera pas.
C'est-à-dire ?
Donc, pour que les jeunes aillent de l'argent, il faut quand même que les parents soient derrière pour les aider.
Ouais, mais tu vois...
Parce que si on n'a pas...
C'est peut-être que de les aider, il faut qu'ils aillent trouver un petit boulot.
Ouais, mais si on n'a pas de parents...
Ouais.
Donc, tu peux pas avoir d'argent pour les aider.
Tu comprends ?
Ouais, ouais, ouais, je comprends, je comprends, je t'écoute.
Toi aussi ?
Ouais.
Donc, si t'as des parents qui veulent te donner de l'argent, ils seront là.
Moi, je comprends pas, j'ai pas...
Ben si, ben...
Attends...
Si t'as pas de parents, ils peuvent pas te donner d'argent de poche, regarde.
Ah ouais, voilà.
Donc, ils peuvent pas t'aider.
T'es obligé de le voler.
Pareil, euh...
Non.
Quoi, dans la poche de ton ex ?
Non, non, non.
Non, non, y a pas de voler.
C'est que là, bon, ben, tu fais carrément la manche.
T'es le distor.
Non, non, non, t'es pas obligé de faire la manche comme tes gamins, que t'as pas de parents.
Attends, attends, si, si, si, si, si, si.
Tu fais des petits boulots.
Mais oui, non, non, non.
Tu livres du lait, tu t'achètes des gens.
Non, non, non, non, t'as des gens qui font la manche, je veux pas dire...
Ouais, mais on parle de l'argent de poche.
On parle pas des S9.
Les S9, ils veulent pas de l'argent de poche.
Quand ils sont dans la rue, ils veulent de l'argent pour manger, nuance.
Bon, Rigo, tu voulais rajouter quelque chose ?
Ouais, je voulais te demander comment on fait si on a des parents,
mais qui sont pauvres et qui peuvent pas te donner de l'argent de poche.
Ben, le problème, c'est que tu reviens à la manche.
Ah, tu vas faire la manche, finalement.
Ben oui.
T'as pas assez de thunes pour aller en Méditerranée, donc t'es baisé, quoi.
Voilà.
Alors, troisième question.
Vas-y.
Je te refais une liste, Gérard.
T'inquiète pas, ça arrive.
Donc, on a toujours tabouret, sandwich, tu me fais bander.
À la place de Oseille, il n'y a pas rappelé.
Oui, bonsoir.
Oui, bonsoir.
Et on a toujours G4 Marais, voilà.
Ouais.
Toujours là.
Oui, salut.
En espérant que...
T'en es sûr de ce que tu me racontes, Filtre ?
C'est-à-dire ?
T'en es vraiment sûr des noms, là ?
Ben oui.
Ouais, ben, je pense que...
Pour l'instant...
Manu.
T'as prévu, Gérard, que tu peux te dépêcher.
Non, non, mais si t'as envie d'aller pousser...
Non, non, non, non, non, non, non, non, non, non. Non. Non. Non, mais dépêche-toi un petit peu, parce que quand même, il est une heure, et si on continue comme ça, on va pas y arriver.
Attends, si t'es pas contente...
Et si vous êtes pas contentes dans ces cas-là...
Non, non, je suis très content, mais bon, tu fais du boulot.
Bon, alors, si t'es... Alors, toi, c'est qui, toi ?
T'es qui, toi, qui vient de dire ça ?
C'est un bon auditeur.
Ouais.
Qui tient rien. T'as la liste.
C'est la police, un peu, Gégé, ça va plus, là.
Non, non, mais de toute manière, ça va être Fildar. Maintenant, Fildar...
Non, c'est pas Fildar. Arrête avec Fildar.
Ok, mais vous vous calmez derrière, s'il vous plaît, c'est moi qui commande le jeudi.
Bon, la question, c'est...
Gérard, j'ai une bonne question, là, sur IRC.
Voilà.
Y a Turpentine qui te demande comment on fait pour avoir de l'argent de poche quand on a pas de poche.
Ah, tu peux acheter en fait.
Comment ?
Tu peux acheter en fait.
Mais c'est... Tu piasses dans le sac.
Non, tu peux acheter un sac.
Ouais, ben, le mieux, c'est de voler dans un sac à main.
Et c'est pas tellement...
C'est pas tellement recommandé.
Ouais, non, faut pas le faire, même, ouais.
Quoi, tu dis aux gens de voler dans un sac à main ?
Non, non, non, non, non, même... Je le déconseille.
Je le déconseille complètement.
Alors, donc, troisième question.
Est-ce que... Est-ce que vous travaillez pour avoir de l'argent ?
On va demander à Tabouret.
Ouais, ouais, moi, je travaille. Et je gagne de l'argent.
Sans indiscrétion, tu fais quoi comme travail ?
Ben, je trouve que c'est indiscret, donc...
Je te réponds pas.
D'accord. Alors, dans ces cas-là...
Non, j'ai pas envie de te dire ce que je fais. Je trouve ça indiscret.
Parce que, bon, c'est pas...
C'est pas quelque chose dont on parle à la radio si facilement.
Bon, attends. Dans ces cas-là, quand Max...
Quand Max vous demande ce que vous faites comme boulot, vous lui répondez.
Et quand c'est moi, vous me répondez non.
Non, mais...
C'est pas du tout ça.
C'est bon, Tabouret. C'est bon.
Sandwich. Sandwich. Sandwich.
J'en ai pas non plus.
Sandwich.
Tu vois comment faire ?
Je suis là, je suis là.
Oui, moi, je travaille, oui.
Et sans indiscrétion, tu fais quoi ?
Moi, je suis secrétaire dans une entreprise.
Voilà.
Tu me fais bonder ?
Ben, je travaille pas, mais voilà.
Et tu cherches quelque chose ?
Non, pas pour l'instant, d'abord.
Non, mais pour l'instant, tu t'empoutes, tu te dis...
Je touche plus par le chômage, c'est pas la peine que je travaille.
Non, attends, je... Non, euh...
T'es étudiante, à mon avis ?
Oui.
Dix ?
Euh... Dix-deux ans, ouais.
Ok.
Euh... Gérard ?
Oui ?
Sur IRC, il y a Philippe Détoubifry, le vrai,
qui te demande combien tu serais prêt à payer pour virer Fildar.
Bonne question.
Ça, j'attends toujours.
Apparemment, on devait nous trouver d'autres personnes pour remplacer Fildar, parce que...
Non, mais c'est pas le débat.
Non, mais c'est pas ça, la question.
La question, c'est combien tu paierais pour le virer.
Oh, mais moi, je paye pas, c'est pas à moi de le payer, c'est à la direction.
Ok.
Donc, euh...
J'ai carte marée, là, je sais pas quoi.
Allô, oui, je suis... Tu vois, j'ai pas besoin de travailler, parce que je suis milliardaire, en fait,
et je vis de l'argent que je place en bourse, et je comprends vraiment pas que les pauvres travaillent,
parce que c'est si facile de gagner de l'argent en bourse.
Non, mais attends, tu... Eh, tu te fous de ma gueule, à 19h, t'es...
À 19 ans...
À 19 ans, t'es milliardaire...
À 19 ans, t'es milliardaire...
Ah, oui, parce que je suis le fils d'Axel... Tu vois, je suis un fils de milliardaire...
Ouais, bah, alors, pour l'instant, tu vas fermer ta gueule...
D'accord ?
Tu vas fermer ta gueule, parce que pour l'instant, t'es en train de me dire des conneries.
D'accord ?
Comment ?
C'est quand même le fils du boss, hein.
Ça peut aller loin, Gérard, s'il y a...
Ouais, non, mais attends...
Mais attends...
Comment ?
Ouais, t'as raison.
Eh, ma mère ! Ma mère, tu sais ce qu'elle est ?
Eh, je t'en meurs, c'est une pute !
Eh, bah, la tienne, elle t'en meurt, espèce de salope !
Allez, vous me faites chier !
Ça, c'est des filles, ça...
Hop, terminé ! Je vous répondrai pas !
Oh, mais si, Gérard !
Non, non, non !
Castez-vous le plus souvent avec votre argent ! Hop !
Avant la question, Gérard, il y a une autre question de l'IRC, de Chocobo Gold,
qui te demande combien il doit payer pour avoir l'honneur ou l'horreur de te rencontrer.
Zéro franc !
Eh, Fildar !
Oui ?
Fildar !
Fildar, maintenant, tu vas prendre 24 lignes,
et tu vas te manier le cul, parce que là, tu commences à me faire du boulot de merde !
D'accord, je...
Il est zéro heure !
Il est presque une heure du matin !
Ouais ?
Pour l'instant, tu me donnes que des cons !
D'accord, bah, je vais essayer de trouver des gens intelligents, d'accord ?
Ouais, ouais !
Non, non, mais, hé, là !
Gérard ?
Oui, mais j'arrête pas de rappeler !
Gérard, depuis que t'as dit qu'on pouvait te rencontrer gratos,
ils veulent tous te rencontrer,
et il y en a un maximum qui vont venir devant la radio.
T'es énervé ? T'es énervé ?
Ouais, je suis énervé, pourquoi ?
Parce que, normalement, j'ai eu Manu !
Avec Manu, il m'a dit qu'il me faisait du bon boulot !
Attends, il fait du bon travail !
Tu t'énerves pour rien, tu réponds jamais aux questions !
Il me fait du boulot de merde !
Non, mais t'arrêtes pas, il s'en fait une demi-heure !
Mais il me fait du boulot de merde !
Ça fait une demi-heure que je t'écoute, ça fait une demi-heure que je t'entends le cul gueuler,
j'en ai rien vu !
Moi, je zappe, j'écoute pas, ce soir, y a pas d'audience !
Et alors ?
Non, c'est pas de sa faute, c'est de la tienne, tu t'énerves, tu n'arrives pas à gérer !
Tu gères pas ton débat !
Je te repasse encore la liste, une dernière fois !
Vas-y, vas-y, trouve-moi des auditeurs, et pas des...
Non, non, non, non, prends pas les mêmes, et demande pas qu'ils changent leur nom !
Poussin, bonjour !
Salut !
Voilà, merci !
On va mettre un disque après, parce que là...
De toute manière, c'est maintenant !
On va peut-être...
On va peut-être accueillir les auditeurs, et tu vas poser des questions pour qu'ils réfléchissent, bah si !
Cachez-vous avec votre argent de poche,
cachez-vous le plus souvent avec votre argent,
et on s'écoute !
On s'écoute, j'ai pas de tude pour me faire tirer l'arrêt avec des petits suisses !
Bah ouais !
Eh, c'est pas mal, parce que là, j'ai aucune fiche pour annoncer les disques,
donc vous pouvez nous appeler au 0803 085000 et 0870 5000 !
Et voilà, donc, toujours le débat de Gérard, il est 1h03 du matin,
donc vous pouvez toujours nous appeler au 0803 085000, même si ça répond pas, ce n'est pas grave,
donc, ou sinon, au 0870 5000...
Et c'est fan radio, quand même !
La radio où tu bosses, c'est fan radio !
Toujours, toujours, toujours, Rigo qui vous attend sur l'IRC www.fr !
Ouais !
Et donc, vous êtes bien sur un fan radio...
Ouais, on est 3482-4, donc on y va, on fait ça bien !
C'est pas mal, c'est pas mal !
Gérard, on fait ça bien !
Donc...
On l'écoute même pas !
Si, si, si, j'ai entendu, Rigo, 3000...
Non, mais le débat, il va bien se passer !
Ouais, mais j'espère !
Si, si !
J'espère !
Je l'espère, parce que si ça se passe mal, la semaine prochaine, il n'y aura rien !
De toute manière, comme ça va être bientôt les vacances de Noël, donc...
C'est pas le débat, ça, Gérard !
On va se mettre un peu en vacances !
On va écueillir Poussin, 20 ans de besoins, donc on peut écouter un peu de radio sur 100.9.
Poussin, bonjour !
Salut, Gégé !
Bon, allez, vous arrêtez derrière, parce que là, vous commencez à me casser les couilles !
Ok !
La suite, donc, on a toujours Tabouret, Gérard ?
Tabouret, 10 demandes d'Axe, c'est bien, parce que tu pourrais me mettre les fréquences,
Ah, si ça ne te dérange pas, Pildar !
Non, mais ce n'est pas grave, on va la trouver, vas-y !
Celui d'après, c'est qui ?
Sandwich, 23 ans de tour !
Oui, salut, Gérard !
Tu me fais bander !
Ouais, salut !
Non, mais tu peux répondre comme il faut ?
Bah oui ! Bonjour, Gérard ! Bonsoir, Gérard !
Pas à pluie !
Oui, enchanté de pouvoir enfin te parler, Gérard !
De 21 ans, Royan !
Ça fait !
Et...
Camembert !
Bonsoir, je suis Camembert, j'appelle de Chuby, j'ai 19 ans.
Ouais, et...
Ah, 19 ans ?
C'est bizarre, parce que j'ai 20 ans, moi !
Je me suis trompé, je suis désolé !
Non, mais...
C'est rien !
C'est rien, c'est rien ! Arrête de t'acharner sur lui, on a l'impression que c'est une bête fauve, c'est bon, fous-lui la paix !
Fous-lui la paix, Gérard, Pildar !
Ouais, mais attends !
Tu me donnes bien les fréquences !
Mais alors ?
Toi, t'écoches bien les noms, toi tu fais bien des fautes de français, je te dis pas, t'es gentil, quand tu vas faire de la radio, tu fais pas de fautes de français !
Alors, Camembert, 20 ans, de Chuby-Z, donc on peut écouter plein de radios sur 101.9.
C'est FM.
Hein ?
T'es gentil, quand tu dis 101.9, c'est FM, si c'est pour dire n'importe quoi, Gérard, tu les dis pas.
101, 101.9, FM.
Voilà !
Voilà, il faut être précis.
Si ça te plaît pas, c'est le même prix, Camembert.
Allez, ça recommence.
D'accord !
Et je la regarde tous les vendredis soir.
Comment ?
Je regarde ton émission tous les jeudis soir.
D'accord ! Donc, t'as tes PS ?
Bah ouais, je regarde celle-ci.
Ouais, bah...
Eh ! Eh ! Eh ! Stop ! Stop !
Y'a une chose que j'ai oubliée, pour tous les auditeurs...
Vous y allez plus.
Pour... Manu, tu me l'es mis en attente ?
Ça y est.
Donc, pour tous les éditeurs de Fun, qui écoutent à l'heure actuelle Max, le Sarc Système,
dans 10 minutes...
Vous avez Techno Max sur M6. Donc...
Et pour le moment, c'est le débat, hein. Ouais, c'est quand même ton débat, quoi.
Et on reprend le débat. Donc, cachez-vous le plus souvent avec votre argent. On va demander
à Poussin.
Oui ?
Oui, Poussin. Oui, Poussin. C'est quand tu veux, tu réponds.
Bah, qu'est-ce que j'achète le plus souvent ? Bah, des fringues, du maquillage. Et puis,
bah, c'est tout.
Ouais, ouais, ouais.
Et puis, bah, c'est tout.
Et puis, bah, c'est tout.
Et puis, bah, c'est tout.
Et puis, bah, c'est tout.
Et puis, bah, c'est tout.
Et à boire. Qu'on boive en boîte.
Et puis, des clopes.
Et puis, des clopes.
Et puis, des clopes.
D'accord. T'achètes pas mal de trucs, elle, quand même, hein.
D'accord.
D'accord. T'achètes pas mal de trucs, elle, quand même, hein.
Ouais, ouais.
Ouais, ouais. Non, mais, de manière... Je répondrai moins.
Ouais, ouais. Non, mais, de manière... Je répondrai moins.
Ouais, ouais. Non, mais, de manière... Je répondrai moins.
D'accord.
Euh, t'as bourré.
Ouais, bah, moi, j'achète à bouffer, parce que... Il faut que je me nourrisse et mon
loyer, là, aussi. Il faut que je paye mon loyer. Donc, tu vois, j'ai pas trop de fric
pour m'acheter des fringues, ni du maquillage, ni...
Non, mais, attends. À 19 ans...
... acheter à bouffer, enfin...
T'as bourré. T'as bourré. T'as bourré.
Ouais, ouais.
T'as bourré.
Oui.
Pour l'instant, t'es étudiante, toi ?
Non, pas du tout. Je travaille. Qu'est-ce que tu crois ? C'est pas parce qu'on a 19
ans qu'on est étudiant, hein.
Non, mais, eh... Tout à l'heure. Tout à l'heure.
Non, mais, eh... Tout à l'heure. Tout à l'heure.
Maintenant, je me démerde. Mes parents m'ont foutu dehors. Donc, je me démerde. C'est
tout.
Ouais, non, mais, attends. Attends. T'as bourré. T'as bourré. Ça, c'est... C'est
un truc que...
Quoi ?
Je veux pas parler. Donc, dans ces cas-là, t'avais qu'à... Quand je t'ai demandé :
"Avez-vous de l'argent de poste par vos parents ?"
Ouais.
Donc, t'aurais pu me répondre correctement à la question.
Bah, je t'ai répondu correctement. Je t'ai dit que je travaillais, que mes parents
m'en donnaient pas.
Hum-hum.
Et...
Ouais.
Et...
Ouais.
Ouais.
Ouais.
Ouais.
par vos parents.
Donc, tu auras pu me répondre
correctement à la question.
Je t'ai répondu correctement. Je t'ai dit que je travaillais,
que mes parents ne m'en donnaient pas.
Non, non, mais ce n'est pas ce que je voulais faire.
Bon.
Donc, tu as bourré, toi, alors ?
Oui, je t'ai dit.
Il faut que je me nourrisse.
C'est tout.
Ça part de là. Mais vas-y, passe à autre chose.
C'est lourd.
Oui, mais ça, c'est...
Fais gaffe, elle va tomber du tabouret, si tu comptes.
Non, non, non, non, non, non.
On rééquilibre la mortelle.
Non, non, mais attends. Pour l'instant,
son truc,
il est foireux. Elle va réfléchir et on la reprendra.
Non, non, non, non, non.
Non, non, il n'est pas foireux.
Mais vas-y, ne te l'amende pas, ce n'est pas grave.
Non, non, mais ne t'inquiète pas,
j'ai connu ta situation.
Oui, mais c'est bien, je te l'amende pas, passe à autre chose.
Ok. Sandwick ?
Ben écoute, moi, déjà, j'ai mon loyer à payer.
Et puis, en deuxième,
j'ai des petits cadeaux à mon copain,
du moins, mon nouveau petit copain,
parce que je suis très attentionnée, voilà.
D'accord.
Tu me fais bonder ?
Ouais, ben, j'achète des disques,
des casquettes de théo,
ben tout, quoi, les vêtements, tout ça.
Ouais.
Par à lui ?
Ouais, ben moi, écoute, je dépense ma thune, quand même,
pour sortir un petit peu, aller dans les boîtes,
boire des coups, tout ça.
Et, ben, quand même, il faut reconnaître que,
je ne sais pas si tu vas encore poser ton boîte, mais ça,
écoute, quand même, un maximum de fric.
Ouais, mais...
Ben, voilà.
Non, mais attends.
Quand t'es jeune, tout ton argent de poche,
il passe dans le compot.
Attends, quand t'as pas de fric,
quand t'as pas de fric,
comment tu peux faire pour aller en boîte ?
Mais si, j'ai de l'argent de poche,
même si j'en ai pas beaucoup,
moi aussi, j'ai le droit de me déchirer un peu, quoi.
Donc, voilà.
Mais je viens de te poser la question,
si tu n'as pas de fric,
quand tu n'as pas d'argent,
comment tu fais pour aller en boîte ?
Ben, tu...
Par exemple, j'ai des mecs qui bossent...
Oh, le dernier, vous pouvez la fermer !
Tu connais, par exemple,
des mecs qui bossent dans une radio
et puis ils te font rentrer gratos à la boîte
et ils te payent des coûts ?
Bon, euh...
Pas appuyé !
Ben, non, mais c'est un exemple,
tu me demandes, moi.
Je sais pas, cherche-toi,
tu connais des gens de la radio,
donc peut-être que tu peux rentrer gratuit
et boire à l'oeil, j'en sais rien, moi.
Non, non, attends...
Je sais pas si t'as quand même remarqué,
le prix des consos
et le prix de l'argent en boîte,
c'est quand même cher,
tu peux pas dire le contraire.
Non, mais si !
Le prix de l'argent, c'est inabordable.
Le prix de l'argent...
Non, mais attends...
Je veux tirer 100 balles,
ça t'en coûte 500,
je veux dire, c'est quoi, ces histoires ?
Attends, tu payes combien pour aller en boîte ?
En général, vous aurez autour de 300 balles,
ça dépend de la boîte,
mais vous aurez autour de 300 balles, quoi.
Ben ouais...
Si tes parents te filent 50 balles
et que la conso, c'est 50 balles,
tu peux même pas boire dans la boîte,
tu dois être obligé de boire dehors.
Voilà, exactement.
Camembert !
Je fais une collection
et donc ça me coûte très cher
d'acheter des choses pour la collection.
En général, j'achète...
Ouais, parce que je collectionne les ampoules.
Alors j'achète beaucoup d'ampoules
pour ma collection.
Non, mais attends, Camembert,
t'as bien compris la question ?
Oui, je te dis,
j'achète des ampoules pour ma collection.
Gégé, pour une collection d'ampoules,
c'est pas une lumière, hein.
Non, mais pour un cent,
je crois que t'es en dehors de la plaque.
Non, mais attends,
je te dis que j'achète des ampoules.
Je pense...
Non, mais attends,
t'achètes des ampoules pour quoi faire ?
Ben, je fais collection.
T'es grillé, toi, ou quoi ?
Non, attends, je suis grillé pour un cent,
c'est toi qui es grillé.
Non, l'auditeur est grillé.
Il est grillé complet.
C'est toi.
Ben, dis-donc, c'est dis-donc, c'est...
C'est toi qui es grillé
parce que tu réponds pas
à la question correctement.
Bon, tu veux que je te dise quoi ?
Que j'achète des disques,
que je veux au ciné...
Attends, c'est qui, là ?
C'est Camembert.
Attends, Camembert...
T'as fermé ta boîte à Camembert.
Tu as pas de poutre de ma gueule,
tu vas répondre correctement
à la question.
Je vais te foutre de ta gueule, putain.
Il y a pas de putain, d'accord ?
D'accord.
On dit moment de travail,
OK, Tony ?
Ah, non, non, c'est pas toi.
Non, non, c'est pas Tony.
Non, c'est pas moi, Tony,
je te promets.
Bon, ben, attends, je vois...
Attends, c'est la voix de Tony.
Tony, il a une voix de canard.
Non, de toute manière,
n'ayez crainte,
j'ai l'impression que ce soir,
vous avez envie de me faire chier.
Et toi, c'est pas grave.
Qu'est-ce que tu fais ?
C'était quoi la question, déjà ?
Parce que j'ai un peu oublié.
Non, mais attends, toi, pour l'instant,
c'est pas toi que je m'adresse.
Moi, ce que je fais,
c'est que je m'achète à bouffer
et, bon, je me paye des vêtements.
Tu fais des petits cadeaux.
Oui, des cadeaux à 100 euros.
On me demande combien ça te coûte
de l'Adidas tous les mois.
De l'Adidas tous les mois,
pour l'instant,
je n'en trouve pas dans les magasins.
C'est ça qui m'emmerde.
Tu veux le faire importer en France, non ?
Parce que si tu n'en trouves pas en France,
eh bien...
Attends, toi,
je vais te faire importer
une voiture, toi.
D'accord, c'est cool.
Sinon, en parlant de petits cadeaux,
tu fais bien des petits cadeaux à Sandy
ou des trucs comme ça, non ?
Ah oui, mais ça, Sandy, c'est différent.
Bah non, c'est là où tu dépenses ton argent.
C'est quand même dans le débat.
Non, mais attends, Sandy,
c'est différent.
Sandy, c'est ma femme.
Donc, à une femme,
tu as le droit d'y faire ce que tu veux.
Toi, par exemple,
est-ce que tu fais des cadeaux à ta femme ?
Non, jamais.
Non ?
Non.
T'es un peu vache.
Bah ouais.
Moi, jamais.
Même pas.
Moi, j'aimerais bien avec des tresses.
Même pas.
Ou des chaussures compensées.
Je ne sais pas.
Filder, fais gaffe,
parce que tout à l'heure,
tu vas te prendre un café dans la tranche.
Non, j'aimerais bien les tresses à ma copine.
T'as même pas essayé
d'y acheter un petit bouquet de fleurs
à ta copine.
Rien, rien, rien.
Je suis un rat.
Putain, t'es un rat d'un.
Eh ouais, j'ai plein de filles,
mais je garde tout pour ma gueule.
Je suis un rat.
T'es un rat d'un, Rigo.
Oui, il y a Desesperado
qui te demande
combien t'as acheté samedi.
Zéro franc.
Ah bah ouais, on le savait.
Ah si, ah si.
Ah.
Ah si, trois francs.
Prix de gros.
Ah bah non, trois francs.
C'est dans le sentier, non ?
Euh, Manu.
Ah, j'ai rien mis.
Alors là, j'ai rien fait.
T'éteins ton micro, tu bosses.
Quoi ?
Trois francs, c'est quoi ?
Pourquoi trois francs ?
Trois francs, c'est le prix d'une lettre.
Ah !
Il est malade !
Il y a Yannix qui te demande
trois francs, ça fait combien en euros ?
Alors, trois francs en euros,
alors là, je peux pas lui répondre.
50 centimes, c'est la moitié.
Ouais.
Non, c'est 7 francs 50 l'euro.
Non, c'est 6 francs 60 l'euro.
Donc ça fait, ça fait 3 euros.
Bon, j'ai un sondage sauf frais, sinon,
concernant l'argent.
À la question, avez-vous de l'argent,
15% des personnes répondent
oui,
38,654% répondent des fois,
127% répondent 1,
et 2% répondent j'aime pas, j'ai rien.
C'est bien, si c'est même pas bas,
qui reste chez eux.
Ils y sont, je crois.
Donc, pensez-vous,
pensez-vous que sans argent,
pensez-vous que sans argent,
la vie serait plus dure ?
On va demander à Poussin.
De quoi ?
De quoi ?
J'ai pas entendu la question,
j'ai pas entendu la question,
j'étais avec Fildar.
Ah, t'étais avec Fildar.
Je vous demandais de se réveiller un peu,
parce que, Gérard,
si tu peux parler bien devant ton micro,
par contre, ce serait super sympa.
Pensez-vous que l'argent serait plus dur ?
Pensez-vous que sans argent,
la vie serait plus dure ?
Bah ouais, c'est clair.
Donc, tu peux préciser ?
Bah, je peux préciser, en effet.
Bah, l'argent, en fait, c'est matériel, quoi.
Comment ça ?
Eh bah, ça sert à vivre,
sans ça, tu peux pas avoir une maison,
à manger.
Voilà, quand l'argent, t'es pas le bonhomme,
il contribue.
Ouais, mais sans argent, donc,
tu fais quoi, alors ?
Tu fais rien.
Bah, sans argent, t'es à la rue, c'est clair,
t'es sous les ponts.
Hum, d'accord.
OK, je vois à peu près ce que tu veux me dire.
Tabouret ?
Ouais, bah, moi, je pense que sans argent,
la vie serait géniale.
Y'avait pas d'argent, en fait, du tout.
Donc, t'aurais pas besoin de payer pour avoir les choses,
t'aurais les choses naturellement.
Non, mais attends.
Attends, tabouret.
Oui ?
T'as vraiment compris le sens de la question ?
Oui, oui, j'ai compris.
Je veux dire, si l'argent n'existait pas,
bah, t'aurais pas de problème du tout
pour acheter les choses,
puisque t'aurais rien à acheter.
T'aurais même pas à faire le geste,
tout sera à toi.
T'en fous ?
Non, mais attends, je crois que, là,
tabouret, ça m'étonnerait que tu comprennes ma question.
Euh, sandwich ?
Ouais, Gérard, je trouve que, déjà,
la vie est assez dure comme ça.
Déjà, rien qu'avec du fric.
Alors, si on en avait pas,
je crois que c'est la question.
Ah, enfin !
Une qui répond bien à la question.
Elle a un portable, c'est pour ça que t'as...
C'est pas moi, hein ?
On n'y peut rien, je suis désolé.
Le sandwich, c'est avec un portable ?
Oui.
Ah là là, ah là là !
Non, j'avais bien précisé, lors des débats,
pas de portable !
Bah oui, je suis déjà passée plusieurs fois,
j'avais pas de portable avant,
mais là, je suis désolée.
Ouais, mais...
C'est pas tellement aujourd'hui, hein ?
Ah ouais, mais, dans ce cas-là,
t'essayes de voir...
Tu demandes à...
à Fildar qui te rappelle
sur une cabine téléphonique, parce que là...
Non, mais là, j'ai l'air...
Non, mais attends, là, dans ton portable...
Non, mais attends !
Attends, sandwich ! Là, pour l'instant,
dans ton portable, on entend ma voix.
Oui.
C'est agréable, quand même.
Alors là, moi, ça me plaît pas.
D'accord ?
T'essaies de trouver une cabine téléphonique
et tu dis à Fildar
où qu'on peut t'appeler.
C'est impossible.
C'est impossible, Gérard, là.
Ouais, ben, si.
Y a rien qui est impossible.
Gérard, sur Yanty, y a Yanty qui te demande
comment tu fais sans argent pour payer ton portable.
Alors, sans argent,
ben, de toute manière...
Euh...
Une fois que la carte
était à mon nez, ben,
je la renouvelle pas.
Alors, tu me fais bander.
Ben ouais, ben, c'est clair, quand on a pas d'argent,
on peut pas s'en sortir, mais...
Si on a la volonté de réussir,
et de travailler,
c'est sûr qu'on peut en gagner facilement.
Sondier, t'es grillé.
Non, c'est pas Sondier, tu vois.
C'est pas Sondier, là,
qui est au téléphone.
Donc, t'as tout pour celui
qui dit que c'est Sondier.
Parce que pour l'instant, Sondier, elle est en train de...
Elle fait quoi, Sondier ?
Pour l'instant, Sondier, elle t'emmerde.
Mais ils ont rien dit, c'est pas grave.
Non.
Alors, pas à lui.
Ouais, ben, écoute, bon, moi, je suis tout à fait d'accord avec lui.
Je pense que, effectivement, sans argent, la vie est plus dure.
Ça, je crois que c'est clair, c'est acquis.
Par contre, ce qu'il faudrait savoir,
savoir si c'est inné, d'ailleurs,
c'est, est-ce qu'avec de l'argent,
la vie est-elle plus molle ?
Moi, je pense que c'est plutôt à ça qu'il faudrait s'intéresser.
Je voudrais savoir ce que t'en penses.
Non, mais, je te demande si, pour vous,
pensez-vous que, sans argent, la vie est plus dure ?
Tout à fait, tout à fait.
Mais est-ce qu'elle est plus molle si t'en as, quoi, avec ?
Attends, on te me dit, la vie sera plus dure,
même que t'ailles avec de l'argent ou pas ?
Parce que, je reviens,
je reviens à une question.
Est-ce que,
pour, je ne sais même plus la question
que j'avais répondue, de manière,
voilà, pour vous, l'argent fait-il le bonheur ?
De manière, je reprends les questions,
donc, c'est à peu près
à la question numéro un
que tu veux répondre, toi.
Non, ce que je voudrais savoir, en fait, c'est que tu parles de la vie est dure,
est-ce que toi, t'es dur pour de l'argent, quoi ?
Non, non, non, non, non, attends,
tu deviens dur si on te donne de l'argent ou pas ?
Non. Non ? Tu restes mou ?
Non, mais moi, de manière,
avec de l'argent, de manière,
t'iras partout. Sans argent,
t'auras rien. Et de manière,
je reviens à la première
question, pour vous, l'argent
fait-il le bonheur ? De manière, je ne sais plus
qui c'est qui m'avait posé
la question, la question
est simple. De manière,
quand t'as de l'argent, t'as des amis,
et quand t'as pas d'argent,
tu n'as personne. Et ça,
c'est un truc qui me dégoûte,
c'est bien ça.
Ça, c'est bien ça, parce que
quand t'as de l'argent, tu as tout le monde
qui vient te voir, qui vont venir te dire
« Ah, bah oui, tiens,
je réponds tout après. »
Rigaud, oui ? Bah non, continue de répondre.
Non, non, vas-y, vas-y.
C'était juste Mulder, le vrai,
sur l'IRC, qui te demande
si tu penses que sans argent, t'aurais pu téléphoner
tous les soirs à la fin de ta cabine.
Ah, bah ça, de manière, vu que
c'est un numéro vert, tu peux téléphoner,
téléphoner comme tu veux.
Il n'y a pas de problème, même avec
une carte ou qu'il te reste une unité,
tu peux appeler le 0875000,
que si tu vois que ça sonne occupé,
tu vas taper le service et t'insistes.
Et Gérard, est-ce que tu penses que c'est la monnaie
qui dirige le monde, c'est la monnaie qui dirige la Terre
et qu'on ne peut rien y faire ?
La vie, c'est comme ça, on n'a pas tout ce qu'on veut, mon gars.
Qu'on le veuille ou non, quoi.
De toute manière, maintenant, il faut...
Non, mais...
Non, mais il y a des trucs qui...
qui sont assez durs à l'heure actuelle,
c'est que maintenant, sans argent, tu ne peux rien faire.
Donc toi, tu penses qu'il faut arrêter de compter
à mon barrette et compter...
Si tu n'as pas de caillasse, t'es un chien, hein ?
Non, mais même...
Si tu n'as pas de thune, tu ne vaux rien, c'est clair.
Mais même, c'est pas parce que tu n'as pas de thune
que tu ne vaux rien.
C'est quand même beau, la vie, quoi.
Viens voir le docteur, n'aie pas peur.
Le docteur Doc, il n'est plus là.
Tu viens d'avoir 15 ans,
intéressant, quoi.
Arrête tes conneries, Filder, s'il te plaît.
Ah, il fait chaud, hein ?
Non, il est grave.
Pour l'instant, Filder, lui...
Lui, il ferait mieux de se taire.
Camembert, Camembert, pourquoi ?
C'est un passement de jambe sur le bit de flambe, hein ?
Comment ?
C'est un passement de jambe sur le bit de flambe.
Non, non, d'accord. Alors, Camembert, c'est terminé pour toi.
Non, non, pour l'instant, tu viens de répondre
à côté de la plateforme.
J'ai compris la question, effectivement.
Je pense que si on n'avait pas d'argent,
moi, sans argent, je ne pourrais pas tâcher
puisque je ne pourrais même pas avoir un téléphone
puisqu'il faut déjà l'acheter avant de pouvoir faire le 0800.
Non, non, non, non, non, non, non, non, non, non, non, non.
Le téléphone, tu dois l'acheter.
Non, tu n'as pas besoin d'acheter un téléphone.
Le truc,
une chose
qu'il faut bien se dire dans sa tête,
tu prends une carte,
pour prendre une carte téléphonique
et avec une carte téléphonique,
tu peux avoir,
tu peux l'avoir, le numéro.
Parce que...
Pour avoir une carte téléphonique,
il faut l'acheter,
même si tu n'as pas d'argent.
Il faut l'acheter, même si tu n'as pas d'argent.
Il faut l'acheter, même si tu n'as pas d'argent.
Et s'il ne reste plus qu'une unité, il faut déjà l'acheter.
Non, non, non, non, attends, le 0803-08-5000,
il est gratuit.
Donc moi, je peux te confirmer,
moi, je l'ai déjà fait plus d'une fois,
avec une unité.
Oui, mais je suis d'accord.
Non, non, mais attends, tiens mon verre,
pour un instant, tu me laisses répondre.
Je réponds à ta question, on est bien d'accord.
Avec la carte, avec une unité,
tu peux appeler toute la nuit,
jusqu'à temps qu'on te réponde.
Je suis d'accord, mais pour appeler,
il faut déjà avoir une unité.
Et pour avoir une unité,
il faut déjà avoir acheté une carte.
Et pour avoir acheté une carte, il faut avoir de l'argent.
Bon, dans ce cas-là,
t'essayes de voir si t'as des bons amis.
De toute manière, les amis,
il faut les compter sur les 5 doigts d'une main.
On est d'accord, Camembert ?
Nous sommes d'accord, mon petit Gégé.
Donc, moi, pour l'instant,
j'ai que 3 amis.
Donc, sur 3 amis,
je peux m'en sortir.
Mais oui, mais moi, j'ai pas d'argent,
donc j'ai pas d'argent.
Donc, je peux pas me faire passer de carte.
Mais non, mais attends,
t'as des voisins ?
Oui, mais non, je suis SDF.
Non, mais attends, tu te fous de ma gueule, là, ou quoi ?
Non, non, je t'appelle d'une cabine.
Bah, la carte, je l'ai trouvée dans le nom de la cabine.
Ah, il a du bol, quand même.
Il a quand même un peu de bol, ce mec.
J'ai peur qu'il me demande qui sont tes amis.
Qui sont tes amis ?
Mes amis sont...
Je donnerai pas les noms à l'antenne.
Non, mais tu donnes pas les noms.
Non, mais je sais pas, ça peut être une voisine,
ça peut être un copain,
un copain d'école, j'en sais rien.
Non, non, je donne pas les noms à l'antenne.
Mais c'est pas des noms, ça, de dire que c'est ta voisine ou un copain d'école.
C'est pas les noms, c'est de dire ce que c'est.
Non, non, mais j'ai trois amis,
et ces trois amis-là, j'y tiens.
Atos, Porto, c'est Aramis, non ?
Voilà.
Tu peux me donner
la petite fiche, là ?
Ah, pour le disque ?
Donc, pose la question.
C'est la combien ?
La sixième.
Ah, encore quatre.
Je taquine. Vas-y, pose.
Alors, avoir un portable
avec ou sans argent,
peut-on y arriver ?
Et on va s'écouter.
Si quelqu'un veut gagner de la thune
à ma place,
c'est OK.
Avec des cacahuètes en plus.
Donc, vous pouvez toujours nous appeler
au 0803 085000 et 0870 5000.
Et toujours lire
c'est www.fr.
Et pour les Belges,
0033 147 259 50.
Et on se retrouve tout de suite après.
Et voilà, donc, vous venez d'écouter
un remix qui a été fait
par un auditeur, donc,
deux sur moi, donc...
Qui se vend sous le menton, je te rappelle.
Donc, je sais pas qui c'est qui a fait ce remix.
On sait pas non plus que ça se vend sur les marchés au puce.
Ouais, c'est ça.
Et donc,
qu'est-ce que je voulais vous dire d'autre ?
Donc, le premier disque, c'était
si quelqu'un veut gagner
de la thune avec ma
place, c'est OK.
Donc, avec des cacahuètes en plus.
Donc, pour l'instant,
vous pouvez toujours nous appeler au 0803 085000
et 0870 5000.
Et toujours lire
c'est www.fr.
Rigo vous y attend.
Voilà, et ça cartonne grave du fait que le débat s'est calmé.
Il y a beaucoup plus de gens.
On a dépassé les 4000 déjà.
On est à 4122, moins en racine de 3.
4000, un 4, un 1.
4000, un 1.
4122.
Racine de 3 qui vaut à 4 quand même.
Non, non, 4122.
Donc,
alors, qu'est-ce que je voulais vous dire d'autre ?
On va peut-être faire un petit sondage, non ?
Un petit sondage, alors.
Combien dépensez-vous d'argent par mois ?
Donc, 50%
dépensent plus de
100 000 euros.
Donc, pour l'instant, l'euro,
on n'y est pas encore.
Oui, mais ça a été cherché sur le site de l'euro.
C'est pour ça que c'est en...
1 euro.
D'accord, Régo.
Attends, il y a le métro, là.
Je m'en fous.
20% dépensent moins de 3 francs.
Ça, c'est pas beaucoup.
Donc, ça, je ne sais pas.
25% veulent être payés
pour répondre à la question.
Ils vont se faire foutre.
Que dalle.
5%
pensent que Gérard de Suren
gagne de trop.
Alors, ça...
Hop !
Qu'est-ce que t'en penses, toi ?
Poubelle !
Qu'est-ce que t'en penses, Gérard de Suren ?
Poubelle, c'est des conneries.
Tu crois que tu ne gagnes pas assez ?
Ça, c'est pas ton problème.
C'est pas ton problème, c'est mon problème.
Est-ce que t'aimerais être augmenté, alors ?
Ça, tu peux le dire.
La direction écoute.
Ça, ça ne regarde personne.
Si j'ai besoin de demander quelque chose,
je passe par mon chef.
Moi, je te dis, pour ce que tu fais,
je donnerais beaucoup plus.
Je te donnerais beaucoup plus d'argent.
Toi, pour l'instant, tu fais déjà ton boulot.
Je suis prêt à donner
la moitié de ma paie, si tu comptes.
Pour l'instant, donne...
Attends, attends...
C'était pour blaguer, vas-y.
Non, non, non, non, non, non, non.
Mes genoux.
Gérard de Suren fout.
Pensez-vous que l'argent est important ?
Donc, 60%
ne savent pas à quoi ça sert.
C'est ça, à quoi l'argent ?
En fin de compte, ça sert à manger.
Donc, 20%
préfèrent l'art.
Alors là, je ne vois pas le rapport
avec l'argent.
Bah si, ils préfèrent l'art que les gens.
L'argent.
Bah, dans ces cas-là,
30% n'ont jamais répondu.
Alors, est-ce que l'argent
fait le bonheur ?
Donc, c'était la question...
C'était la question, la question,
la question, la question...
1.
Alors, donc, 50% ne savent pas
ce que c'est le bonheur.
C'est dommage, parce que le bonheur,
ça n'arrive pas qu'aux autres.
Ça peut arriver à tout le monde dans la vie.
Et c'est simple.
Et il y en a, il y en a qui se moquent
parce qu'ils n'ont pas encore trouvé
leurs chaussures à leurs pieds.
N'est-ce pas, chef ?
Allez, hop !
Oh, tu l'as cassé, hein !
Tu l'as cassé, hein !
On va te mettre un peu de...
On va te mettre un peu de sucre, hein !
On va te mettre un peu de sucre sous les pieds.
Ah, ça va donner un...
Pour que tu trouves la chaussure, on va te mettre du sucre.
Ne t'inquiète pas, tu vas la trouver.
Tu vas voir.
Je pense qu'avant...
D'ici...
D'ici le...
5 ou 10 ans, ça sera bon.
Non, d'ici le 2-3 janvier,
tu auras quelqu'un de sûr.
Tu verras.
Tu verras.
Tu trouveras ton bonheur.
Gérard, tu me dis,
il y a Yankee qui te demande si le bonheur, pour toi,
c'est pas de te payer un cerveau.
Non. Moi, mon bonheur, je l'ai maintenant.
Je suis tranquille.
Ah, t'es insortable ?
Non, mais moi, j'ai mon bonheur.
Moi, j'ai pas eu...
Moi, j'ai...
J'ai trouvé la chaussure à mon pied.
Ouais.
Donc, le chef, il va la trouver pour le 2-3 janvier.
Coupe-toi les ongles, quand même, des pieds.
Non, non, mais...
C'est des corps, à ce niveau-là.
Non, non, mais faut qu'il essaye de voir.
Tu mets des chaussures en transpiration ?
20% n'ont pas d'argent.
Ça, c'est sûr que...
Là-dessus, on peut rien faire.
Et 30% ne comprennent pas la question.
Alors, là...
Ils sont cons, parce que c'est quand même simple.
Parce que l'argent fait le bonheur.
Le bonheur, c'est l'argent, c'est tout.
Ouais, non, mais...
Ils ne comprennent pas la question, donc c'est pas grave.
Bon, on n'a pas d'argent, ça, c'est sûr que...
De toute manière, avec...
Si t'as pas d'argent, de toute manière, tu peux rien faire.
De toute façon, c'est la conjoncture.
Voilà.
Avec Patel.
Donc, on va...
La conjoncture qui vit.
Donc, on va récupérer Poussin.
Allô ?
Ouais, Poussin.
Ouais, Poussin, ouais.
Donc, tabouret.
Ouais, toujours là.
Sandwich.
Toujours là aussi.
Tu me fais bander.
Toujours là aussi.
Parapluie.
Galopos.
Et Camembert.
Je suis dans ma cabine, c'est ça.
C'est bon.
C'est quoi, là ?
Donc, Camembert, s'il repasse avec...
Non, mais c'est pas Camembert, c'était une fille.
Je sais pas si t'as remarqué, mais t'as quatre nanas, quand même.
Quatre nanas.
T'as quatre nanas, gamin.
C'est parce que ça groove.
Ça groove grave, là.
Ça prend la couche.
Tu vois, elle écoute de la musique, en plus.
Faudrait peut-être qu'elle arrête aussi.
Tu vois, ou tu me fais bander, t'arrêtes ta musique.
Elle brandit, là.
Voilà.
Donc, avoir un portable...
Elle est chouette, en plus.
Merci, je peux poser la question ?
Vas-y.
Bon, oui.
Avoir...
Gérard ?
Attends, il pose la question, Camembert.
Vas-y, Gérard.
Vas-y.
Avoir un portable, avec ou sans argent, peut-on y arriver ?
Oui.
On va demander à Poussin.
Moi, je pense que, déjà, quand on achète un portable, il faut avoir de l'argent.
Et quand on vend un portable, il faut...
Bah, il faut investir.
Et que ça se réfléchit, quoi.
Parce que, déjà, ça rapporte, quoi.
Ouais, mais tu peux aller plus loin dans...
Bah, pour m'analyser ?
Bah...
C'est vrai, c'est une analyse.
Bah, aller plus loin, euh...
Non, mais tu...
Hé, Fildard.
Tu coupes la personne qui s'amuse à dire ça, et tu coupes ton micro quand je parle.
D'accord.
Je vous rends de ça.
Tu devrais le savoir, de toute façon.
Le dictateur.
Alors, euh...
Donc, euh...
Pour toi, Poussin.
Ouais.
Bah, moi, j'ai répondu.
Ah, t'as répondu ?
Bah, oui, moi, je pense que...
Je sais pas, avoir un portable...
Je sais pas, il faut investir...
Je sais pas, ça s'investit, quoi.
Non, mais attends...
Ça s'est réfléchi.
Non, mais attends.
Par exemple, si quelqu'un te vend un portable...
Ouais.
Tu...
T'achètes une carte ?
Une carte ?
T'achètes une carte, euh...
Sans abonnement.
Bah...
Bon, c'est...
Hé !
Attends, Poussin.
Hé, celui qui s'amuse derrière à dire des conneries, arrête !
Allô ?
Parce qu'elle est avec ses copines, Poussin, c'est pour ça, quoi.
Non, non, non, c'est pas Poussin, attends.
Non, t'es pas mort !
Non, moi, je suis toute seule, moi.
Attends, Pilsard, tu...
Pilsard, tu me fais du bon boudon ?
On avait comment...
On avait...
Bah, c'est impeccable, vas-y, je vais...
Ouais.
Ouais, c'est impeccable.
Donc, t'as bourré.
Moi, j'ai pas fait une réponse.
Réponds-moi !
Bah, vas-y, Poussin.
Bah, moi, je dis que quand on a un téléphone, il faut investir, voilà.
C'est pour ça que tu m'interromps ?
Ouais, t'avais déjà fini, alors, Poussin, hein.
Ouais, bah ouais, d'accord.
Ok.
Ah, d'accord.
Euh, t'as bourré.
Derrière, les mecs, vous fermez vos gueules.
Ok.
Merci.
Ouais, bah...
T'as bourré.
Ouais, bah, moi, une fois, j'ai gagné un portable sur Fun.
Ouais.
Et, euh...
Et, en fait, quand j'ai reçu le dossier, les abonnements étaient trop chers.
Donc, j'ai pas pris, quoi.
Non, non, mais attends, attends.
Et, de toute façon, mes amis m'ont dit qu'ils m'appelleraient pas sur un portable, c'était trop cher.
Alors, t'as bourré.
Je vais te dire une chose.
Ouais.
Que lorsque tu gagnes un portable...
Ouais.
Sur Fun Radio...
Ouais.
Normalement, la mise en service, c'est gratuit.
Oui, la mise en service, oui, mais tu payes tous les mois un abonnement, et moi...
Et alors, bah, dans ce cas-là, si t'as pas envie de payer d'abonnement, tu reprends, tu fais une chose...
Ouais.
T'en gagnes un tous les mois.
Tu retournes là où le portable, tu l'as eu...
Ouais.
Et tu demandes à avoir une MobiCard.
Ouais.
C'est clair, net, précis ?
C'est la pub, ma...
Hein ?
OK.
Ouais, ouais.
Bah, je ferai ça, ouais, avec mon dossier.
Ouais.
OK.
D'accord ?
Ouais, mais enfin, merci quand même à Fun de m'avoir offert un portable.
Y a pas de quoi, y a pas de quoi.
Et tu l'as gagné quand, par Fun Radio ?
Oh là là, y a, je sais pas, six mois.
Ouais.
Ouais, c'est ça.
Ah, c'est pas mal, hein.
C'est pas mal.
Ouais.
Bon, fil d'or.
Hop.
Je peux même pas participer.
Non, non, toi, tu t'écrases.
Ah, super.
Toi, tu t'écrases, tu fais ton boulot.
Ouais, bah, je veux faire.
Hein, OK.
Euh...
Tu me fais bander.
Merde.
Merde ?
OK, bah, t'fais refoutre.
C'est bon pour...
Tu me fais bander, tu me...
Tu me prends quelqu'un d'autre.
OK.
T'as rappelé ?
Ouais, bah, écoute, c'est clair qu'il faut avoir de l'argent pour avoir un portable potable, quoi.
Donc, moi, ce que je te conseille, c'est le Tattoo.
C'est un peu moins cher.
C'est tous les trucs genre Tattoo, Tamtam, Cobi.
Oui.
Parce que tu vois, bon, alors, après, le problème, c'est que tu ne peux pas que ton numéro passe à l'antenne.
Je crois que tu connais le problème.
Sinon, bah, tu peux...
Tu prends un téléphone avec un fil et puis tu tiens une rallonge.
C'est des merdes.
Euh...
Bah, tu tiens un câble, il n'y a que ça à faire.
Si t'as pas de thunes pour avoir un sans-fils...
Non, mais attends, tu vois, le Tattoo, c'est pareil.
De quoi ?
Parce que le Tattoo...
Non, non, mais attends, attends, attends.
Attends, je vais te répondre par appui.
Le Tattoo, d'accord, on...
Moi, j'ai eu des problèmes avec.
Mais j'ai été forcé de faire changer mon numéro.
Hein, t'es...
Ouais, je me souviens, ouais.
Donc, t'es au courant ?
Yes.
Hein ?
Do you know...
Do you know speak English ?
Yes, I want to talk to you in the ass.
Yeah.
Yes.
Yes, I want to explore...
Yeah, yeah, yeah.
Ah, non.
Ah, non.
You want to talk to me in the ass ?
Non, je...
Euh...
Déjà, je peux te dire une chose.
Il faut que tu mettes une pile dedans.
C'est vrai.
Ouais, une pile, ça coûte pas trop cher, c'est bon.
Euh...
Ouais, mais...
Vu les piles qu'on a dedans, c'est pas évident.
Si tu reçois beaucoup de messages que t'es une star,
c'est sûr, les piles, elles se vivent rapidement, quoi.
Dites-le moi en position vibrante, en permanence, dans la poche,
tu vois ce que je vais dire ?
C'est sûr, ça se vive.
Hum-hum.
Ah ouais.
Non, mais, te dire, le tatou...
Ouais.
Le tatou avec la pile, si personne t'appelle,
donc, il va s'éteindre à une certaine heure que tu programmes,
il va se rallumer à la même heure.
Ouais, Gérard, sans vouloir te vexer,
c'est pas...
Ni le débat, c'est pas les tatous ni les portables, quoi.
C'est la thune.
Ouais, mais...
Donc...
Donc, j'ai bien répondu à ta question, par appui ?
Ouais, impeccable.
Camembert ?
Pardon, impeccable.
Ouais, on aime mieux ça.
Camembert ?
Oui, ben moi, en fait, je pense qu'on peut avoir un portable sans avoir l'argent,
parce que j'étais dans la rue, parce que je fais le def,
et puis il y a un camion qui est passé,
et puis il y a une caisse qui est tombée,
et puis il y avait plein de portables dedans.
Non, mais attends, là, pour l'instant, Camembert,
t'es en train de me dire des conneries,
Alors si c'est pour continuer à dire des conneries. Non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non, non.
Gérard, Gérard, sur l'internation, on te demande de répéter la question parce qu'ils n'ont pas entendu.
Alors, avoir un portable avec ou sans argent, peut-on y arriver ?
Ok.
Alors, septième question. D'après vous, l'euro sera-t-il plus efficace que le franc ?
Ça, c'est une bonne question.
On va demander à Poussin.
C'est dégueulasse.
Je n'ai pas entendu la question.
Oh !
Est-ce que l'euro est quoi ?
Est-ce que l'euro sera plus efficace que le franc ?
Non, moi, je pense que non. Parce que déjà, pour les personnes âgées, ça va être compliqué.
Et le temps qu'on assimile tout ça, il nous faudra bien, je ne sais pas, au moins cinq ans.
Non, mais déjà, déjà, il faut se dire une chose.
Ouais.
Avant que tous les autres répondent.
Moi, je peux vous dire une chose, que l'euro, pour l'instant, c'est prévu pour là, 2000, pour 1999.
Donc, ça ne sera que les pièces.
Les billets seront prévus qu'en l'an 2000 ou 2002.
Ben, vas-y, continue !
En l'an 2000 ou 2002.
Donc, maintenant, j'ai vu des pubs.
Il paraît qu'on peut...
On peut garder même la carte bancaire.
Les petits dessins animés, là, à la télé, c'est ça ?
Ouais.
Des trucs.
Ouais.
Ils peuvent...
On peut garder...
Par exemple, t'as une carte bancaire, tu vois, une carte bleue.
Ouais.
Et tu pourras payer avec ta carte bancaire.
En franc.
En franc ou en euro.
Et comment je fais pour choisir ?
Avec ma carte bleue, il y aura un bouton dessus ?
Non, non, mais...
Je sélectionne euro ou...
Non, non, ça sera là, au magasin, où tu iras.
Gérard ?
Oui, euh...
Si on regarde ici, on me dit que l'euro, c'est quand t'as bien mangé.
Non, non, non, non.
Ça, ça n'a rien à voir.
Et on te demande si l'euro sera plus fort qu'elle le paie.
Non, ça, je ne réponds même pas.
C'est Zeewee qui demande ça.
Ouais, ben, Zeewee, je n'y réponds même pas à sa question.
Pas de politique.
Donc, poussin.
Ouais.
Donc, pourquoi ?
Ben, pour moi, c'est une source d'emmerde, quoi, parce que ça ne sert à rien.
Déjà, l'avantage, c'est que ça va être une monnaie européenne.
Et moi, je pense que, déjà, moi, déjà, ça me fait chier parce que ça ne sert à rien, voilà,
quoi.
Les personnes âgées, ça va, ça va...
Franchement, les personnes âgées, ça va leur faire chier, quoi, tant qu'elles affluent
tout ça.
Elles vont crever, donc...
Voilà, quoi.
Tu sais, qui c'est qui dit que les personnes âgées peuvent crever, là ?
Je n'ai pas dit qu'elles peuvent crever, j'ai dit que...
Ah, c'est dégueulasse, Sam.
C'est dégueulasse.
Mais non.
Non, non, non, mais attendez, attendez, attendez.
Il faut bien se dire une chose, que l'euro, ça va emmerder tout le monde.
C'est que là, ça ne sert à rien.
Et ça, ça va, je dis, emmerder plus les personnes âgées.
Le tabouret.
Oui.
Donc, pour toi ?
Moi, je pense que c'est génial, l'euro.
Et moi, j'attends vraiment une monnaie mondiale.
Ce n'est pas que pour l'Europe, c'est vraiment pour le monde.
Je ne sais pas, ça paraît le mondiaux, je ne sais pas, le périod.
On ne s'emmerderait plus, au fond de terre, à changer les monnaies.
Ce serait la même monnaie partout, pareil.
Non, mais de toute manière, l'euro, tu vas être obligée de changer, hein ?
Oui, non, mais je suis d'accord, mais...
En euro, par exemple.
Mais tu vas être obligée de changer.
Tu vas être obligée de changer le franc contre l'euro.
Oui, bien sûr.
D'accord.
D'accord ?
Il y a quelqu'un qui se fait tirer sa caisse, hein ?
Tu me fais bander.
Non, elle est partie, tu me fais bander.
C'est pour ça que je voulais t'annoncer.
Donc, ta sandwich, quand même, Gérard, ne t'oublie pas.
Puis tout à l'heure, elle est là, elle attend.
Ben, sandwich.
Ben, merci, quand même, ouais.
Tu as répondu à la sixième ?
Ben non, je n'ai pas répondu, mais bon, ce n'est pas grave.
Non, non, mais attends, je...
Non, elle veut...
Non, non, non, attends.
Avoir un portable avec ou sans argent, peut-on y arriver, donc, pour toi ?
Ben non, pas pour moi, non.
Non ?
OK, septième.
Merci.
Septième, ouais.
Ouais, donc, je voulais...
Ouais, mais attends, il faut préciser les gens qui restent.
Ben oui, ben, c'est marqué.
Ben ouais, mais si tu me dis...
Si je fais tout le monde et que tu ne me précises pas qu'il y a une personne qui n'a pas répondu,
il faut me le dire, hein.
Ben oui.
Non, c'est alors sandwich.
Ben, écoute, moi, pour moi, au niveau de la manifestation qu'elle finit, elle parlait, là.
Moi, je suis un peu...
Je suis un peu...
Comment dire ?
Je ne suis pas vraiment d'accord, parce que je crois que ça va être trop tard, de toute façon.
La manifestation, elle ne changera rien, hein.
Non, mais même, de toute manière, l'euro, là, il arrive dans moins de 15 jours.
Oui.
Donc, juste après les fêtes de...
L'arrêt de vous ?
Ah, c'est le 1er janvier, l'euro ?
L'arrêt de vous ?
Ouais.
1er janvier, là ?
Le 2 janvier.
2 janvier 99, t'auras les pièces.
On va faire comme toi, on va payer notre dinde en euros, là.
Non, non, non, tu vas faire les fêtes de fin d'année, si tu veux, avec le fond normal.
Ah, là ?
Et au moment de...
Le 2 janvier, juste après les fêtes de fin d'année, tu vas avoir de l'euro.
Mais là, par contre, il ne faudra pas mélanger, par exemple...
C'est un bordel, hein.
Non, mais attends, regarde.
T'as déjà des euros ?
Non, non.
Je prends 5 francs.
Moi aussi, j'en ai.
Tu vas avoir des euros en plus.
Et là, je ne sais pas, parce que...
Des zéros ou des euros ?
Oh, tais-toi, toi.
Non, il faut savoir.
Tais-toi, toi.
Tu l'ais, toi.
Bah, OK.
Non, je ne sais pas, parce que moi, j'ai une pièce, là, je ne sais pas, d'où qu'elle sort.
Il faudrait que je voie si c'est pas un euro ou pas.
Non, mais c'est un genre de pièce d'emprunte.
Mais il y en a déjà, des euros, actuellement ?
Non.
Ben, je pense.
Gérard, il y a Turpentine qui te demande si la vie sera moins dure avec l'euro.
Euh, non, je pense qu'elle sera pareille, hein.
Ouais, c'est la même chose, c'est de la monnaie, de toute façon.
Ouais, mais même, elle sera aussi dure, hein.
De toute manière, en fin de compte, c'est pas pour nous que ça va être le plus dur.
Ça va être pour les personnes âgées, comme certaines personnes m'ont dit.
Ouais, tout à fait, tout à fait.
Ouais.
Ça va être le plus dur, ça va être pour les personnes âgées.
Il faut les tuer à la naissance.
Ouais, non, mais attends, il faut les tuer à la naissance, et si on vous tue, vous, à la naissance,
bande de cabs.
Gérard, sur IRC, il y a Daf qui me dit que le masque de Zorro, il est déjà sorti, hein.
Bon, ben, attends, lui, il est carrément en dehors de la plaque.
Après, Sandwich, donc, à la place de Tu me fais bander, on a Roblochon, 19 ans, de Brest.
Salut, Roblochon.
Salut.
Voilà, donc, il peut répondre.
Ouais, Roblochon, je t'écoute.
Ben, ouais, je sais pas, tu peux répéter la question, parce que j'ai pas bien écouté, là, en fait.
Eh, putain, mais merde !
Il est au standard avec moi, GG, merde.
Non, mais attends.
Non, moi, quand je suis...
Gérard, arrête de tourner comme ça, tu fais mal à la tête, t'as vu ?
Ah, le portable qui vient, là.
Ouais, le portable...
En plus, il y a quelqu'un...
En plus, il sonne, ben, je vais essayer de gérer le portable, Gérard, vas-y, pas la Roblochon.
Alors, Roblochon, je t'écoute.
Non, mais attends, tu peux répéter la question, parce que j'ai...
Alors, d'après vous, l'euro sera-t-il plus efficace que le franc ?
Ben, ouais, je sais pas, peut-être.
Ouais, ouais, ouais, ouais.
Hum ?
Par rapport à d'autres pays, ouais, ça ira mieux.
Euh, Camembert ?
Euh, non, Camembert, attends, 5 minutes.
Sur IRC, il y a Sardine qui te demande, avec l'euro, est-ce qu'il va falloir changer les billets du Monopoly ?
Ben, pour l'instant, les billets ne sont pas prévus.
Donc, les billets sont pas avant l'an de...
Pas avant 2002.
Donc, qui commence pas à nous casser les burnes ?
Ben, il y aura que des pièces au début.
Au début, oui.
On aura des pièces de 5000 balles ?
Non, ça sera des pièces... Je sais même pas...
Des pièces de voiture, des pièces de moto ?
Non, euh, donc...
Donc, Camembert ?
Non, parapluie, Camembert, il est parti.
Alors, parapluie ?
Ouais, ben, écoute, moi, ce que je peux te dire, c'est que l'euro, ça marchera mieux en Europe.
Et que, si t'es en dehors de l'Europe, donc, par exemple, en France, ben, il vaut mieux utiliser le franc.
Hum.
Par contre, ce que je peux te dire, c'est que ça va poser des problèmes, parce que, tu vois, ça va plus te faire des contrôles.
C'est-à-dire que, bon, je prends un exemple, faut pas que tu t'énerves, imagine, tu vas aux putes te faire sucer, ça coûtait 100 francs.
Hum.
Maintenant, il va falloir que tu viennes avec de la monnaie.
Parce que, t'imagines la galère, les putes, elles vont se travailler avec des sacs entiers de monnaie.
Parce que, 100 francs, ça fait quoi ? Ça fait 15 euros et des centimes, tu vois ?
C'est clair.
Et, t'imagines, les putes, elles vont passer leur temps avec des tonnes et des tonnes de monnaie.
Ouais, avant...
Oh, oh, oh, derrière, vous le laissez parler.
Avant, quand j'allais pécho une red bat kiff, c'est 100 francs.
Là, pareil, ça va plus faire des contrôles, c'est pas possible, ça va être trop une galère.
Ouais, tu m'étonnes, maintenant, on va avoir plein de pièces dans les poches, et voilà.
Mais, ouais, mais, mais, attends, attendez, attends, attends, attends, reblechons, reblechons.
Ouais.
Je vais calmer tout le monde.
De toute manière, s'assoyez avec des pièces ou des billets, de toute manière, on sera toujours emmerdés.
Mais, on sera toujours bien sucés, ça c'est clair.
Ça c'est clair.
Mais, t'imagines, les putes, elles vont se trimballer avec des sacs en deux pour se trimballer la monnaie, quoi.
Mais, tu dis pas putes, c'est ce que tu dis.
Ah, pardon, les péris, pas péris.
On dit maman travaille, ok, on passe péris.
Gérard, attends, sur l'URC, il y a Mulder, le vrai, donc le vrai, qui te demande si l'euro fera de toi un homme riche.
Non.
Non, pourquoi ?
De toute manière, même avec de l'euro, tu pourras pas être riche, c'est pas facile.
Mais dans quel sens ?
Non, mais ça serait impossible, tu peux pas être riche avec de l'euro, ça c'est impossible.
De toute manière, ça va être un débat que je pense qu'on...
Ah, on va le faire, ce truc-là ?
On le fera l'année prochaine.
Si, si, tu l'as déjà fait l'année dernière.
Ah, je pense qu'on l'a cassé.
On a déjà fait un débat sur l'euro.
Ah, je m'en souviens.
Comme si j'y avais participé, je m'en souviens.
Mais t'as pas fait sur l'EP, par contre.
Ah ouais, c'est vrai.
T'as fait sur l'euro, mais pas sur l'EP.
Euh, Vasquerie.
Oui, bonsoir, je suis Vasquerie, j'ai 21 ans, j'appelle de Lyon.
Ouais, ben, on le sait, j'ai la fiche...
Ouais, ben, je t'écoute.
En fait, moi, j'ai de la famille en Italie.
Ouais, mais t'as pas une vache qui pleure ?
Je suis pas t'excité.
Oh, c'est rien, ouais !
T'as pas une vache qui pleure ?
Tu m'as vanné, tu m'as vanné.
Mais par contre, oui, donc j'ai de la famille en Italie, donc je voyage beaucoup.
Et c'est clair, quand je passe au change,
parce qu'il faut changer l'argent,
ben, je perds beaucoup.
Tandis qu'avec l'euro, je perdrai moins.
Le voyage sera plus abordable.
Par contre, c'est un aspect négatif,
parce qu'en Italie...
Hé, là, attends.
Vache qui rit.
Hé, la salope !
Qui est en train de se prendre son pied.
Arrête !
Et par contre, je vais saluer
un petit Lyonnais qui travaille à la radio
le matin de 6h à 9h.
C'est M. Babart !
Parce qu'il nous écoute,
et il me dit à chaque fois...
À ce temps-là, il écoute, c'est sûr.
C'est con, parce qu'on ne lui sait pas le débat.
Non, oui.
Ouais, ben, on se calme après, Bart.
Il va vous laisser, il va vous réveiller
demain matin, entre 6h et 9h.
Euh, on se calme derrière !
Pour revenir au débat,
il y a Perforas sur l'IRC
qui te demande comment...
Le vrai ?
Ouais, le vrai, aussi.
Et, putain, il y a de la célébrité ce soir.
Comment est-ce qu'on pourra jouer pile ou face avec l'euro ?
Eh, c'est pas con.
Ah, ben, alors là, déjà,
il faudrait que j'aille d'une pièce d'euro
pour essayer de savoir d'où
est le côté pile ou face.
Donc, huitième question.
Bon, parce qu'après, on va attaquer
le deuxième débat.
Oh !
Ouais, mais ça y est, pour moi, t'as fini.
Attends, je voulais juste ajouter
que, ben, l'euro, tu vois,
qu'en Italie, un euro, ça vaut 6 000 lire.
Non, ça vaut pas 6 000 lire,
ça vaut 6 francs, 6 francs 50.
C'est pas en Italie, c'est pas en Italie.
Oh, mais, mon dieu !
Un euro, ça vaut 6 000 lire italienne.
T'en fous de ton cul !
Eh, moi, t'en es une salope !
Attends, attends, attends !
Mais, c'est un mec, ça.
S'il vous plaît, s'il vous plaît !
Un peu de calme !
Non, ça y est, c'est terminé.
Non, mais attends, j'ai pas fini. Maintenant, tu me laisses parler.
Oh, si je veux !
Erreur, je peux te poser une question ?
Oh, ta gueule, elle est la tienne !
Non, mais calme !
Donc, tu me laisses...
Tu me laisses parler, Gérard ?
Non, t'accouches, parce qu'il a déjà eu...
Donc, en Italie, un euro, ça vaut 2 500 lire.
Et donc, tu passes de 2 500 à
un, donc tu y perds.
Quoi ?
Attends, attends, je prends des notes, je fais des divisions.
En Italie, un euro...
Gérard, prends des notes, merde !
Tu fais une tournée en Italie, après.
Alors, un euro, ça fait...
Non, non, laisse tomber, laisse tomber, laisse tomber !
Mettez-vous de l'argent !
Un euro...
Mettez-vous de l'argent aux autres !
Bon, ça y est, ça y est, ça y est, ça y est !
Oh !
253 couronnes.
Non !
Gérard, assieds-toi, assieds-toi, frappe pas, file d'un.
3, 2, tu marques, ok ?
Voilà.
Oh, merde !
Et sinon, Gérard, il y a Yannix sur l'IRC qui te demande
comment on fera pour retirer de l'argent
quand ce sera en euros, vu que là, on tire
100 francs, c'est un billet, mais...
En euros, on va tirer des pièces ?
Ah, voilà. Voilà la question
que j'attendais. Enfin, une bonne question sur l'IRC !
Il y a que toi qui parraille bien,
pour l'instant, Rigo.
C'était une question de Yannix.
Le vrai Yannix.
Mais ça y est, Gérard,
arrête de me faire des signes, je sais ce que je fais.
Alors, donc, pour...
Bon, ça y est, bravo !
C'est le tel à bien travailler !
Bravo, Rigo !
Merci, les mecs.
Bon, faut s'appeler les Blancs, hein.
Donc, pour l'instant, les billets,
ils sont prévus
pour 2002.
Donc,
par distributeur,
je sais pas si t'auras les pièces, t'auras toujours
les billets normaux. C'est faux.
Quoi, c'est faux ?
Ouais.
C'est grave.
Pourquoi c'est faux ?
Bah, je sais pas, c'est toi qui pose la question.
Ah non, moi, j'ai pas le micro allumé, hein.
Bon, enfin, bref.
Mettez-vous de l'argent.
G, G, G, G, G, G.
Ok.
Je vous écoute.
Ouais, c'est par rapport à ce que les billets
et les pièces, c'était en 2002.
T'es juste comme un héros.
Attends, toi, la salope,
tu vas te faire baiser par
quelqu'un d'autre, Gérard.
Oh, qui t'en cul.
Bah, moi, je t'emmerde.
Gérard, je te pose une question.
Vas-y.
En fait, je voulais te demander, tu me dis, à partir de 99, on va avoir des pièces en euros.
C'est pour ça, je le dis, parce qu'elle a pas donné son prénom.
C'est pour ça, ouais, c'est pour ça.
Ouais, bah, faudrait peut-être préciser. Vas-y, je t'écoute.
Excuse-moi, excuse-moi, Gégé.
En fait, je voulais te demander, tu vois, par exemple, dans les téléphones,
dans les cabines, il y a des téléphones à pièces.
Non, non, depuis maintenant, non.
Maintenant, c'est des cabines à cartes.
Ouais, bah, disons, dans les péages, dans les billards,
dans les baby-foot, il va falloir payer en euros, maintenant.
Ah bah, oui.
Et ils vont faire comment ? Ils vont changer les baby-foot ?
Ils vont changer les pièges ?
Non !
Les pièges, ils vont acheter des jetons.
Non, non, non, non, non.
Les pièges, elles seront de la même taille, en fait.
Non, non, non, non.
Ce qui va se produire, et ça, là, je pense que je suis pas assez informé dessus.
Faudrait voir avec des personnes des champs de café
que là où ils ont les plus peur les billards et les baby-foot ou autres,
donc, pour savoir comment ça va se passer avec les pièces en euros.
Oui, alors, Rigaud ?
Oui, il y a Benichou, le vrai, sur l'IRC, qui donne un petit sondage sauf presse.
Est-ce que l'euro sent mauvais ?
23% des gens ont répondu non.
38,894% disent oui quand il sort de la Lyonnaise.
Et 86,70% disent oui quand il sort de la poche de Gérard.
Ouais, bah, ça...
Merci, merci, Rigaud.
Bravo.
Le truc, je vois pas du tout...
Je vois pas du tout le rapport avec les questions.
On est combien ? On est combien, là ?
On est à 4, là.
On stagne autour de...
Ça va, toi, Phil ?
Non, on est 4 dans le studio.
Toi, t'as ton micro et...
Ça tourne autour de 4 500, quoi.
On stagne un peu, mais c'est déjà énorme.
4 500 ?
Ouais.
Ça a monté par rapport à tout à l'heure.
Ouais, mais c'est un peu mieux que la semaine dernière, parce que la semaine dernière...
Je demande combien on est.
4,5 et 2,0, j'ai dit.
4 528, toi.
Ah, bon.
Ah, 2 et...
On n'est plus que 4 522, maintenant.
Non, Gérard, on va faire la conclusion, là, parce que c'est 2 heures.
D'accord ?
Ben, non, on peut se...
Ah, ben non, attends.
Si on veut faire l'autre débat, on va jamais arriver à 3 heures.
On arrête à 3 heures, donc on va faire la conclusion, quand même.
Ben, attends, pour l'instant, c'est toi qui commande.
Ben, attends, depuis quand t'es passé chef, toi ?
T'es passé chef ?
Non, mais je suis pas passé chef, je te demande si on peut faire la conclusion.
Non, mais attends, pour l'instant...
Eh, c'est moi qui commande.
C'est moi qui commande.
C'est moi qui commande.
Ben, dis ta question.
C'est moi qui commande, Gégé.
Alors ?
Conclusion.
Les femmes devraient-elles payer leur mari ?
Attends, on va demander à Poussin.
Poussin !
Oui !
Les femmes devraient-elles payer leur mari ?
Ouais.
Pourquoi elles devraient payer leur mari ?
Ah, je te pose la question.
Ben, non.
C'est les mecs qui payent leurs femmes, quoi.
Ils les entretiennent.
Ah, d'accord.
C'est normal, parce qu'une femme, elle est censée faire la cuisine.
C'est les mecs qui le disent, ça.
Hum ?
Alors, voilà, quoi.
C'est les mecs qui entretiennent les femmes.
Moi, c'est comme ça, quoi.
Et tu crois qu'on va continuer à vous entretenir ?
Ben, non.
Ça rêve, là.
De toute façon, maintenant, les femmes, elles sont égales aux hommes.
Alors, je sais pas, moi.
Ah, non, non, non, non.
Attends, Poussin, Poussin.
Bon, attendez, attendez, attendez.
On va répondre à ces conneries, là, Gérard.
Attendez, attendez, attendez.
Mais c'est pas macho ?
Mais dis-tu que ça, Gérard ?
Bon, Poussin.
Attendez, Gérard.
Gérard va répondre.
Attendez.
On laisse...
On va demander à Tabou.
Ouais, je vais répondre juste derrière.
Gérard, Tabouret.
Ouais, ben, manquerait plus que ça, encore, qu'on paye les hommes.
Hum ?
Sandwich.
Des fois, ouais, si je pouvais payer le mien pour qu'il ferme sa gueule, je le ferais.
Attends, qui c'est qui vient de dire ça ?
C'est Tabouret, Tabouret.
Tabouret.
Sandwich.
Sandwich est parti, Gérard.
Son portable est mort.
Ah, ben, d'accord.
C'est quoi, là, ses conclusions, Gérard ?
Non, non, c'est pas la conclusion, c'est...
Gâteau, désespère pas, ça va arriver, hein.
C'est la dixième.
Ça va bien, alors.
En notion ?
Ben, moi, je pense que ouais, parce que, vu qu'elle nous font chier toute la journée,
ça serait à peu près normal, quoi.
Puis, ouais...
Attends, attends.
Hé, derrière, derrière, vous vous taisez ?
Ah, les filles.
Hein, Tabouret et Poussin, toutes tes...
Ouais, ça me vaut les gueules, un peu.
Oh, tu restes poli, tu...
Tu restes poli, Robleson.
Ouais, on parle pas comme ça aux salopes.
Bah, toi, le salope, tu fermes ta gueule.
Ouais, excuse.
Ok ?
Ouais, tu fermes ta gueule, pas de ta mère.
Ok, cochonne.
Oh !
Bon, Robleson.
Ouais.
Robleson.
Robleson, tu dégages ta conclusion, je la veux pas.
Non, mais c'est pas Robleson qui dit...
Ouais, tu dégages, salut.
Hop, le Robleson, il...
Ça sent pas bon, là.
Il pue, voilà.
Parapluie.
Ouais, bah, écoute, moi, je suis plutôt dans le style gigolo,
donc me faire entretenir par des vieilles cochonnes de 50 ans
qui sont pétées de thunes, ça le fait.
Non, mais attends.
Attends, attends.
Parapluie.
Ouais.
Hé, les femmes de Bretel, payez leur mari.
Bah, justement, moi, je te dis, je prends des vieilles,
je leur mets une cartouche une fois dans le mot, elles sont contentes,
en attendant, elles m'arrosent deux thunes, et c'est bon.
OK.
Voilà.
Euh, Vasquerie ?
Bah, moi, je pense que c'est une bonne idée,
parce que c'est toujours nous qui payons tout,
le ciné, les sorties, machin, tout ça,
et ce serait une bonne idée qu'on retourne et nous fait d'un salaire.
Alors, là, moi, je suis pas d'accord avec vous,
parce qu'en fin de compte,
en fin de compte, les femmes,
elles sont là pour nous faire à bouffer,
elles sont là pour nous laver notre linge,
pour nous entretenir,
pour faire la vaisselle et tout.
Maintenant...
Non, non, non.
Non.
Qu'est-ce qu'il faut pas ?
Tu vas pas te faire sucer par ton chien,
c'est bien ta femme qui te suce,
donc elles sont là aussi pour sucer.
Attends, toi, tu fermes ta gueule,
tu vas te faire sucer par une pute.
Bah, écoute, c'est logique, non,
j'ai ce qu'il faut faire.
C'est des femmes.
Ouais, mais, de toute manière,
jusqu'à maintenant, moi...
C'est pas la loco.
Alors, moi, la loco, attends, merde,
alors, conclusion, ça t'apprendra.
À cause de toi, je...
Merci beaucoup.
On va commencer ta conclusion.
Non, non, mais, vous allez voir.
Vous allez voir au deuxième débat.
La conclusion de l'IRC, Gérard.
Ouais, donc, il y a Yankee sur l'IRC.
Attends, faut que je la retrouve,
parce que je sais plus où elle est passée.
Conclusion, pour faire un débat sur l'argent,
il faut déjà en posséder.
Quand on fouille dans les poubelles,
il faudra mieux qu'on fasse un débat
sur les déchets domestiques.
Ça, c'est pas un débat que je ferai.
Et il y a Turpentine sur l'IRC
qui dit que ton débat,
il avait ni queue ni tête comme toi.
Dans ces cas-là,
si ça leur plaît pas sur l'IRC,
dans ces cas-là,
qu'ils arrêtent de dépenser leurs poignons.
De toute manière,
l'IRC,
il faut le payer.
Avec de l'argent.
Donc, il faut avoir de l'argent.
Quand est-ce que c'est la grève, Rigo ?
Le 13.
Je crois que
c'est pour bientôt.
Il vient de te dire le 13, on est le 11.
Donc, dans deux jours,
merde !
C'est bien marrant tout ça !
Un dimanche !
T'as tout compris, t'assures.
C'est vraiment mortel.
Alors, conclusion, on va demander à Poussin.
La conclusion, moi, je dirais que ce débat
était très intéressant.
Grâce à toi, Gégé, j'en ai pris plus sur l'euro.
Puis voilà, merci Gégé.
Il n'y a pas de quoi.
Tabouret ?
Moi, l'argent, j'en ai pas.
Donc, je lance un appel.
S'il y a un vieux qui est prêt à claquer, qui m'écoute
et qui a plein de fric, je suis prête.
Non, mais attends, Tabouret.
Tu te fous de ma gueule ?
Non, mais je crois que tu prends le train.
Tu prends le train.
Pourquoi ?
Parce que tout à l'heure, quand je t'ai posé une question
sur de l'argent,
tu m'as dit
je ne suis pas lycéenne et je travaille.
Oui, ben oui, mais je travaille
mais je ne gagne pas beaucoup d'argent.
Une fois que le loyer est payé, je n'ai plus rien, c'est tout.
Moi, je cherche un vieux.
A la rigueur, je l'aide à mourir
et puis j'ai tout son fric et je m'éclate avec.
Je l'aime à mourir, c'est ça ?
Oui, c'est ça.
Robloçon, il n'est plus là ?
Non, tu l'as vu ?
Non.
Un parapluie ?
Oui, ben écoute, l'argent, l'euro,
je voulais juste te dire que je ne sais pas si tu savais,
mais avant l'euro, ça s'appelait l'écu
et je voulais savoir pourquoi la Banque de France et toi
vous visez des fixations sur le gerbille et le caca
et je voulais te dire que tu as bien une tronche
à être payé en monnaie de singe, voilà.
Alors moi, je vais te dire une chose, parapluie.
Non, mais attends.
C'est coupé.
Toi, tu mets ça à ton micro, tu m'énerves avec ton micro.
Maintenant, tu me remets parapluie à l'antenne ?
Oui, je suis là.
Ben moi, je vais te dire une chose,
parce que ce que tu viens de me dire comme conclusion,
ben moi, je t'emmerde.
Ah ben, on est deux alors.
Ok ?
Et je te chie dans le bec.
Vas-y.
Ok, alors bonne nuit.
Bonne nuit.
Vas-y, Ray, pour terminer.
Ben moi, j'ai trouvé que c'était un débat assez intéressant.
On a appris pas mal de choses
et je voudrais terminer, si tu le permets,
sur une citation de Descartes
qui est tout à fait dans le cadre du débat
de plus à quoi servirait l'infinie puissance
de cet infini imaginaire
s'il ne pouvait jamais rien créer.
Voilà.
Bonne soirée.
Ok, bonne soirée à toi.
Donc, moi, ma conclusion,
il y a peut-être une autre conclusion, non ?
Conclusion, Fildar,
passe-moi ton stylo, s'il te plaît.
Ouais.
Jolie conclusion, Hugo.
C'est toi qui bosses le mieux.
Voilà.
Alors, moi, conclusion,
ben moi, ce que je peux vous dire,
c'est que pour l'argent,
donc sur l'euro,
donc maintenant,
ça va être assez compliqué
parce que ça va être pour les personnes âgées,
donc ça, ça va être le plus dur.
Sinon, qu'est-ce que je pouvais vous rapporter,
vous dire d'autre ?
Bon, ben,
donnez à ceux que...
Donnez ce que vous pouvez
à des associations
que vous êtes sûrs
de connaître,
mais faites attention.
Faites attention parce que
l'argent ne fait pas le bonheur.
En fin de compte,
on croit que l'argent fait le bonheur,
et en fin de compte, non.
C'est pas avec de l'argent qu'on y est.
Avec de l'argent,
on peut aller partout dès qu'on en a,
mais si on n'en a pas, ben...
Qu'est-ce que je peux vous dire d'autre ?
Si on n'a pas d'argent,
ben, on crève.
Et donc, comme j'ai dit,
comptez vos amis.
Parce que les amis, ça se compte sur les 5 doigts d'une main.
1, 2, 3 !
Ouais, moi, j'en ai que 3.
Et comme le remix, il dit,
et 1, et 2,
et 3, 0.
Donc, voilà.
Bravo, bravo, bravo !
Alors, on va se retrouver pour le deuxième débat
qui va porter sur les jeux vidéo.
Et donc, on va s'écouter.
La petite fermière du bois
avec des oursins dans le cul.
Ouais, les Zeldas où il y a...
Plus le...
Plus le remix de merde.
Euh...
Alors, toi,
quand tu viens là,
tu vas prendre une blague dans ta gueule.
Oh, mais, Gérard !
Alors, plus le remix de merde.
C'est pas ça.
Donc, tu me donnes la pochette, Manu, si tu veux.
Quelle pochette ? Mais tu vas rien comprendre.
La pochette de quoi ?
Ça, on ne le met pas tout de suite, ça.
Si, si.
Non, on ne le met pas tout de suite.
Si, c'est le deuxième.
C'est ça.
Parce que plus le remix de merde.
Eh ben, alors, tu me les donnes.
Je vais les annoncer gentiment.
Eh ben, vas-y, fais le malin.
Alors, euh...
Vas-y, on va se marrer, là.
Vas-y, fais le malin.
Alors, le premier, c'est quoi ?
Le premier, c'est...
C'est plage 10.
Plage 10.
Alors, plage 10...
On va se marrer.
Allez.
Alors, c'est, euh...
Soon...
Soon die.
Oui, one...
D'accord.
Donc, en fin de compte,
je vous dirais pas le premier donc c'est en fin de compte le premier c'est la première du bois
avec des oursins dans le cul et le deuxième pour terminer donc un remix de merde donc c'est pas
c'est ça le noir là c'est qui qui pro prodigy avec firest artères donc à tout à l'heure pour le
deuxième débat sur fun radio n'oubliez pas
ce système s'empêcher
== Le débat sur les jeux vidéo ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Et voilà, donc vous venez d'écouter. Fildar, s'il te plaît, tu peux l'annoncer. C'était les Pro DJ avec Firestarter, c'est ce que tu as dit tout à l'heure, Gégé. Ah ouais, mais moi, c'était pas ce qui était annoncé, c'était en principe plus un remix de merde. Ah non, mais on l'a pas mis, parce qu'on a changé au dernier moment la prog. Ah ouais, ben d'accord. Ok, donc vous êtes toujours sur PN Radio, donc au standard, c'est Manu qui vous attend. Ouais ! Donc au 0803 0803.
0800 75 000 à moins que le 0803 le 0800 ne fonctionne plus. Ils essayent les deux et puis ils verront bien. Ouais, voilà. Donc Manu vous attend toujours au standard. Rigaud toujours sur l'internet, prêt à répondre aux questions. Ouais. Donc... Ouais, y'a pas de problème. Et ben... Fildar à la réa, en espérant qu'il va me faire du bon petit boulot comme le premier. J'espère.
Donc, il y aura une surprise pour... Ben, pour les auditeurs qui ont l'habitude d'écouter Max le soir. Je vous dis pas quoi, parce que sinon... Bon, sinon, on peut l'annoncer, Fildar ? Ben, je sais pas, je sais pas, c'est une surprise, je sais pas. Ben si, ben, tu l'as, là. C'est... Ça va être dévié pour toi, Sandy, ma chérie. Ça va être fête à fête. Relaxation, ouais. Le pouvoir de la méditation. Mais non, c'est pas ça !
Là, tu l'as, là, là, devant tes yeux. Je te suis dessus, Christo. Mais non, mais non, c'est pas ça. Ça va être... Ça va être dédié pour Sandy, ça va être fête à fête. C'est ça ? Voilà ! Voilà. OK, d'accord. Et comme elle l'adore, on va lui dédier, malgré qu'elle... Ça lui rappelle des souvenirs. Ouais, mais... Non, mais ça lui rappelle pas des souvenirs, Manu. Ben, je sais pas pourquoi, elle l'aime bien. C'est pas le débat, c'est pas le débat. Non, mais elle aime bien, parce que... Depuis qu'elle l'a écouté, bon, ben... Ben, voyons, balance tout, toi.
Gérard, on va peut-être commencer à accueillir les auditeurs, parce qu'il est déjà 2h20. Donc, le deuxième débat, donc, il est 2h18. Oui, c'est vrai, il faut qu'on avance. Donc, le deuxième débat porte sur les jeux vidéo. Et pour les jeux vidéo, on va accueillir Monica Latégresse. Salut, Gégé. 19 ans, de Paris. On peut écouter FN Radio sur 101.9 FM. Ouais, salut, Gégé. Donc, bonsoir à toi. Bulbul Gomme, 20 ans, de Marseille. On peut écouter FN Radio sur 103.9 FM.
Salut, Gérard. Salut, Philippe Barre. Salut, Manu. Salut. Lara... Lara Graff. Hein ? Lara Graff. Ah, ben, moi, j'ai Graff. Ah, c'est Graff. Donc, 21 ans de Max et Bill. On peut écouter FN Radio sur 95 FM. Bonsoir, Gérard. Bonsoir, Manu. Bonsoir, Philippe Barre. Et bonsoir, Max. Max, il est... Pour l'instant, il est en train de préparer son petit...
Ah, j'ai regardé Techno Max tout à l'heure. Ah, ben, c'est bien. Ah, ben, au moins des... J'espère que tout le monde l'a regardé. Ouais. Et l'éditeur suivant, c'est quoi ? Donc, c'est Pierre Mario. C'est Lara Graff. Bonsoir. Super Mario, 19 ans, de... Albertville. D'Albertville. On peut écouter FN Radio sur 97.5 FM. Oui, Rigo. Je voulais juste dire à Super Mario que je suis fan. Ah, OK. Ah, merci. Pac-Man, 23 ans. Oui, bonsoir, toute la populace. Salut. On peut écouter...
On peut écouter FN Radio sur 101.9. Yes, c'est pareil. OK. Et Sonic, 19 ans, de Tokyo. Oui, j'appelle du Japon. J'ai un décalage. Je vous écoute sur Internet. Et il est 8h du matin à Tokyo. Ah, OK. Il fait beau, non ? Non, il se clope. Alors, donc, que peut-on faire avec des jeux vidéo ? On va demander ça à Monica la tigresse. Ben, qu'est-ce qu'on peut faire ? Ben, on peut jouer avec.
C'est une bonne chose. Ben, en principe, des jeux... En principe, les jeux vidéo, c'est pour jouer avec. Ben, qu'est-ce qu'on peut faire avec ? C'est pas pour se branler. Ben, on peut... Ça passe longtemps, quoi. On se défoule dessus. Quand on a passé une journée de travail, on est stressé et tout. Et le soir, quand on rentre, une partie de Tekken... Ah, une partie de Tekken ! Attends... Une partie de Tekken ! Non, mais... Ah, non, mais là... Non, mais là... Vraiment trop con, hein.
Là, t'es vraiment trop conne, hein. Ouais. Là, t'es vraiment une tigresse, hein. Ben, c'est une partie de Tekken. Allez, c'est bon, va te coucher. Oui, ben, ça sert à se défendre. Ça sert à se défendre. Et puis, ça sert à se défouler quand les gens nous prennent la tête. Parce qu'on fait des petits Mortal Kombat, des choses comme ça. Voilà, tu peux répéter, parce que là, j'ai... Je te dis que ça sert à se défouler quand il y a des gens qui t'ont pris la tête. C'est un Mortal Kombat.
Non, mais celui qui a une... Il y en a un qui est en train de jouer aux jeux vidéo, en plus, c'est pas cool. J'ai l'impression que c'est... Tiens, ça, je reconnais ce... Celui-là, je l'ai pas, je suis jaloux. Non, mais moi, je le reconnais, parce que c'était la première fois que j'ai connu Max. Oh, ta gueule derrière !
On va demander à l'oragraphe. L'oragraphe. Ouais, ben, je sais pas qui c'est qui m'a écrit ce nom-là, mais je prononce comme c'est marqué. Allez ! Ouais, donc, normalement, c'est fait pour se défouler, mais aussi, si t'as la table qui est bancale, tu peux le mettre sur le pied. Ah, sur le pied ? Ouais, sur le pied de la table. Comme ça, ça te fait une table droite. Ah, une table droite ?
Ben, la boîte. La console. La console, tu la mets dans ta PlayStation, et puis, la boîte, tu la mets sous le... sous le pied. Ouais, d'accord. Attends, je regarde vite fait. Oui, il y a Oxyd sur IRC qui te demande si c'est vrai que Sandy a fait des jeux vidéo quand elle jouait avec ton joystick et que toi, en même temps, t'appuies sur tous ses boutons. Et c'est toujours Game Over. Alors, lui, je lui réponds même pas à la question. Ça vaudra plus... Ça ira plus vite. Super Mario. Et sinon, il y a Yankee qui te demande
si c'est vrai que Tom. C'est clair. C'est un nouvel manette de jeu, ça. C'est clair, ouais. Euh, je réponds même pas à des questions pourrites sur l'Internet, parce que là... Mais qu'est-ce que c'est pourrite ? C'est pourrite. Tes questions, Rodrigo. Non, non, mais... Non, mais c'est pas les miennes, non. Non, non, mais... Les gens d'IRC posaient des questions qui... Qui mettent en valeur robot, quoi. Merde. Qui ont un rapport... Posez des questions qui ont un rapport avec des jeux. Filder, pour l'instant, tu t'écrases, parce que... Allez, mortel débat.
On y va. Euh... Super Mario. Bah, moi, je pense que les jeux vidéo, ça se sert déjà pour se défouler. Puis en plus, on peut se détendre surtout avec, quoi. Comment ? On peut se détendre avec. On se détend, quoi, le soir. Parce que parfois, c'est relou qu'on rentre le soir, on est bien vénère et tout. Alors, on se détend. Voilà. Et par exemple, si t'as... Si t'as pas de jeux de vidéo, si t'as pas de PlayStation, tout ça, c'est quoi ? Comment tu fais ? Bah, je sais pas. Tu te débrouilles. Tu m'as de quoi ?
Tu t'es fait un pote. Qui en a eu ? Comment ? Tu tapes sur ta femme. Oh, non. Mais attends. Alors, là, qui c'est qui vient me dire ça ? Les filles. Non, mais dis ton nom, celle qui vient me dire ça. T'as le courage de dire ton nom, mais... Pétasse, là, qui vient me dire ça ? C'est quoi, Sam ? Oh, là, là, putain, j'aime bien... Elle vient pas de fou, hier. J'aime bien les salopes, là, comme ça. C'est pas moi. Bon, mais attends, c'est pas moi, c'est... C'est pas moi, c'est pas moi. Mais non, mais c'est jamais personne. Mais allez, arrêtez vos conneries, là.
Non, non, bah, c'est pas moi. Non, il y en a trois. Moi, je suis respectueuse. Euh, Pacam. Non, Pacman. Pacman. Pacman. Pacman. Pacman. Écoute, une console, ça te sert, bah, par exemple, si t'es chômeur ou t'es étudiant et qu'il sèche les cours, déjà, ça t'occupe. Et puis, deuxièmement, ça peut aussi te servir à mettre une branlée à Tekken 3 à des standardistes dans une radio, quoi. Ouais, bah, alors, Pacman, je vais te dire une chose, que si c'est pour me dire des conneries comme ça sur... Excuse-moi, Gérard, j'ai une rectification à faire à des gars qui s'occupent de l'IRC et des branlées. Merci.
D'accord. Attends, Gérard, moi aussi, j'ai Internet, j'ai un message IRC, je peux te le lire ? Non. Non, non, non, non, non, non, non, non, il y a pas de message à lire. Hop, terminé. Ah, moi, j'en ai un, par contre. Ouais. Il y a un truc qui dit qu'il y a un jeu où on est camionnaire et on gagne des points en faisant des bouchons et les ennemis, c'est des plaques de verglas, ça s'appelle Super GG Bros. Ah, bah, lui, je l'emmerde. Euh, Sonic. Euh, oui, en fait, moi, effectivement, les jeux vidéo, ça me servait avant, quand c'était des cartouches, à caler mes meubles.
Au bon cas, je mettais les cartouches, mais maintenant, avec les CD, c'est galère. Donc, j'ai décidé de me reconvertir en pirate, je grave des CD, je me fais de la tuerie. Oh, ça s'interdit, ça. Euh, Sonic. Attends, tu demandes combien tes disques ? Sonic ! Sonic ! Sonic ! Je suis intéressée. Euh, terminé pour lui. Hop. Allô ? Bon, euh, puis... C'est pas moi, hein.
Eh, là, ça... Manu, tu gères un peu, là. Bon, Manu, euh... On va voir que c'est bien du standard. Hop, je coupe. Je remets, je coupe. Tu vois ? Gérard ? Sur l'IC, il y a des V1 qui te demandent comment on fait pour graver un CD, justement, c'est avec un marteau et un bureau. Ouais. Ouais. Gagné. Bah, je peux peut-être répondre. Ouais, doit-on être intelligent ? Attends, moi, je m'y connais, je peux peut-être répondre. Encore les deux. Allô ?
Donc, doit-on être intelligent pour jouer aux jeux vidéo, c'est ça ? Euh, Fuldard ? Oui ? Pour l'instant, tu fermes ta gueule, c'est moi qui pose les questions. D'accord. Toi, t'es payé pour faire l'arrière. Gérard, tu t'es en train de faire la gueule, t'allais pas la poser, il a bien fait de la poser. Ouais, mais c'est pas lui. De toute manière, c'est moi qui pose les questions, c'est pas lui. Alors, doit-on être intelligent pour faire de la Game Boy ou autre ? Gérard ?
Comment la pétasse, là ? Ouais. Y a Fuldard de mon sur la tête. Non, non, non, la pétasse, là, qui vient de dire que je sais pas parler, tu peux dire ton nom, là ? Voilà, Game Boy, hein. Bon, allez, hop. Gernier pour Rég. Allez, hop, celle-là. Gérard, Gérard. Deux secondes, il y a une question internet. Gérard ? Ouais, une question internet. Tu me prends quelqu'un d'autre, hein, parce que là... Gérard, y a Chandler, le vrai, qui te demande si tu fais de la magie noire avec ta...
Vaudou 2. Non. Doit-on être intelligent pour faire de la... Oh, ça y est ! Gérard ? Ouais. Oh, oh, oh. Hé, Fuldard ! Hé, Fuldard ! Hé, Gérard ! Hé, qu'est-ce que tu fais, là ? Tes mains, tu les mets là. Gérard, t'as déjà la Game Boy ? Hein, parce que là, c'est le jeu, là. T'as le cadeau. Tu vois que c'est pas lui, arrête de... C'est les éditeurs. C'est les éditeurs. Bon, hé, Manu ! C'est bon, ils sont coupés, là, on y va, on y va, on y va.
Alors... Donc, on m'a demandé à Monica, la tigresse. Ouais. Ouais, ben moi, je pense que... Gérard ? Ta gueule, derrière, pour un second ! T'as déjà joué, là, Gérard ? Monica, réponds, vas-y. Ben, je réponds. Donc, moi, je pense que, oui, faut être intelligent, hein, parce que ça montre de l'esprit et de la réflexion. Et voilà, quoi. Quand même. Ouais, on va rajouter, quoi. Ok, euh... Buble... Buble-gum, là. Double-gum. Ouais. Ben, non, moi, je pense que un QI de 30, ça suffit.
Il faut juste appuyer sur deux boutons, donc c'est pas forcé. Tout le monde peut le faire. Oui. Qu'est-ce qu'on veut dire, c'est ? Ouais, il y a Yankee, le vrai, qui te demande si tu sais jouer à la console, toi. Non. Non, donc... Là, euh... Donc, il faut bien être intelligent pour jouer à une console, alors. De toute manière, il y en a un qui est super intelligent parce qu'il a gagné à la coupe. Il s'appelle Manu. Ah, mais c'est parce que j'étais pas là. Sans préciser. J'étais pas là, c'est bon. Merci, j'ai... Ah, c'est... Non, j'étais pas là. Si j'étais là, c'est moi qui aurais gagné. La coupe de TKL 3.
Ah, ouais ? Ben, si, t'es... J'étais pas là. Mais si, t'étais là. Ben, ouais, ça s'est passé dans les studios. Me dis pas que t'étais pas là. Enfoiré. Ben, ouais, t'étais là, Hugo. Voyons. Euh... Là, là, là, euh... Là, Croft. Ouais, Croft. Ouais, vas-y. Ouais, ben, moi, je pense qu'il faut pas être intelligent. Avoir le QI d'une mouche, tu peux jouer à ça, hein. Et juste appuyer sur deux boutons, comme ça. Comment ?
Ouais, ça, c'est Monica qui parle, hein. C'est pas moi. Ouais, ben, alors, Monica, tu t'écrases. T'en as rien dit, Monica, hein. Mais si. Je crois que c'est moi, peut-être. Le raccroche. Ouais, ça y est, j'ai répondu à la question. Faut écouter, hein. J'ai dit qu'en fait, il fallait avoir le QI d'une mouche pour jouer à ce jeu. C'est tout. D'accord. J'ai pas appuyé sur les boutons. Euh, Super Mario ? Moi, je pense que ouais, parce que parfois, il y a des notices, quoi. Elles sont tellement énormes qu'il y en a, ils peuvent pas comprendre, quoi.
T'es intelligent, pour toi ? Ben, ça dépend pour qui, ouais. Des fois, la notice, elle est écrite en anglais, hein. Ouais, des fois, même à l'écran japonais, parfois. Ouais, c'est ça. Prends-moi pour un con. Un con. Ah, mais non, c'est vrai, hein. Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard ! Arrête !
Et t'as le double son, pildard ! Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard !
Arrête ! Et t'as le double son, pildard !
C'est une simulation virtuelle de soirée de richesse de la loco. Alors toi, c'est terminé pour toi. Au revoir aussi ! Au revoir aussi ! Salut ! Au revoir ! Alors, Gérard, à la place de Lara Croft, on accueille Paul Fénix. Bonsoir. Salut, Gérard. Salut, Paul Fénix. Salut. Salut. Et à la place de Pac-Man, on accueille Fantôme Glouton. Salut à tous. Salut. Salut. Manu ? Oui ? J'espère que c'est pas les mêmes. Ah non, c'est pas les mêmes, c'était une meuf, t'as un mec.
Ah non, c'est pas les mêmes, c'était une meuf, t'as un mec. Ah non, c'est pas les mêmes, c'était une meuf, t'as un mec. Ah non, c'est pas les mêmes, c'était une meuf, t'as un mec. Ah non, c'est pas les mêmes, c'était une meuf, t'as un mec.
Ah non, c'est pas les mêmes, c'était une meuf, t'as un mec. Ah non, c'est pas les mêmes, c'était une meuf, t'as un mec.
Ah, on se met le petit cadeau. Ouais. Dédié pour Sandy. C'est ça la fête ! Et on se retrouve tout de suite après aux heures 800, 308, 5000, 0800, 70, 5000. Et toujours lire cww.fr. Et vous êtes toujours sur Fond Radio, il est 2h39. C'est ça la fête !
Tous ceux qui ont l'habitude d'écouter Max, le Star System, le soir, on vient de vous mettre fête à fête. Donc, vous êtes toujours sur Fond Radio. Donc, vous pouvez nous écouter sur 101.9 et il est 2h42. Donc, Manu vous attend toujours aux 0800, 308, 5000. Excuse-moi Gérard, du coup, à la place de Sonic que t'as viré tout à l'heure, on accueille Zelda. Ah ben, tu me... Voilà. Ça te dérange de me faire une fiche ? Ouais, ouais, ça me fait chier.
Ça te fait chier ? Ouais, ben ouais, tu me demandes, je te le dis. Ça te fait chier ? Ben, pas moi. C'est ton butier, c'est... Ouais, je sais, je sais. Tu connais les toilettes de Fond Radio ? Ouais, ouais, ouais. Bon. Oui, Rigo ? Non, je voulais juste dire à Zelda que je suis fan. Ah, ok. Alors, donc, vous venez d'écouter Fête à Fête et vous êtes toujours sur Fond Radio. Donc, 2h43 du matin. Donc, Manu vous attend au standard aux 0800, 308, 5000. Tu l'as déjà dit ça, Gérard.
On est débat de Gérard du jeudi soir. Disons, on est vendredi. Donc, le débat, ça porte sur les jeux vidéo. Et on récupère donc... Monica, la tigresse. Salut, Gégé. Rebonsoir à toi. Ouais. Double gomme. Salut. Paul... Paul Fénix. Paul Fénix. Excuse-moi, j'étais en train de me faire une partie de Super Bulldog Mister 3. Ouais, ben, Super Bulldog Mister 3.
Il t'emmerde. Attends, je suis contre le son de dinosaure, là. Ouais, ben, son de dinosaure, tu dégages. Ok. Oh ! Calme-toi, lui. Ça a été trop vite. Là, ben, lui, ça a été tout le visqueux. C'est la lumière. Il faut qu'il prenne les proutes magiques, là, pour dégommer son de dinosaure. Ouais, ben, son de dinosaure, pour l'instant, tu la laisses. Elle est en train de nous enregistrer, là, la peau. Ah bon ? Ouais. Elle pourrait un peu... C'est pas la grâce de vous, espèce de filiaste, là. Ouais, ouais.
Ouais, elle remue pas trop bien. Oh, t'as encore une place pour elle. Ah non, hein ? Oh, si. Il n'y a plus de place, là. À la place de Paul Romix. Non, non. Bah, ouais, bien sûr, on va dégager quelqu'un d'intéressant pour quelqu'un de... Ouais, et alors ? Je vais te dire un truc, c'est que tu nous as saoulés toute la journée pour pas avoir d'habituel, alors il n'y a pas moyen. Ouais, ben, attends, on a bien eu Tony au premier débat. Ouais, mais il s'est fait garter. Ouais, ben, tiens. T'es pas encore là, toi ? Ben, non, c'est pas Tony. C'était pas Tony, ça. Super Mario.
Oh, tu vois, quand je demande les noms, vous répondez ou pas ? Bon, d'accord. Super Mario. Ouais. T'es là ? Ouais. T'as répondu ? Ouais. Ouais, ben... Bon, d'accord. Fantôme Glouton ! Il est vieux, Super Mario. Ouais, celui-là, il a... Putain ! Oh, les grosses sanguines. Hé, les grosses sanguines, attends, merde, toi, salope ! Oh, là, là. Ah, mais les grosses, c'est celle-là, là.
Ah, ça va mettre, avec le tampon vert. Attends, c'est pas moi le standard, hein. C'est toi qui gère, Manu, hein. Merci. Merci, Manu. Fantôme Glouton. Eh, celui-là. Oui, t'es gaffe, c'est Glouton qui attaque. Bon, alors, tu dégages, toi. Hop, terminé. C'était pas lui, c'était Zelda, je l'ai dégagé. Allez, hop. Zelda. Non, je viens de te dire que c'était lui qui avait dit ça.
Regarde, Fantôme Glouton, il m'a dégagé, Zelda. Ok, alors... Donc, quatrième question, parce qu'on va faire vite, là. Alors, d'après vous, les jeux... D'après vous, jouer à un jeu vidéo est-il réservé aux garçons ? On va demander ça à Monica. Non, non, non, non, non. Non, non. C'est autant réservé aux filles qu'aux garçons, je suis désolée. Et voilà, quoi. Je vois pas pourquoi ce serait réservé qu'aux garçons, après tout. Ouais, mais de toute manière, il y a plusieurs parties.
Hugo ? Oui, sur IRC, il y a Sardine qui te demande comment on fera pour compter les points en euros sur les consoles. Toi, je sais pas. C'est n'importe quoi, Hugo. Par contre, par contre, par contre... Oh, la salope, là, qui est incarnée comme une pute ! Arrête d'être vulgaire, Gérard. Ça sert à rien. Ouais, ben, toi, tu peux mieux... Ah, oui, j'ai pas. Manu... On peut rien faire.
On peut pas faire un débat potable avec toi, Manu. Non, non, mais je pense que ça va aller vite fait. Hugo, on est combien, là, sur l'IRC ? Ben, on a perdu, quand t'as gueulé un peu trop, on est à 3852. 3852 ? C'est pas terrible, hein. Tu notes pas ? 3852. 3852. Allez, pas trop vite, quand même. En plus, je me suis renseigné par quelqu'un. Comment ? Tu vas les donner à Jean Donnader, les numéros ? Non, non, non.
Je me suis renseigné par une personne qui peut avoir aussi Internet. Sur son tatou ? On peut avoir plus de 6000 personnes sur l'Internet. Mais ça dépend de l'appareil qu'on a. C'est pas le thème du débat. OK. Alors, Monica. Oui ? On m'accueille, pardon, à la place de Zelda.
Link. Bonsoir. On s'accueille tous les jours. Gérard, deux secondes. Link. Oui, bonsoir. Ouais, je suis fan. Ouais, je te remercie. Je t'en remercie. C'est vraiment assez bio. Euh, oui, mais moi, par rapport au... Ouais, je pense que... Oui, je suis les filles aussi, pas que je joue à la vidéo. Eh, bonsoir, quand même. Bonsoir. Non, mais... Non, mais comment tu fais que je me concentre avec tous ces gens qui taisent autour de moi ? C'est vrai que c'est pas évident. Manu, tu pourras gérer un peu.
Non, mais c'est bien. Là, je crois que le deuxième débat, il va être vite terminé. C'est n'importe quoi, Gérard. C'est vrai. Je t'écoute, Luc. Link. Link, mais moi, j'ai déjà répondu. Je t'ai dit que oui, les filles pouvaient effectivement jouer aux jeux vidéo. C'est les filles qui apprennent les consoles roses et les mecs les consoles bleues. C'est des consoles pour vie et des consoles pour garçons.
C'est pour les filles, quoi. Ah, ouais. C'est une équivalentité. Super Mario ? Bah, moi, je pense que ouais, mais ça dépend des jeux, quoi. Ouais, mais tu peux préciser ? Bah, les jeux trop violents, quoi. Il vaut mieux que ça s'arrête. Il vaut mieux laisser des jeux de boysband aux filles. Ouais. C'est moi qui suis en temps. C'est moi qui suis en temps. Voilà. OK. Paul Fenix ? Non. Ouais. Je suis encore là. J'ai vu que Manu m'a calmé au standard. Je voudrais que tu me répètes la question, s'il te plaît, parce que j'ai pas pu entendre.
Alors, d'après vous, un jeu vidéo, est-il réservé aux garçons ? Euh, je pense que oui, parce que j'ai jamais vu de console rose ou quoi que ce soit. Euh, si. Non, non, non. Bah, tu peux le reprendre. Ouais. OK. Une petite peinture ou de la gouache. Tu peux reprendre ta peinture. Voilà, OK. Euh, Bubblegum ? Euh, ouais, bah, moi, j'ai un jeu vidéo, donc je joue avec. Ouais, ouais, j'ai une manette ergonomique qui nous permet de faire plein de solutions et plein de sauts périlleux en arrière.
Euh, Monica ? Oui ? Oui, Brandy ? Hein ? Oui, bravo. Oh, il a une licence. Il est fan, hein ? Vous laissez répondre, les gens, s'il vous plaît. Merci, Monica. Tu réponds à la question. Quelle question ? J'ai déjà répondu, j'ai... Ah bon, bah, alors, on va passer à la seconde. Eh, Fantôme Glouton, j'ai pas répondu. Quoi ? T'es encore là, toi ? Bah, oui, c'est Zelda qu'on a dégagé tout à l'heure. Voilà. Et Yannick, elle a...
Merci, Rigo. Euh, pour gaucher, alors, ça, faudrait qu'on pose la question à un gaucher. Y'en a au Japon. Y'en a au Japon. T'es gaucher, non ? Non, du tout. Ah, merde. Non. Merde, non, ça, c'est pas... Et toi aussi, si elle est tout bitrée, mais ça n'a rien à voir. Ou alors, toi, tu t'écrases. Ouais, Gérard ? Quoi ? Fantôme Glouton, je continue, parce que je parlais quand Rigo m'a coupé. Bon, attends, pour l'instant, si Rigo, il vous coupe, c'est parce qu'il y a des questions
IRC qui sont plus importantes que vos conneries. L'IRC, c'est un véhicule prioritaire, je sais. Voilà. Il y a des jeux pour les filles. Moi, j'ai une petite sœur. J'ai une petite sœur, elle joue aussi, ouais. J'ai une petite sœur, elle joue à Salope Fighting Beach 4. C'est un jeu de combat pour filles, quoi. Y'a que des filles dedans. Tu me les vires, celui-là, Manu ? Tu me les vires ? Pour vous jouer...
C'est un Game Boy ? Non, mais il est mort, là. Il a Game Over. Vas-y, on y va. Game Over. Pour vous, jouez-vous à la Game Boy ? Est-il un passe-temps ? On va demander à Monica. De quoi ? De quoi ? De quoi ? Jouez-vous à la Game Boy ? Est-il un passe-temps ? Ben oui, je pense que oui. Ben, tu peux préciser ? Ben oui, c'est un passe-temps. Un jeu vidéo est un passe-temps. Non, mais tu peux préciser ? Ben, préciser comment, Gégé ? Précise ton nom. Non, mais tu précises ? Ton nom.
Ton nom ? Ton numéro de téléphone, ton adresse, ta carte de crédit. Oh, tiens, tu permets ta gueule ! C'est un passe-temps, je crois plutôt que c'est un passe-temps. Ou un passe-partout. Voilà, un passe-partout. Gérard ? Oui ? Y'a Turpentine qui te demande si tu connais... Ah ouais, j'en ai pas, il a dit que les autres comme toi, Gérard. Mais vu que tu connais la Game Boy, est-ce que tu connais la Game Girl ? Non. Pulder, t'arrêtes, s'il te plaît, quand on parle. Tu n'as rien fait, Gégé. Donc, tu me disais quoi, Rigo ?
Je te demandais si tu connaissais, comme il y a la Game Boy pour les garçons, est-ce que tu connais la Game Girl ? Non. Non, pas du tout. Et pourquoi ? Il n'y a pas de pourquoi. Donc, eh... Bubu le gomme. Ouais. Moi, non, je trouve que c'est une perte de temps, plutôt. Je préfère jouer avec mon tamamochi. C'est pas un jeu vidéo, ça ! Non, mais attends ! Eh, les tomatochips, là, c'est le truc... Les tomatochips, là ! C'est n'importe quoi, ce que tu dis.
Bah, non, c'est bidon. Ah, ok. Bah, moi, tu perds pas ton temps, comme quand tu joues au Game Boy. Bah, ouais, mais de toute manière, si t'as de l'argent à foutre là-dedans, en l'air, tu peux, hein. Mais pas en l'air, je le fais en mon tamamochi. Bah, ouais, mais de toute manière, il faut bien lui donner à bouffer, ton tomatochi. Bah, oui, mais bon, ça coûte pas cher en bouffe, un tamamochi. Et quand il meurt, tu fais quoi ? Bah, quand il meurt, je rachète un autre. Et puis, attends, la thune dépensée, c'est n'importe quoi. Paul Phoenix. Tu rires. Avec Rigo. Bah, allô ? Attends, attends.
Bubblegum ? Oui ? Tu veux retourner sur l'IRC ? Mais non, c'est une blague. Parce que sinon, y'a pas de problème. Non, mais elle l'a pas, IRC, comme elle fait chez elle. Tu demandes à Manu, et puis c'est bon. Il t'en achète un. Il t'achète un Internet, Manu, tu demandes, il est sympa. Pas de problème. Gérard, y'a Ziwi qui te demande si tu connais la console Neo-GGO. Non. Paul Phoenix. Ouais, c'est un passe-temps. Je voudrais savoir si, d'ailleurs, toi aussi, t'as un passe-temps.
Si tu connais la Game Boy, mais est-ce que tu connais la Game Boy ? La Game Boys. Non, mais... Avec le jeu Super Penetrator 4. Tu connais pas ? Non. Tu peux préciser le fond de ta pensée ? En tout son cul. En tout son cul, toi, salope. Voilà, salope. Et hop, terminé. Moi, de toute manière, 2h53, dans 7 minutes, j'arrête. Ok, Michel. Super Mario.
Moi, ouais, je pense que c'est un passe-temps, parce que, franchement, quand on a rien à foutre, c'est bien agréable d'avoir un truc pour s'occuper, quoi. Ouais, t'as qu'à toucher la cliquette, quoi. Ouais, mais bon, ça, c'est différent, quoi. C'est plus rapide, quoi. T'as qu'à toucher la cliquette, quoi. Voilà. Gérard. C'est pour ça que j'ai arrêté, quoi, à force, quoi. J'ai une info du vrai Yankee sur l'IRC. Le jeu de l'année, c'est Carmine Affion sur la console Gris.
Carmine Affion. Il est pas mal, ce Yankee, je l'ai vu. Il tue, quoi. Je crois que c'est le jeu numéro 1. Qu'est-ce qu'il y a, Gérard ? Qu'est-ce qu'il y a ? Qu'est-ce qu'il y a ? Qu'est-ce qu'il y a ? Mais arrête ! Regarde ! Regarde ! Regarde ! Regarde !
Regarde ! Regarde ! Regarde ! Regarde ! Regarde ! Regarde ! Regarde ! Regarde !
Qu'est-ce qu'il y a ? Qu'est-ce qu'il y a ?
Qu'est-ce qu'il y a ? Qu'est-ce qu'il y a ?
Qu'est-ce qu'il y a ? Qu'est-ce qu'il y a ?
C'est plus fort que ça, le DG, merde. Dernière question. Ah bon ? Pas... Pas... Fais-le exprès, toi ! Mais attends, c'est pas moi qui fais la technique, hein. Ils sont là-bas, ils sont en rue Bayard. Ils sont en rue Bayard, j'ai pas rien, hein. Dernière question. Genre, avant la dernière question, il y a Turpentine sur l'IRC qui te dit que, vu que t'as jamais joué à la Game Boy, elle va t'envoyer une Game Goal. Une Go-Goal. Ah bah, c'est bien. Une Game Goal. Une Go-Goal 64. Ouais. T'en passes pas.
Sur l'IRC, il y a... Tu le veux dans la gueule, là ? Tu me tiens, ça ? C'est un quoi ? Une Go-Goal 64. Mais viens vérifier, c'est un truc d'allumé. Alors, attendez. Attendez, attendez deux secondes. Gérard va vérifier si c'est un truc d'allumé. Ah ouais ? Ah ouais ? Ça, c'est ce que c'est ? C'est le micro. Ça, qu'est-ce que tu veux que j'allume ou que j'éteigne ? C'est allumé... Tu comprends pas, hein ? Gérard ? C'est vrai que c'est un truc d'allumé. Non, c'est... Terminé ! Non, mais attends, t'as posé trois pauvres questions. C'est quoi, le débat ? C'est quoi, le débat ?
Si vous plaît, les auditeurs. Si vous plaît, les auditeurs. Gérard va poser la dernière question. Gérard va poser la dernière question. D'accord, on écoute. On écoute, Gérard. Comment ? On écoute. Attends, celui qui vient de poser une question qui dise son nom. Non, je l'ai coupé parce que c'était pas bien. Et la dernière question. Avez-vous déjà participé à un championnat de Game Boy ? Oui.
C'est quoi, ce travail ? C'est quoi, ce bordel ? C'est quoi, ces gens ? Et la laine avec le micro ? Vous répondez. Qui répond à la question, Gégé ? Personne. Monica ? Je vais être brève, Gégé. Non, j'ai jamais participé à des championnats de Game Boy. D'accord. Gérard, tu crois que c'est intéressant ou pas ? Pour l'instant, c'est pas toi que je m'adresse. Sur IRC, on me dit que sur Street Fighter 2, pour avoir les turbos de 10 étoiles, il faut faire bas, R, O, L, Y, B, X.
Ah. C'est pas vrai, il faut les relancer des petits mains aussi. T'as oublié R2, hein. R2, voilà. Bon, enfin, bref. Je parlais du 2. Du 2, pas trop mieux. Pas du Alpha, machin. Du Alpha, c'est pas vrai. Double Gun ? Ouais. Non, moi, j'ai jamais participé à un championnat de Game Boy. Par contre, j'ai gagné un championnat de T-shirt mouillé. D'accord. Où ? Où ? À la mer. Ouais. Paul... Paul Phoenix ?
Ouais, ouais. J'ai jamais participé de ma vie à un truc qui a... Bon, en conclusion, il y a plus de... Il y a plus de questions. Ouais. Laisse-moi répondre. Ouais, je... Gérard, je voudrais... Putain. Mais qu'est-ce qui... Mais qu'est-ce qui... Gérard, je voudrais répondre. Vas-y. D'abord, je voudrais dire... En fait, je comprends pas pourquoi toutes les questions tournent autour de la Game Boy. J'ai jamais participé à un championnat de Game Boy. Et je voudrais qu'on réhabilite ce soir la Master System. Non, mais maintenant, c'est fini. Mais non, la console a taré. Laisse-moi parler. Mais la Master System... Conclusion !
Je peux conclure, Gérard ? Ouais. C'est qui ? C'est qui ? C'est Link. C'est Link. Ouais. Je voulais d'abord dire que c'était un débat un peu moins intéressant que le premier, mais qu'on a quand même appris des choses. On a déjà beaucoup appris sur les jeux vidéo. Et je voudrais aussi... Tu peux même dire ce que t'as appris sur les jeux vidéo. J'ai appris que Gérard utilisait parfaitement le vocabulaire du jeu vidéo. Et que c'était toutes les nouveautés. D'accord. Et j'ai appris également que mon jeu allait sortir demain. Sortira demain, Link, quoi ? Ouais, je sais, ouais. Ah, c'est de la bonne chance.
Conclusion ! Conclusion ! Conclusion ! Je vais parler, là. Il disait, la plénitude n'est que ce que l'homme recherche. Ok. Bon, Gérard. Ouais. C'est qui ? C'est qui ? Paul Félix. Ok. Je vais conclure en disant Game Over. Et aussi, je vais donner un petit tips pour le jeu Super League Mystery 3. Non, non, pas de marque. Pour buter le mode de fin, il faut lui envoyer un petit kiss puant dans la gueule. Et ça marche à tous les coups. Bravo, Manu. Merci, Manu. Merci.
Euh... Qu'est-ce qu'il nous reste ? GG. GG. Et le fantôme glouton. Ouais. Ouais, alors, en conclusion, je veux dire, je suis déçu parce que t'as pas posé beaucoup de questions. Et je voulais dire que sur les jeux vidéo, est-ce que c'est vrai que toi, t'es comme la Nintendo 64, c'est-à-dire 64 bits par minute ? Alors, moi, je sors meilleur. Bah, attends, je te demande. Super Mario. Bah, la conclusion, moi, il y a un pote qui m'avait dit que tes dévats étaient nuls. Mais bon, en fait, non, c'est pas vraiment nul. C'est carrément pourri, quoi. Mais bon,
c'est pas grave, quoi. Paul Fenix. Ouais, bah, on va en faire une deuxième, pendant qu'on y est. J'ai pas trop quoi dire, moi, j'ai tout balancé, donc... Bon, ça... Un autre tips, non ? Ouais, bah, moi, je voudrais dire que j'aimerais bien qu'il fasse partie d'un des personnages de Street Fighter, comme ça, je pourrais t'en parler ta gueule. Bah, moi, c'est ton merde, connasse. Euh, Monica.
Je me suis sentie trop concernée par ce débat. Mais je voulais dire que si un auditeur se le m'appelait, y'a pas de problème. Enfin, pute. Ok. Connasse. Ok, bah, c'est bien. Régo, conclusion ? Elle était jouée à Insultator 3. Euh, conclusion ? Alors, conclusion de l'IRC, y'a Turpentine qui dit que ton débat, il avait ni queue ni tête comme toi. Y'a... Oh là là, parce que ça va trop vite, là. Entre les mecs qui parlent d'argent ou alors qui n'en ont pas, et ceux qui parlent de console, enfin, bon, là, j'arrive pas à suivre.
Il est temps que GG s'achète une console avec son argent de poche en euros pour pouvoir connaître les règles du jeu. Et sinon, si les consoles n'existaient pas, on a quand même GG pour foutre la merde sur l'IRC. Et combien de personnes ? Douze. On en a perdu quand t'as gueulé. Ouais, là, on est descendu sous les 2000, je préfère pas en parler. Non, bah, ça me fait une dalle. C'est lamentable. Donc, conclusion, bah, c'est... Gérard, sinon, y'a le vrai Arnette sur l'IRC en conclusion, il dit que tu pues la merde. Alors, moi, je dors merde. Moi, je dors merde et j'y suis dans...
Oh là là, c'est dégueulasse. Donc, alors, tu me casses pas les couilles. Bah, c'est tout ce que j'ai à lui dire. Donc, vous allez retrouver Rousseau pour la... Ta conclusion, Gérard, ta conclusion, quand même. Ma conclusion, c'était de la merde parce que tu pues ta merde toutes les semaines, comme d'habitude. D'accord. Manu, pour un sens, ça pouvait aller. Y'en a qu'un qui fait bien son boulot. Y'a que Rigaud qui sait travailler. Y'a que moi. Y'a que lui.
C'est incroyable. Y'a que lui qui arrive à nous faire quelque chose. Donc, maintenant, vous allez retrouver Rigaud. Attends, attends, j'ai une conclusion sur l'IRC. Deux secondes. Rigaud, Ré va te donner du plaisir. Qu'est-ce que ça peut te foutre, toi ? Toi, t'es vraiment le pédé. C'est tout ce que j'ai à te dire. Il te fait quelque chose. Y'a que lui qui fait bien son boulot. C'est vrai. Et y'a Ziwi sur l'IRC qui conclut en disant que les jeux vidéo,
c'est beau et que GG, t'es un chier. C'est bien. Donc, qu'est-ce que j'ai à vous dire d'autre ? La semaine prochaine, les débats... On sait pas. Non mais, Pildar, quand t'auras pris une idée connerie, tu me le diras. Donc, maintenant, vous allez retrouver Rigaud pour la nuit sans pub. 6h-9h. C'est moi, là, je fais la nuit sans pub. Rousseau, pardon, pas Rigaud. Qu'est-ce que je dis ? Rousseau pour la nuit sans pub. Demain matin, 6h-9h.
Max, et après... Merde ! La grillantaine, elle est belle. Tu fais quelle heure, toi ? Tu fais le décrochage vocal, non ? Oh là là ! La nuit sans pub, avec Rousseau. Sans pub, y'a pas de pub cette nuit. Gérard, y'a quand même une conclusion du vrai muldeur des X-Files. Il dit qu'il aurait mieux fait de jouer à sa console que d'écouter ton débat de merde. Merci Rigaud, tu nous donnes du plaisir. Alors, donc... T'as donné du plaisir. Vraiment, donc...
Là, vous allez retrouver Rousseau pour la nuit sans pub. 6h-9h. Barthes. Et 22h, Max, pour la libre-antenne avec Jean Deneuver. Donc, vous pouvez appeler... Dès maintenant, appeler dès maintenant. Appeler dès maintenant pour Jean Deneuver. Appeler dès maintenant pour la... Manu reste jusqu'à 6h. Pour la libre-antenne, donc, demain soir. Et moi, je vous retrouverai la semaine prochaine, si tout va bien. On a le temps, on a le temps.
Je voulais juste dire à tous les auditeurs qui voudraient encore aller sur l'IRC, y'a Sandy qui vous attend, la vraie. Non. Sandy Amatora à la maison. Bonne nuit, Gérard. Le disque pour skitter, tu connais pas ? Ah, non. Zintonic, tu connais ? Euh... C'est le truc pour danser. One, two, three, four. Non. Tu connais pas ?
== Le débat sur la CB (Cibie) ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Pas de radio et pas d'insultes de Gérard.
Et voilà, vous venez donc d'écouter un petit remix qui a été passé hier soir lors de l'émission de Max.
Non, non, non, c'est ce qu'on a récolté dans une boîte de nuit.
Voilà.
Dans une boîte de nuit, c'était pas sur le répondeur ?
À la chunga.
Ah, à la chunga, d'accord.
Gérard, il dit des conneries.
Vas-y, commence-toi.
Gérard, c'est Turpentine de l'Internet qui l'a récupéré.
Voilà, je la remercie.
Et là, avant, j'étais en train de demander à Rigo combien qu'on était.
On est déjà 3 000...
On était 3 582 quand je te l'ai dit.
On est déjà à 3 722 moins 4.
Donc, le premier débat va porter sur la cibille des erreurs 55.
Donc, on va accueillir Cendrier.
Oui, allô ?
20 ans, Mazamé.
On écoute Fun Radio sur 99.4.
Oui.
Bonsoir à toi.
Bonsoir.
Mets ton doigt.
Oui.
Salut, Gérard.
18 ans, Verdun.
On écoute Fun Radio 93.9.
Oui, c'est ça.
Tais-toi.
Oui, bonsoir, Gérard.
22 ans.
Bonsoir, Gérard.
Bonsoir à tous.
22 ans de...
De...
De...
De...
De...
La Cachan.
Oui.
Bonsoir.
La Cadeau, pardon.
On écoute Fun Radio 98.6.
Exact.
Bonsoir, Gérard.
Bonsoir à toi.
Petite truie.
19 ans de Alès.
On écoute Fun Radio 95.6, pardon.
Oui, bonsoir à toi, Gégé.
Bonsoir à l'équipe.
Bonsoir.
Salut, tout le monde.
Salut.
Fesse de taureau.
Bonsoir, Gégé.
25 ans.
Isola 2000.
On écoute Fun Radio 101.7.
Exactement.
Ça va bien, Gégé ?
Je sais pas.
Je n'ai pas regardé ce matin, ça.
Ah, Gégé.
C'est la fin de la tournée.
Et...
Sans pitié.
19 ans.
10 ans.
103.5.
C'est sans pitié.
Ben oui, ben.
C'est ce que je viens de dire.
C'est ça.
Bon, alors, les oreilles, c'est comme le cul, ça se lave.
Mais sans contotiche, d'accord ?
Ouais.
Ok.
C'est clair.
Bon, alors, on y va.
On attaque.
Première question.
Est-ce que vous possédez une CBC, oui ?
À quoi cela vous sert-elle ?
On va demander ça à Tétois.
Ouais, ouais.
J'en possède une.
Ben, en fait, ça me remplace le téléphone chez moi.
Non, mais...
Ben, ça y est.
Ça, je m'en serais douté.
Ah, ben ouais.
Je m'en serais douté qu'on m'aurait dit que ça remplace le téléphone.
Tu t'en redoutes aussi.
Ouais.
Donc, tu peux préciser ta...
Ma phrase ?
Ta réponse.
Ouais.
Donc, ben ouais.
Je m'en sers comme téléphone parce qu'en fait, j'ai pas le téléphone.
Ça coûte trop cher.
Puis, c'est pas ce téléphone.
C'est pas ce télécom.
Ouais.
Non, mais attends.
Attends, attends, attends, attends, attends, attends, attends.
Commence pas.
Quoi, quoi, quoi, quoi, quoi ?
Oh, hé, hé.
Hé, tu vas te calmer parce que sinon, c'est moi qui te calme.
Ok ?
Ok, gamin.
Oh, c'est Michel.
Oh !
C'est moi qui parle.
Ok ?
Ouais.
Ça parle, alors.
Non, vas-y.
Alors, déjà, la CBI, ça a été agréé par les PTT, mais maintenant, ça y est plus.
Ok ?
Pourquoi ?
Pourquoi ?
Euh...
Parce que maintenant, la CBI, tu peux la posséder comme tu veux.
Ça veut dire...
Vas-y, vas-y.
Ouais, je sais pas ce que ça veut dire, agréé.
Agréé, c'est...
Ben...
Quand t'achètes un téléphone dans un magasin, c'est agréé PTT.
Donc, derrière ton téléphone, t'as une marque.
Et dessus, c'est marqué agréé PTT.
Petit travail tranquille.
Ouais.
Voilà, ça veut dire ça, PTT.
Mais ça n'existe plus, les PTT, hein ?
Ah non, presque pas.
C'est eux qui nous envoient le courrier.
Quand ça marche...
À une condition que ça fonctionne bien.
Ok ?
Ok.
Euh, Cendrier ?
Oui ?
Tu t'écoutes ?
Non, ben attends, je t'écoute, c'est moi qui t'écoute, maintenant.
Tu réponds à la question, ou si tu réponds pas, ben, on va te dire bonne nuit.
Ok, bon, ben moi, j'ai pas de CBI, mais je compte bientôt en prendre une.
Ouais.
Donc, je sais pas, c'est laquelle la moins chère ?
Alors ça, pour l'instant, tu vois, là, tu commences déjà à me parler des questions qu'on n'est pas dedans encore.
Ah, excuse-moi, d'accord, j'attends.
Ok ?
Ok.
Alors, pour toi, ça va être...
Euh, si, la question que je vais te poser, à quoi ça va te servir ?
Ben, en fait, ouais, c'est une bonne question, à quoi ça va me servir ?
Ben, je sais pas, garder le contact avec les gens, c'est cool, avec les camionneurs, tout ça, c'est bien.
Non, mais, Fildar !
Non, mais, je prends un gâteau, mais...
Non, mais, attends, Fildar, s'il te plaît !
Attends, Fildar !
Excuse-moi.
L'autre, il ouvre carrément le paquet.
J'avance au micro.
Gérard, pour commencer, enfin, pour le début du débat, il y a...
Perforas, le vrai Perforas sur l'IRC, d'ailleurs, il te salue.
Il te demande qu'est-ce que ça veut dire, 6 billes ?
6 billes, en fin de compte, ça veut dire...
Ben, justement, c'est la question.
Ça veut dire 4 bancaires ou...
Ouais, ben, ça veut dire 4 bancaires ou...
Ben, oui, c'est tout, hein.
4 bancaires ou 4...
Cues bouchées, cues bouchées.
Cues bouchées, cues de bite...
Lâche-toi, lâche-toi, Lascar, vas-y.
Ok, non, allez, allez, allez...
Non, mais...
Moi, je croyais que ça voulait dire communication brève.
Ok.
La prévision de 6 billes, non ?
Moi, je croyais que ça voulait dire 6 billes trop, en fait.
Comment ?
Je croyais que ça voulait dire 6 billes trop.
Sur l'IRC aussi, l'indie, ça veut dire connard bourré.
Bon, ben, ça, ils peuvent dire ce qu'ils veulent, hein, de toute manière, tu peux...
N'importe quel nom.
C'est une bonne définition, quand même.
Mets ton doigt.
Mets ton doigt, tu réponds, s'il te plaît.
Ouais, c'est moi, je dirais.
Ah, il a son pont, lui.
Vas-y, laisse ton doigt.
Ouais, vas-y, vas-y, vas-y.
Eh, mets ton doigt dans mon cul, là, celui qui s'amuse à passer à chanter ça, il va commencer par fermer sa gueule.
Ok, merci.
Ça a coupé, hein, Manu.
Bon, Manu, c'est quoi, ce bordel, là, déjà ?
Je sais pas, l'auditeur, il a raccroché.
Ah, il a raccroché, mets ton doigt.
Ah, ben, c'est bon, tu prends quelqu'un d'autre.
C'est bon, c'est bon, c'est bon.
Allez, là, mais en plus, c'est cause, je crois que c'est un passionné de 6 billes et qu'il en a une.
Parce que, euh, sur le téléphone, tu peux...
Tu peux pas parler de tout.
Parce que, des fois, il y a des gens qui t'écoutent.
Ouais.
Donc, nous, avec mes potes, on a des business un peu chelous, donc on est obligés de passer par la 6 billes, on se met sur le canal 19, et là, personne ne nous entend.
Non, presque pas, presque pas.
Sur le canal 19, personne ne t'entend.
Non, mais attends.
Non, non, c'est privé, c'est un canal privé.
Ah, ouais, mais attends, tu me prends pour un con ou tu me laisses ?
Non, non, c'est pour moi et mes potes les routiers.
Non, non, mais attends, attends.
Ouais.
Petite truie.
Oui, je suis là.
C'est toi qui viens de me répondre ?
Ouais, ouais, tout à fait, ouais.
Bon, je te demande si tu me prends pour un con ou tu me laisses ?
Bon, comme tu veux, je te laisse, vas-y.
Ouais, eh ben, je vais te dire une chose, que sur le canal 19, déjà, une, tu peux pas rester 50 ans à raconter ta vie.
Ah, t'sais, j'ai pas besoin de 50 ans pour faire mes business, t'inquiète.
Ouais, ouais, non, mais moi, je te dis, sur le canal 19, t'as pas besoin de...
C'est quoi, le canal 19, Gérard ?
Le canal 19, ça va être la question 4.
D'accord, vous attendez la question 4.
Ok, mais Gégé, tu fais quoi au niveau de la juridiction pénale à ce niveau-là ?
Je veux dire, la civile, c'est quand même réglementé, tu fais quoi dans ce cas-là ?
Non, plus maintenant.
Ah, si, si.
Non.
Non.
Ah bon, t'es sûr ?
Maintenant, tu peux te procurer une civile comme tu veux.
Ah, donc, en gros, il y a un mec qui peut prendre une civile et puis il fait une radio locale dans sa chambre, c'est ça ?
Non, mais attends, déjà, une civile, tu sais ce que c'est ?
Euh, ouais, c'est le truc avec des boutons et des numéros pour...
Voilà, c'est un petit appareil comme, je dirais, un téléphone.
Ouais.
Hein ?
T'as un mic ?
Ouais, t'as un mic ?
Tu branches ton mic sur la civile ?
Tu tires une antenne.
Tu tires un fil qui te donne l'alimentation avec ton antenne et là, tu peux parler.
Attends, est-ce que t'as checké le flot d'abord ?
Comment ?
Tu checkes le flot d'abord ou pas ?
Attends, tu parles français, toi ?
Est-ce que tu checkes le flot d'abord ?
C'est quoi, ça ?
Avant de balancer la purée.
T'es dans la place ou quoi ?
Bon, j'ai la fièvre, je dirais.
Bon, fesse de taureau, fesse de taureau, allez.
Ouais, bah moi...
J'achète pas de civile parce que je trouve que le son, il est pourra.
T'as bien raison.
Tout naze, le son, tout pourri.
Il faut mettre une antenne.
C'est vrai qu'entre un téléphone et une civile, il n'y a pas de flot d'aujourd'hui.
Non, non, non, mais alors là...
Là, par contre, fesse de taureau...
Tu m'as un petit lobby avec cette antenne.
L'antenne, l'antenne...
Oh, s'il vous plaît !
Attendez, Gérard, réponds.
Ouais.
Fesse de taureau.
Ouais.
Si déjà, t'achètes une civile sans antenne, tu peux être sûr que t'entendras rien.
Bah, je sais, mais même avec une antenne, le son, il est naze.
Non.
Mais pourquoi, Gérard ?
Non, parce que là, il faut se dire une chose.
Avec une antenne de civile, donc tu la branches sur ton TX et ça a toi de...
C'est quoi, un TX ?
Un TX, c'est un appareil, comme dirait le Minitel ou téléphone.
Mais pourquoi, par exemple, quand tu branches une civile, ça fait...
Non, mais ça, c'est...
Non, mais c'est normal.
Non, mais c'est bouffé.
Attendez, il répond, il répond.
Non, parce qu'il y a certains TX...
Non, euh...
T'as du mal à les régler.
Mais c'est à toi de les régler, parce que, pourquoi ?
Faut se dire une chose, qu'avec l'antenne de civile, il te faut un TOS.
Un TOSmètre.
Ce qui te permet...
Un TOS, non ?
Non, non, non.
Non, non, un TOSmètre, c'est...
Ce qui te permet...
Gérard, un peu de respect.
Attends, s'il vous plaît !
Respect, respect, respect, c'est pas la chose.
Attends, j'en ai fait de la civile, donc je sais ce que c'est un TOSmètre, ok ?
Un TOSmètre, ça te permet de régler ton antenne.
Correctement, pour pas avoir de problèmes.
D'infrastructure.
Donc, si la personne ne sait pas régler son antenne, c'est son problème.
D'accord, et pour régler une antenne, il faut un TOSmètre.
Voilà, un travailleur clandestin, quoi.
Non, non, non, non.
Et il va vite, il est quick ou pas ?
Non, non, ça dépend d'où tu te trouves, et je vais même pas insister sur vos questions.
Sans pitié.
Ouais, ça sert à rencontrer des gens, et il paraît que face à la région du Nant, on peut rencontrer des gens.
Il y a des mecs sur la Cibi, je crois, n'est-ce pas ?
Ouais, ouais, moi j'ai entendu qu'il y avait un réseau de cul, Cibi, c'est ça ?
Ouais, non, mais attendez, attendez, attendez.
Attendez, parce que Gérard a un petit sondage, justement, sur ce que vient de dire, sans pitié.
Alors, donc il y a 45% des gens qui utilisent la Cibi pour faire des connaissances, et plus il y a infinité.
Mais ça, c'est des questions...
Infinité.
Ouais, mais...
Ouais, ouais, plus c'est infinité, ouais.
Ouais, mais ça...
Comment ?
Qui c'est qui a parlé derrière ?
Bon, les filles...
Sans pitié.
Ouais, sans pitié, je t'écoute.
Sans pitié.
Ouais, ben je te disais, il y a un réseau de rencontres sur du Nant assez cul sur la Cibi, donc je vais essayer de m'en procurer une.
Ouais.
Donc ce serait bien que tu m'expliques un peu comment ça marche.
Enfin, je vais écouter le débat, et puis je vais essayer d'apporter mes lumières.
Ah, mais ça, pour t'expliquer comment marche une Cibi...
Ouais.
Déjà, quand...
Quand tu viens chez toi.
Non, non, non, non, non.
Quand il n'y a pas de problème.
Non, non, non, non, il n'y a pas besoin de venir chez moi.
Elle achète sa Cibi à demande au vendeur.
Le vendeur lui explique comment que ça fonctionne.
Maintenant, si elle ne sait pas, eh ben, elle se débrouille.
C'est un petit poil.
C'est tout.
De toute façon, il y a une notice, Gérard, quand tu achètes une Cibi.
Bah oui.
Mais si la notice est en japonais.
Comment, comment ?
Si la notice est en japonais, je fais comment ?
Eh, si c'est des poignées de ton petit nègre, comment qu'on fait ?
Je te l'envoie, tu m'en prêtes ?
Ah, le roi de l'imitation de Gérard.
Ah, Gérard, pas de Gérard.
Bon, alors, deuxième question.
Graines de déchets.
Euh, Rigaud, une question IRC avant.
Euh, oui, on te demande, Le Chiant, il te demande depuis quand la Cibi existe-t-elle ?
Euh, ça, je sais pas, j'ai pas les dates, j'ai pas les dates approximatives, mais je pense que ça existe depuis longtemps.
Début juin, on m'a dit, 47.
Non, non, non, non, non, non, attends, la Cibi, ça va pas depuis juin.
Ça fait combien de temps que ça existe, la Cibi, à ton avis ?
Je sais pas, moi.
Ça fait plus de 20 ans, plus de 30 ans ?
Ouais.
Euh, attends, euh, la Cibi, c'est, c'est connu, t'as, t'as même des, des Cibis portables.
Ah, oui.
Sur Titanic, il paraît qu'ils en avaient une, les Cibis.
Non, non, mais c'est pas...
C'était une Cibi sur le Titanic ?
Eh, toi, fais gaffe là-bas, parce que je vais te faire avaler tes lunettes, si tu fais le con.
Mais non, c'est pour la télé, vas-y.
Donc, euh, deuxième question, Gégé.
Deuxième question.
Ouais.
Euh, de quoi parlent les Cibistes, en, en général, là ?
On va demander ça à...
C'est d'autant.
Non, ben, euh, ouais, ben, tiens, euh, voilà.
Voilà.
Comme tu l'as ouverte.
Parce que c'est que des routiers, je pense.
Hum ?
De cul.
Parce qu'il y a que les routiers qui...
Ah, il y a, à, à, à, à ton avis, il y a, il y a que les routiers qui...
Non, mais il y a bien 90% de Cibistes, euh, c'est des routiers, je pense.
Bon, alors, moi, je vais te dire une chose, que tu te trompes déjà.
Bon, c'est sûr que, euh, il y a, il y a pas mal de routiers, je suis d'accord avec toi.
Mais tu te trompes.
Mais faut te dire une chose, que il y a des chauffeurs de taxi qui, qui, qui l'utilisent.
Ouais, je voudrais dire aussi qu'il y a aussi des prostituées.
Ouais, ben, ça, euh, c'est leur problème, c'est...
Ça, c'est leur problème, c'est pas le mien !
Ben, avant, moi, je dis, les, les, les, les putes, elles tapinaient sur le trottoir.
Et maintenant, je trouve ça un truc scandaleux, parce qu'elles viennent tapiner sur la Cibi.
Et franchement, ça brouille les canaux, surtout si tu vas sur le canal 69, c'est un vrai bordel, là-dedans.
Ah, ouais, attends, attends, attends, qui c'est qui vient de, qui c'est qui vient de parler ?
C'est Petite Truie.
Alors, Petite Truie, j'ai jamais vu, euh, 69 canals sur, euh, sur une Cibi.
Il y en a combien, d'ailleurs ?
Euh, t'en as 40.
Des canals ?
Hum.
T'as, euh, tu passes du 1 au 40 et c'est tout.
À moins que t'as la, euh, la BLU, là, tu peux...
C'est quoi, la BLU ?
La quoi, la quoi ?
La BLU, c'est, c'est un, euh...
C'est un petit gâteau, ça, non ?
Non, non, c'est, c'est un truc que...
Un de marque, Gérard.
C'est un violet en plante d'arbre.
Mais attends, BLU, t'es toi, toi ?
Pas de pub ?
Bon, ouais, oh, vous, vous...
Non, c'est quoi, la BLU ? C'est quoi, la BLU ?
Non, euh, la BLU, c'est, c'est, ça permet que lorsque tu vas à l'introngé, tu peux correspondre avec quelqu'un qui est en France.
Donc, il te parle en étranger, en, je sais pas, en américain ?
Non, non, en étranger, non, mais par exemple, t'as...
Bon, s'il vous plaît, vous vous taisez quand je parle ?
Merci.
Ok.
Oh !
Merci !
La BLU, c'est, c'est un appareil que, euh, tu payes pour que ta cible soit homologuée pour ça, donc.
T'as, ça s'appelle la BLU, donc, homologuée.
Tu payes combien ?
Euh, je crois que...
Je crois que c'est...
Tu payes 250 balles en plus du prix de ta cible.
Par jour ?
Non, non, non, non.
Tu payes 250 balles plus le prix de ta cible.
Pour la vie ?
Pour tout le temps.
Et la BLU, ça te permet de correspondre, par exemple, toi, t'es ici à Neuilly.
Par exemple, t'as, je sais pas, je vais prendre quelqu'un au hasard de ta famille, ta sœur, qui est, qui est du côté de la Thaïlande.
Ouais, bah, putain, elle est en Inde.
Ouais, mais, de la Thaïlande.
Bien joué.
Ah, en Thaïlande.
On fait des massages, ouais.
À peu, à peu t'appeler.
Sur ma cible ?
Oui.
Mais attends, Gérard, avant...
Non, mais, non, mais, attends.
Attends, je vais, je vais expliquer pourquoi.
Parce que la BLU, ça te permet d'avoir plus de correspondance avec l'étranger qu'on a à l'heure actuelle, nous, en France.
Ça sert à quoi qu'on ait inventé Internet, alors ?
Bah oui, mais, mais, ça, attends.
On n'arrête pas le progrès.
Attends, moi, non, mais, Gérard.
Oui ?
Imagine quelqu'un qui est sourd, il peut pas être sur, il peut pas être sur le téléphone ou la cible, donc, forcément, il est sur Internet, c'est tout.
Non, mais...
Mais, mais, attends.
Attends, déjà sur...
Attends, le mec qui est sourd...
Pardon.
Excuse-moi, j'ai fait une fausse manip.
Je crois que toi, t'as l'air, je vais te mettre, et toi, la grosse bouche de l'âge, je vais te mettre, et toi, le maigre, tais-toi.
C'est celle dédicace pour Mobilik.
Comment ?
Je disais, c'est celle dédicace pour Mobilik.
Le film, le film, le film.
Qui c'est, qui c'est, qui s'appelle comme ça ?
Rodrigo.
Pierre Chalot.
C'est ça, c'est ça, oui, bon.
Donc, Sandrier, il y avait une question Internet, non, Rodrigo ?
Ben, il y en a plein, on est plus de 4000 déjà.
Oh là là, ouais !
Alors, il y a Davy One qui te demande s'il faut éteindre sa CB quand on va au cinéma.
Alors, là, c'est une bonne question.
C'est une sacrée bonne question de putain de merde.
Une colle.
Donc, de toute manière, oui.
Je vais dire que oui.
Et Turpentine, elle te demande combien ça coûte l'abonnement à la CB et c'est quoi le prix des communications ?
Est-ce qu'il y a des forfaits ?
Non.
Non ?
Non, non.
Il n'y a pas de forfaits sur la CB.
Mais comment ça coûte l'abonnement ?
Il n'y a que SFR et Itinéris.
Non, non, non.
Non, il y a Bouille aussi.
Non, non, non.
Ben, attends, mais arrête de parler, toi.
Les Maudit Cards, c'est pour ton taf, les CB.
Mais non !
Puneuse, mais, hé !
Non, mais t'as le 7 aussi de CGTL.
Voilà, t'as le 7 de CGTL et puis t'as le 3615 aussi qui fonctionne, hein ?
Ouais.
D'accord.
Il y a Ante sur l'IRC qui me dit qu'il y a le câble aussi.
Non, mais attends, ça, ça n'a rien à voir avec mes questions.
Oh, Sandrier.
Ouais, allô ?
Ouais.
Tu peux m'envoyer la question, s'il te plaît ?
Non, non, non, non, non.
Je répète plus les questions.
Non, non, on est déjà à la bourre.
Je répète plus les questions.
Alors, on accouche.
Ok, d'accord.
Bon, alors, en fait, de quoi ils parlent, les gars ?
Ben, sur les directions à prendre, tout ça, non ?
Éviter les bouchons...
Attendez, laissez-la parler !
Ouais, s'il te plaît, ouais.
Donc, je sais pas, éviter les bouchons sur la route, les directions à prendre, tout ça, non ?
Non, mais ça, c'est la...
Ça, c'est la...
Ouais, ben, à la rigueur, ouais.
Donc, en fin de compte...
Bon, je vais te répondre après, Sandrier, avant qu'on mette un disque.
Tais-toi.
Moi, je pense que les civils, attention, on peut les appeler, ils parlent le langage civique sur la route.
Donc, ils doivent se dire, ouais, salut, salut, Robert, disons que je te file des calendriers de cul de playboy.
Je t'échange un playboy contre un penthouse.
Ouais, je t'ai déjà dit, ouais.
Moi, je t'échange ma main dans ta gueule contre une connerie.
Ok.
On se fait chier avec quelqu'un comme moi, on s'en vise.
Mais attends.
Non, mais moi, je t'emmerde.
Oh là là.
Ok.
Justement, Gérard, par rapport au sondage, là, t'as vu la deuxième ?
Ouais, ouais, mais attends, on va finir.
Petite prie.
Petite prie, je t'ai déjà répondu, mon amant.
Attends, je suis pas ton amour, d'accord ?
Alors, tu vas te faire sauter, toi, connard.
Je te kiffe.
Bon, alors, hop, bonne nuit à toi.
Allez, hop, celui-là, dégagez.
Fermez le vent, lui.
Hop, fesse de taureau.
Tiens, Michel, je t'ai déjà répondu.
Ok.
Sans pitié.
Ça sert à communiquer.
Ça sert à communiquer.
Vous kiffez, ça, les gars.
De quoi, de quoi ?
Ça sert à communiquer des plans cul.
Quoi ?
Ça sert à communiquer.
Hé, parle un petit peu plus fort devant ton combiné, parce que j'entends pas.
C'est un téléphone de merde, hein.
Ça sert à communiquer des plans cul sur la région du Nant.
Ouais, d'accord.
Je crois que tu vas retourner dans ton lit.
Ouais.
Tu vas continuer avec ta cibille pour essayer d'avoir des petits cochons qui veulent bien te sodomiser.
Ouais.
Hein ?
Et puis, on va te dire une bonne nuit.
Ouais.
Ok ?
D'accord.
D'accord.
Eh ben voilà, bonne nuit à toi.
Salut.
Il y a du poids sur la cibille, toi, là.
Bon, c'est...
Merci.
Donc, sur la question, là...
Attends, il y a Métondoa qui n'a pas répondu, s'il te plaît, Gérard.
Ah, c'est...
Ouais, Gérard, excuse-moi, mais tu m'as pas appelé.
Ah, oui, oui, oui, excuse-moi.
Ouais.
Ouais, alors, moi, j'ai dit que sur la cibille, ils parlent un peu de tout, quoi.
Mais quand ils parlent...
Tu veux, là, j'ai la cibille à côté de moi et...
Ouais.
Allume-la, va.
Tu mets quelle la 19, là ?
Allume-la, allume-la, allume-la, vas-y.
Tu mets quelle la 19, hein ?
Vas-y, vas-y, vas-y.
Voilà.
Vas-y, demande...
Demande quelque chose.
Eh, il y a quelqu'un, là ?
Déjà, pour commencer...
Ouais, ben, ça gueule, mais c'est ce qu'ils font, hein.
Non, non, attends, attends.
Déjà, pour commencer, on ne demande pas.
Il y a quelqu'un ? Tu demandes.
Qu'est-ce qu'il faut dire, justement, voilà.
C'est quoi ton QRZ ?
Euh, moi, c'est DJ Boost.
Bon, alors, tu dis DJ Boost...
DJ... DJ Boss...
Pour un...
DJ...
DJ...
Ouais.
DJ Boss pour un STTX.
OK, alors, attends, j'essaie.
Vas-y.
Ouais, attention, les stations, c'est DJ Boss pour un STTX.
Là, il a transformé les stations.
Voilà.
Donc, là, il y a du monde.
Voilà.
Donc, il y a du monde.
Donc, là, quelqu'un répond, c'est ça, Gérard ?
Donc, là, tu demandes...
T'as demandé...
Attends, attends, attends.
Oh, mets ton doigt.
Mets ton doigt !
Ah, là, ben, c'est ton doigt.
C'est ton doigt !
C'est ton doigt !
C'est ton doigt, Manu.
Ouais !
Faut que tu commences, là !
Ça y est !
Voilà, donc, là, je peux vous dire que, pour faire...
Déjà, quand vous achetez un STTX, déjà, la première chose que vous faites, vous allez...
Non, j'ai pris un 103XPX, moi.
Non, non, non, non, non, mais attends.
Déjà, pour commencer, quand vous achetez un STTX que vous savez pas vous en servir,
déjà, le vendeur vous explique comment que ça marche.
Après, vous allez sur le canal 19, vous dites, voilà, par exemple, un QRZ bidon,
puis la pisse pour un STTX.
Non, mais comme ça, tu vois, c'est un QRZ que je prends au hasard.
Le mec, il va te dire, bon, ben, c'est OK, ça passe.
Je te change ton slip.
Stop, stop, stop !
Je dirais, sur IRC, il y a Sardine qui te demande si on peut mettre sa 6 billes sur liste rouge.
Non.
Oh, putain.
Mais attends, mais c'est pas des téléphones, une 6 billes ?
Moi, j'en sais rien.
Non, mais tu vois, les gens de l'Internet, ils sont largués en 6 billes.
Ils connaissent que leur...
Ils arrivent pas à se connecter sur la 6 billes avec l'Internet.
On peut pas ?
Mais non, c'est impossible.
C'est impossible.
Donc, alors, à la question que je vais poser...
Donc, là, va mettre un disque, mon chéri.
Mon chéri...
Attends, je suis pas ton chéri, d'accord ?
Pas de marque !
Toi, tu vas te faire sodomiser, toi.
Donc, il y a 23% des routiers qui utilisent...
Utilisent seulement leur 6 billes pour trouver un endroit pour faire leurs besoins.
Alors ça, Gaël...
Ouais, Gaël...
Gaël, je vais te dire une chose.
Que là, t'as...
Le sondage que tu viens de trouver des 23%, je sais pas où t'as été me le chercher.
Peut-être qu'elle a voulu dire, tu vois, comme ils sont sur la route, par exemple,
ils veulent une station-service parce qu'ils ont envie de faire leurs besoins,
ils peuvent peut-être pas s'arrêter sur le bord de la route pour pisser dans le...
Non, non, mais attends.
Surtout sur l'autoroute, Gérard.
C'est dangereux, un camion qui s'arrête sur l'autoroute, c'est dangereux.
Non, mais sur l'autoroute, faut se dire une chose.
Une chose, par contre...
Merde, j'ai y arrivé.
Par contre ?
Faut se dire une chose, par contre, que t'as plusieurs aires de repos.
On l'a bien vu quand on a été avec Max, je sais plus, à...
Non, mais ne le dis pas, ça le dit pas où on est allé, ne le dis pas, ne le dis pas.
Je sais plus, du côté du Havre, là-bas.
Ouais, on a pris des photos et tout.
Faire une soirée.
Hum, hum.
Donc, il y avait...
Il y avait pas mal d'aires de repos.
Donc, là, ils peuvent s'arrêter.
Donc, il y a plusieurs routiers, donc ils peuvent papoter ensemble.
Donc...
Ah, d'accord.
La troisième question qu'on va poser, c'est...
C'est, peut-on acheter la Cibi en allant à la banque ou autre ?
Et on va s'écouter les petits bois du bois de boulagne avec des envies de caca.
Et on se retrouve tout de suite après au 0803 085000 et 0870 5000.
C'est quoi ?
C'est le disque ?
Ah bah, dis-donc, il est pourri, hein ?
Et voilà, c'était les petits bois du bois de boulagne avec des envies de caca.
Et donc, il est 1h... 1h21 et vous êtes toujours sur Fun Radio.
Donc, vous pouvez toujours nous appeler au 0803 085000 0870 5000.
Et toujours lire, c'est www.fr.funradiorigo.
On est combien, s'il te plaît ?
On est 4324,2.
Ça cartonne fort, ce soir.
Le débat se passe bien.
Je salue 2-3 personnes visées.
Je salue Paradox, Bacchus, Christophe, Izen, Sardine, Le Vrai de Marseille, etc.
Il est là, Davy One ?
Ouais, bien sûr, il est là.
Ah, c'est cool.
Et moi, je salue une personne, un cibiste.
Tout particulièrement, donc je vais saluer 2 cibistes aussi.
Donc, c'est-à-dire Lolo91.
C'est son QRZ, ça ?
On va peut-être l'appeler tout à l'heure.
On va l'appeler tout à l'heure, oui.
On devrait l'avoir dans nos débats.
Et je salue Petit Guépard qui est sur la route.
Ah, Petit Guépard.
Le guépard qui nous écoute.
Le guépard.
Donc, je te fais des gros bisous.
Et on va récupérer Sandrine.
Oui, allô ?
Bonjour. Rebonsoir, pardon.
Mets ton doigt.
Ouais, rebonsoir, Gérard.
Tais-toi.
Salut, les bébés.
Fesse de taureau.
Sringue terre ouverte.
Sringue terre ouverte, bonsoir.
Oui, bonsoir, c'est Sringue terre ouverte.
Fesse de taureau.
Ouais, rebonsoir.
Gérard, tu peux me redonner le titre du livre parce que j'ai bien kiffé.
T'as bien kiffé ?
Ouais, j'ai bien kiffé.
Je kiffe.
Tu kiffes à la FNAC, c'est tout ?
Tu le kiffes à la FNAC ?
Et puis, basse-toi.
Ok, et Camembert ?
Salut, Gérard.
Alors, donc, troisième question.
Peut-on acheter la CB en allant à la banque ou autre ?
On va demander ça à Sandrier.
Ouais, ben moi, je pense pas.
À la banque, on peut pas trop acheter des CB, quoi.
Mais je pense qu'ailleurs, ouais, genre au supermarché, au casino, des trucs comme ça.
Pas de marque ?
Pas de marque.
Non, mais elle te m'a dit, en fin de compte, si on vient bien à la banque, on peut acheter des CB.
Si on vient bien sur le débat, CB, ça veut dire quoi ?
Ça veut dire carte bancaire.
Ça n'a rien à voir.
Ah, très bien.
N'importe quoi, ça.
Quoi, n'importe quoi ?
Si vous êtes pas contents, derrière, vous vous écrasez.
Bien sûr, Gérard, ça veut dire ça.
Je comprendrais pas le principe, alors.
Non, mais attends.
Tout le monde me dit, ouais, mais CB, ça veut dire quoi ?
Bon, ben, maintenant, je dis, ça veut dire carte bancaire.
Il faut un code.
Si tu veux faire de la CB, il faut avoir un code.
Ah, oui, mais en fin de compte, t'as pas besoin d'avoir un code pour acheter une CB.
Donc, mettons-lui un Z.
Il y a une puce dans le soleil.
CB, ça veut dire carte bancaire.
Mets ton doigt.
Ouais, Gérard, écoute.
Ben, écoute, pour moi, la CB, moi, en ce moment, j'anime une radio gay sur Verdun.
À partir de la CB, justement.
Ah, bien.
Donc, la CB, c'est pas moi qui l'ai achetée, donc je peux pas te répondre.
Et le matos, on l'a déjà.
Moi, la CB, je l'ai chez moi, mais c'est juste pour m'entraîner, quoi.
Ouais, mais, donc...
J'attends que 2-3 routiers, puis on se parle, et puis voilà, quoi.
Ah, ben, attends.
Mais attends, tu te fous de moi, toi ?
Ben, non.
Ben, si.
Ben, pourquoi ?
Je te demande de quoi parlent les cibistes, en général.
Tu m'as même pas répondu.
Tu m'as répondu à travers la plaque.
Mais si, t'as répondu.
Il t'a dit que lui, il faisait une radio sur CB, donc c'est de ça qu'il parle.
Bon, OK.
OK, merci, Rigo.
Est-ce que tu vois ?
Merci, Rigo.
Euh, tais-toi.
Ouais, ouais.
Tais-toi.
Ouais, ben.
Moi, donc, ouais, ben, moi, ma CB, comme je t'ai dit, bon, j'en ai déjà une, hein,
ça remplace le téléphone.
Ouais.
Je l'ai acheté dans un petit magasin qui s'appelle les CB Fuckers, et puis...
Ouais, ben, euh, tais-toi, tu, tu, tu, tu pressurises pas les noms, d'accord ?
Ouais, y a pas de pub, hein, sur le son.
J'ai acheté dans un magasin de CB, et je voulais dire que c'était un gros routier poilu
qui était à la caisse, d'ailleurs, il a voulu me prendre quand tu t'es fait tomber ma CB.
Je sais pas trop.
Hop, vas-y.
Bonne nuit.
Merci, tais-toi.
Non, non, mais...
Merci, merci.
Tais-toi, tais-toi, tais-toi, tais-toi.
Tais-toi, tais-toi, tais-toi, c'est bon, c'est bon.
Tu es fier pour toujours.
Au revoir.
Mais par rapport, justement, par rapport au petit sondage de Gaël, là, y a 61%...
Non, non, mais attends, euh, j'ai pas fini avec les jambes, là.
Ah, d'accord, non, mais par rapport, tu vois, on peut...
Ouais, non, mais, ouais, mais, euh...
Ok, parce qu'il y en a pas mal, les sondages.
Non, non, ouais, mais après, ben, là, c'est un peu trop long, tous les sondages.
Ben, justement, en temps de temps en temps, ils peuvent réagir en même temps de la question.
Fin de chair ouverte.
Fin de chair ouverte.
Ouais.
Bon, je t'écoute.
Quand je t'ai rencontré, j'y ai pas cru.
Ça va pas, fin de chair ouverte, t'as un problème ?
J'ai des bouffées de chaleur, là, je sais pas ce qui se passe.
Ouais, ouais, je crois que, t'as l'air, tu vas avoir des bouffées de chaleur...
En standard.
Manu, au standard.
Ok, bon, alors, ce que je voulais dire, c'est que j'écoute souvent Radio Vazdine, là, l'autre, Tarlouz, là.
Ouais, ouais, ouais, c'est bon, c'est bon, allume, allume, allume, hop, hop, hop, hop, hop, terminé pour toi.
Baisse de taureau.
Ouais, alors, donc, moi, je sais pas, je pense pas qu'on puisse acheter une cibille dans une banque.
Pardon.
Mais peut-être, je sais pas, moi, dans un truc Paris pas cher, tu vois, un truc dans le style, tu peux trouver ça, quoi.
Voilà.
Ok.
Tu as mon verre ?
Ouais, bah, moi, j'ai acheté une cibille à mon copain, je l'ai acheté chez mon boulanger.
Parce qu'en fait, ils vendaient la sienne, donc j'ai acheté une cibille chez mon boulanger.
Justement, par rapport à ce qu'elle vient de dire, Gérard, est-ce que tu crois que c'est mieux d'acheter une cibille neuve ou d'occase ?
Euh, ça, c'est une bonne question.
Non, parce qu'en fin de compte, si t'achètes une cibille d'occase, tu sais pas sur quel matos tu vas tomber.
Le mieux, c'est d'acheter une neuve.
Mais les prix, je pense qu'on va en parler, on va essayer de...
On va aborder le sujet ou pas ?
Ouais, on va...
On en parle maintenant.
Non, non, mais on va aborder le sujet sur savoir combien coûte une cibille, parce que là, vu les questions qu'on a et puis vu l'heure qu'il est, donc faudrait qu'on écoute les questions.
Ouais, Gérard ?
Oui ?
Ouais, une petite question, je vais faire un peu.
C'est qui ?
C'est qui ?
C'est qui ?
C'est André, excuse-moi.
Oui ?
Je veux savoir comment t'écris, cibille.
Cibille ?
Ouais.
Alors ?
Ouais.
Une cibiste ?
Non, cibille, une cibille.
Cibille, bah, un CB.
Pardon ?
CB.
CB, en anglais, quoi, cibille, c'est ça ?
Bah, un CB ?
Ah, ouais, pas bête, je viens de comprendre, ok.
C'est pas français, alors ?
Pardon ?
C'est pas français comme matos ?
Ah, si.
Ah, pourquoi on dit cibille comme les anglais ?
Ah, ouais, c'est ça.
Mais non, bah, attends.
Comment on dirait un CB, une CB ?
Non, mais un CB, CB, c'est carte bancaire.
C'est des feuilles, les CB.
CB, c'est des feuilles pour rouler des joints ou autres.
Des joints ou autres ?
Non, mais...
Mais, cibille, en fin de compte, c'est quoi ?
C'est français, hein ?
Tu peux le trouver ?
Bah, cibille, non, cibille, c'est pas français, c'est anglais, comme tu dis, CB.
Non, parce que moi, je voulais mettre une annonce dans le journal, quoi, parce que je cherche
maintenant, ça m'intéresse, maintenant qu'on en parle, je cherche une cibille, quoi.
Donc, je vais savoir comment l'écrire, et voilà.
Ouais, euh...
Donc, CB, ok.
D'accord.
Ok.
Après, question, ouais.
Attends, attends, attends.
Si le copain de Gégé pouvait raccrocher son téléphone pour que je le rappelle, ce serait
sympa, mais...
Euh, Laurent, s'il te plaît, si tu peux raccrocher, si tu pouvais raccrocher, on essaye de te
joindre, alors raccroche.
Laurent, scan the phone.
Merci.
For tonight.
Alors, donc, 61% des cibistes préfèrent utiliser leur téléphone portable, donc je
vois pas...
Bah, par rapport à la cibille, tu vois, il y en a peut-être qui considèrent que c'est
mieux, le portable.
Non, mais...
Non, mais...
Ah, oui.
D'accord, je vois...
Tu vois ?
Je vois le rapport, le sondage que Gaël vient de me donner.
Donc, en fin de compte, c'est vrai qu'il y a des cibilles portables.
Ah, oui ?
Et c'est un genre de petit Akiwalki.
C'est un genre de petit Akiwalki comme un téléphone...
Portable.
Portable.
Et en fin de compte, sauf que dessus, au lieu d'avoir marqué n'importe quoi comme
nom, c'est des canaux.
Donc, tu peux aller du 1 au 40 aussi.
Oui.
Gérard, sur IRC, il y a Sardine, le vrai de Marseille, qui dit qu'il ne faut pas acheter
une cibille à un routier parce que c'est des voleurs.
Non, c'est faux.
Non, mais c'est une cibille d'occasion aussi, donc c'est des voleurs.
C'est faux, c'est faux, c'est faux.
Oui, Manu, on accueille ton pote, alors.
Alors, à la place...
Oh, l'eau !
A la place de...
Bah, à la place de qui ?
A la place de Tétois.
A la place de Tétois.
Salut, Laurent.
Salut, Gégé.
Salut, tout le monde.
Salut.
Salut.
Salut.
comment vas tu toi sans déconner bon alors sans déconner tu peux tu peux répondre à la troisième
et aussi moi qui commande il est là il est là j'ai envie de revenir au débat il ya 10 ans sur
l'hiver c'est qu'ils demandent si une cibi ça se nettoie avec des coton-tiges non j'y réponds même
pas non c'est lourd on laisse parler laurent
laurent
donc alors peut-on peut-on acheter la cibi en allant à la banque ou autres non mais en fin de
compte c'est quoi une cibi c'est bien c'est bien ça veut bien dire carte bancaire merci
mais ça veut dire carte bleue carte bancaire si lolo explique nous ce que ça veut dire si
oui c'est tout de quoi communication bref c'est ce que j'ai dit tout à l'heure
il dit quelque chose de bien
pour une fois à la classe donc troisième
il ya zz sur l'hiver c'est qu'ils demandent si tu utilises l'antenne de ta cibi quand t'as pas de
coton-tiges mais je ne réponds pas tu fais un boulot de merde ce soir à la plage de cinq terres
ouvertes on accueille zona oui bonsoir c'est zonat n'accueille pas oui c'est zonat zonat allez tout le
monde salut donc sur les cibi alors je tiens un petit magasin de cibi à paris
donc sans citer l'adresse c'est boulevard du général tu peux retourner chez toi j'invite
tous les cibistes à venir s'affolusionner boulevard voltaire
terminé pour lui combien plus précisément non mais ça y est il est plus là donc alors en antenne il m'a dit 115 à l'heure en antenne il m'a dit 115
ah merci qu'est ce qui se passe tant à l'heure j'ai peut-être à 115 dans le cul toi ouais quel est
et quel est les codes cibi les plus employés alors on va demander à cendrier celui qui fait du bruit
derrière arrête parce que ça commence à m'énerver non c'est pas un portable on va demander à cendrier
ouais les codes en cibi les plus connus ouais franchement je sais pas je connais pas trop la cibi donc je peux pas te répondre ah bah d'accord
alors pourquoi tu participes au débat sur la cibi pour en savoir plus
bah voilà c'est ça il faut être ouvert un peu quoi il faut comprendre il faut savoir
ok t'es ouvert toi gérard
ouais moi la cibi moi je la connais sur le bout des doigts
la cibi moi c'est mon rayon
euh mets ton doigt
où je le mets où
on l'a dégagé mets ton doigt
ah en plus
ah bon bah oui
on l'a remplacé par le lot il est là bah non non non
ah non c'est tais toi qu'on a viré
t'es un manu tu lui fais un boulot de merde ce soir
manu tu vas prendre le débat
vas-y mets ton doigt
ouais alors les codes les plus courants
il y en a plein quoi
donc t'es qtrs qtrz
ouais
toi t'es tataillé gérard je crois
ouais bah attends gérard t'écoute pas il est en train de se battre avec manu
gérard écoute le débat
ouais je t'écoute
ouais alors ton qtrz t'est tataillé c'est ça
non
non ça l'est plus parce que gérard arrête la cibi il a eu un accident
hein
t'as eu un accident
t'as eu un mur avec
oh oh au moins qu'on le voit
ouais bah arrête c'est ton débat là
mais mets ton doigt
allez allez
allez c'est bon c'est bon c'est bon
allez on active là
bah ouais bah je te parle gérard tu me réponds pas
bah vas-y
bah y'a qtrs y'a qrl y'a euh y'en a plein
ouais c'est des faux codes hein
yl aussi ouais c'est des faux codes mais
c'est utile hein c'est utile
attends bon ok
laurent
oui
donc pourquoi
non on dirait pas à white
y'a gaso liquide gaso solide
ouais
c'est manger boire
ouais
un bisu c'est euh quand on se rencontre
hum hum
mais y'en a plein d'autres
bon j'ai mon papier devant la porte mais je m'en rappelle plus
non mais là
devant ton téléphone mon coco
comment
devant voilà très bien devant le téléphone
non mais je sais pas celui là
t'as la petite chiasse aussi t'as grosse colique t'as
j'ai pas du tout soin de vous et tout ça des trucs comme ça
non et non
gérard
oui
c'est un fvc qui te demande si c'est dangereux la cibi
non
totalement totalement
non
non
gérard
excuse moi à la place de zona que t'as dégagé on accueille blénaud
bonsoir
ouais blénaud
oui bonsoir tout le monde
bonsoir blénaud
oui alors je vous appelle je vous appelle de limoges bonsoir à tous
ouais mais on s'en fout que t'appelles de limoges
attends je me présente mais la fréquence c'est 127.5
non non mais moi je m'en bats les couilles
ok
ben je tenais à dire sur le débat que donc moi je connais un endroit sympathique qui s'appelle cibi and trucks
c'est 13 avenue clémento
c'est à limoges
ça c'est malin ça
fesses de taureau
viens nous dire à l'antenne que oui c'est à limoges
ah d'accord
et au combien déjà
fesses de taureau
ouais alors moi les surnoms que j'emprunte je sais pas du tout puisque j'ai pas de cibi
et donc justement je participe à ce débat pour me renseigner
ok
ben moi je pourrais te renseigner après avec laurent on pourra discuter de certains
de l'antenne tout ça
ouais on en discutera un peu après
ouais ouais pas de problème
euh camembert
ben moi je connais ben comme les autres quoi ykl qrz
il y a un bruit de portante ça devient lourd là
manu
ben attends
je gère
je sais pas d'où ça vient à mon avis c'est laurent là il fait marcher son bordel
non non non ça et le métro on est bavard on est vernis
ouais en plus c'est le dernier métro
ben c'est un film ça
ouais
euh camembert
oui je t'ai dit gérard
ouais
je te copie
hum hum
etc etc
ok mais en fin de compte personne personne essaye de d'aller d'aller au fond des pensées
parce que en fin de compte qth c'est là où t'habites comme laurent disait hein laurent
oui tout à fait
ouais
euh ykl bon ben ça c'est pour les nanas
euh
yc c'est quoi
non yc euh ça existe pas
ouais
après t'as ton qrz c'est c'est ton nom de de siby
ouais puis y'a quoi d'autre lpf
non non non t'as oh t'as t'as plusieurs codes mais ça faudrait tpsg t'as
non non non non non y'a y'a y'a y'a plus y'a plusieurs codes euh
ouais gérard gérard c'était les tons d'oie là j'aurais en rajouté un petit peu quelques-uns là
ouais vas-y
y'a qra aussi c'est l'endroit où t'habites
ouais euh ouais
et puis je crois que y'a d'autres qra aussi quand tu vas aux toilettes je crois
eh ben eh euh laurent il te l'a dit hein c'est
eh
de quoi
euh laurent il l'a bien dit euh
gastrolytique
gastro liquide
gastro liquide
ah le gastro encériste quand tu vas aux toilettes aussi
nan nan nan nan nan mais attends
eh déjà qth c'est pareil que qra
ah non
ah ah bon
nan qth c'est l'endroit où tu te trouves et qra c'est où t'habites
eh ben alors
c'est pas pareil
euh si
nan on peut trouver c'est dans pendant quand t'es en voiture t'habites pas dans ta voiture
ah ouais mais attends nan nan mais nan nan merde
on peut avoir une cibi en voiture hein
ouais mais euh si en si euh en voiture si
bah oui si
si si en voiture
parce que moi mon oncle mon oncle il a acheté une voiture de case le mec il l'a vendu avec une cibi dedans avec l'antenne et tout
ça y est il l'a changé
euh c'est quoi son qrz
ah ben il en a jamais fait mais s'il veut il peut en faire parce que moi une fois j'ai branché
et euh j'ai mis sur le canal 19 après j'ai appelé ma grand-mère sur le canal 22
ouais
que j'avais dit de se mettre sur le canal 22 pour être peinard
ouais
et euh ça t'intéresse ce que je dis ou pas
mais t'as pas appelé ta sœur sur le canal 22
- Elle n'a pas la fenêtre à serre sur le canal 50. - Non, parce qu'elle n'a pas la BLU. C'est pour ça.
- Manu. - Oui, pardon, à la place de Blénaud, on accueille Sistitz.
- Bonsoir. - Salut Sistitz. - Bonsoir à toutes les filles en particulier. - Salut. - On t'écoute.
- Donc, je vous appelle de Toulouse. - Ouais, ben, ouais, eh oh !
Si c'est pardonné un truc que tu lui dis : "Ouais, j'ai un magasin à telle adresse", c'est même pas la peine.
- C'est 12 rue du Capitole ! - Comme ça, tu iras faire le Capitole chez toi.
- Il me dirait que c'est bien à Toulouse. - D'accord. - Et c'est 12 rue du Capitole.
- C'est 12 rue du Capitole. - Ouais, c'est ça. - C'est à Toulouse. - Pas de pub, merde.
- Alors, il y a un sondage. 32 des gens pensent que l'abonnement de Chibi est trop cher.
- Donc, il n'y a pas d'abonnement. - Il n'y a pas d'abonnement. - Non.
- D'accord, tu peux en faire une autre alors. - Euh... - Gérard ?
- Oui ? - Tu veux dire que si il y a des vieillasses qui te donnent...
- Tu me demandes ce que c'est ? - Il est là, lui !
- Salut, Davy One ! - Bon !
- Le GPT-AQBCOPIDKCLKKIRCT... Qu'est-ce que c'est ? - Quoi ?!
- Attends, hé ! - C'est long, c'est long.
- Hé, Davy One ! Tu t'essayes d'abréger parce que là, je comprends pas ce que tu me demandes.
- Ouais, c'est pas grave. - Euh... Donc, euh... 32...
- Ah, tu as fait celle-là. - Donc, 32%... Ouais.
- Ouais. Après, 86% des gens ? - Alors, 86% des gens qui ont une Chibi...
...sont sourds et n'ont pas... n'ont pas le bac. Alors ça, euh... ça, c'est pour les étudiants.
- Ouais. - Ça, on n'en a rien à foutre. - D'accord.
- Mais ça, euh... je vais te dire une chose, si les étudiants se t'emballent avec une Chibi dans leur lycée...
- Ouais, c'est mal. - Ils sont complètement starbés. - C'est clair.
- Étudiants ou étudiantes. - C'est clair. 12% des gens...
- 12% des gens rêvent toute la nuit de se prendre une bonne grosse Chibi. Alors là, je voudrais bien savoir...
Euh...
Je voudrais bien savoir le rapport avec le débat sur la Chibi.
- Mais peut-être qu'il y en a qui, tu sais, qui rêvent d'avoir une Chibi... - Non, mais Gaëlle...
- Non, non, mais attends... - Gaëlle, si tu écoutes Gaëlle...
- On va demander... on va demander à Gaëlle... - Bonne fête, Gaëlle, aussi.
- Ah, c'était la 5, Gaëlle. Bonne fête. - Bonne fête, Gaëlle.
- Donc, on va demander à Gaëlle qu'elle me trouve une réponse à la... à la... au pourcentage qu'elle m'a donné.
- Ok. - Donc, cinquième question. Pensez-vous que la Chibi devrait-elle être utilisée sur une autre personne ?
- La Chibi devrait-elle être utilisée sur une autre planète ? On va demander ça...
- Oui, euh... - Pardon, avant que tu commences, à la place de... de Blénaud...
- Non, à la place de Sissi. - Non, à la place de Sissi, on accueille Veru.
- Oui, bonsoir. - Salut, Veru.
- Bonsoir à tous. - Manu.
- Manu. - Ouais ?
- On prend sur les 24 signes. - C'est ce que je fais, Gérard, regarde.
- Bon, Gérard, pour revenir au débat, il y a Turpentine qui te demande si, avec la Chibi, on peut parler en morse avec une otarie.
- Alors, euh... parler en morse avec une otarie, je ne pense pas.
- Je ne pense pas, parce que... déjà, les otaries, c'est des... ça doit être des poiscailles, ça ?
- Ouais, c'est... ouais. C'est des animaux. - C'est des animaux en plus, Gérard.
- Comment ? - Tu vives au Kenya.
- Mais tu fuckes un peu ou pas ? - Comment ?
- Tu fuckes un peu ou pas ? - Non, je fuck pas. Je fuck ma wife.
- T'en as pas, d'otaries, toi ? - Non, moi, j'ai pas d'otaries, moi, j'ai qu'une truie.
- Moi, je fuck pas ta wife, hein. - J'ai qu'une truie.
- Comment, ta truie ?
- Elle s'appelle... elle s'appelle "Je t'emmerde".
- Ah, d'accord, OK. - Elle s'appelle "Je t'emmerde" ?
- Ouais, elle s'appelle "Je t'emmerde". Et elle vous chie dans le cul.
- C'est fin. - Euh, Régo ?
- C'est fin. On a perdu 1200 personnes, là.
- Merde. - À cause de quoi, Régo ?
- Bah, chie dans le cul, là. Ils ont pas aimé... Attends, je regarde un truc.
- Ouais, ben, donc, je pose la question. Pensez-vous que la CBD devrait être utilisée sur une autre planète ?
- On va... on va la faire, la question. Après, on va... - Ouais, on mettra le disque après, ce soir.
- On le mettra après, vu qu'on a commencé à la bourre. Donc, Rousseau, il est pas pressé, hein.
- Ouais, OK, comme Régo, je pense.
- Ouais, ben, il va prendre à 5 heures du matin, et puis c'est tout, hein. Wesh, wesh, wesh, hein.
- Ouais, ouais. - Ouais, wesh, wesh.
- Donc, on va demander à Cendrier, allez.
- Ouais, franchement, ce serait trop bien, hein, qu'on puisse communiquer avec les extraterrestres, tout ça.
- Ouais. - Et tout ça.
- En plus, t'imagines, avec le visiophone, ce serait génial, hein.
- Ouais, mais... - On pourrait voir la touche des extraterrestres, tout ça, ce serait cool, hein.
- Ouais, mais faut voir Canal.
- Non, non, mais attendez, moi, je vais vous demander une chose.
Ça, c'est une question que je vous pose à tous, donc vous allez me répondre.
Là, ça fait deux choses, hein.
Vous allez me répondre : est-ce que vous pensez que le Big Bill...
- Rien d'info du Big Bill, on parle des CB.
- Non, mais est-ce que le Big Bill, qui est à la télé, pourrait avoir une CB pour communiquer avec Vincent Lagaffe ?
- Mais non, il a trop de tuts, ce mec-là, il a pas besoin, il a pas besoin, ouais.
- Non, mais c'est bon, on n'est pas à un mariage, hein, pour mettre les klaxons, hein.
On parle pas de mariage, hein.
- Lagaffe, il communique pas, hein.
- Ah non, il communique avec qui ?
- Bah, je sais pas, mais il fait tout le temps des bruits et tout, je sais pas ce qu'il fait, ce mec-là, mais...
- Il a pas de potes, il a pas de potes.
- Il communique pas, c'est pas...
- Bon, allez, allez, allez, mets ton doigt, là.
- Un pauvre gars. - Ouais, Gérard.
Bah écoute, moi, je dis qu'il est déjà tellement la merde sur la CB...
- Ouais.
- ... que si on en est ailleurs, bah voilà, c'est encore plus inaudible.
- Ouais. - On a eu des bruits de routiers sur la route,
alors en plus, ils continuent de nous rajouter de l'espace, on est mal, en plus...
- Non, mais attends.
Attends, mets ton doigt.
Je vais te dire une chose, qu'on est bien contents
de posséder une CB dans sa voiture
et de communiquer avec des routiers
pour savoir comment que ça roule.
Hein, on est bien d'accord.
Oh, mets ton doigt.
Oh ! - Gérard se riaissait hier,
il me dit : "La CB, c'est bien en abusé, ça craint."
- Ben, ça, c'est vrai que...
Après,
une fois que t'es dedans,
tu peux plus t'en...
C'est comme une drogue.
Tu peux plus t'en passer, c'est comme...
C'est comme fumer...
C'est comme fumer ou boire, voilà.
Celui qui vient de dire "Merci".
- T'as tous les vis, toi, alors.
- Non, non.
Moi, j'ai... Ah, il me manque un vis.
C'est de baiser.
C'est ça qu'il me manquait.
- Non, non, non, non.
- C'est pas ce que j'ai fait avec Bulldog Mister.
- Bulldog Mister, attends, merde, toi, connard.
T'as compris ça ?
- Ouais, j'ai compris.
- OK.
- Et tu sais pourquoi il te dit ça ?
- Il est vraiment...
Il est vraiment...
Il est vraiment phénoménal !
La, la, la, la, la, la, la, la, la...
- Eh ben...
- Bon, Laurent...
- Il est vraiment...
- Oh, mon gueule derrière, s'il vous plaît !
Merci !
- Eh, t'es vraiment...
- Eh, non, mais attendez !
Mais attendez !
Il est 1h43, pour l'instant, ça s'est bien passé.
Je voudrais que ça continue comme ça.
- Non, mais GG, je disais juste que t'étais à fond anal, c'est tout.
Je suis d'accord.
- C'est qui ?
- C'est un verru.
- Un verru !
- C'est pas un verru !
- Ben voilà, t'as répondu, donc on passera ton tour après.
Laurent ?
- Oui, j'écoute.
- Donc, pour toi...
- Barry Walt.
- Eh, Barry Walt !
Barry Walt.
- Ouais, c'est ça.
- Oh, sans déconner, là !
- Sans déconner.
- Oui, pourquoi pas ?
- Sans déconner.
- Pourquoi, mon gueule, le lagaffe ?
- Pourquoi pas ?
- Pourquoi pas ?
- Pourquoi pas ?
- Oui, pourquoi ils sont de l'Est ?
- Ben oui !
Donc, c'est pour aller avec sans déconner, avec lagaffe.
Je pourrais te demander, est-ce qu'il a des chiens, Laurent ?
- Oui, j'en ai vu.
- Avec un break, non ?
- Ah, ben ça, ça te regarde pas.
- Gégé ?
- Quoi ?
- Ce verru, je voulais juste dire que Laurent, avec sa grosse voix, il me fait un peu penser
à un genre de Tony déguisé.
Je voudrais dire que c'est lui qu'on a vu pas d'habitude.
- Là, je vais te dire une chose, verru, tu te mets une grosse verrue dans le cul.
- Ouais, c'est sûr.
Je vais te dire une chose, je prends mon pied.
- Ouais, ben, tu prends ton pied, ben, moi, je prends pas mon pied avec toi, d'accord ?
Pesse de taureau !
- Il est tenu dans la boîte à quelqu'un, ça peut le faire, quand même.
- Bon, verru, tu fermes ta gueule, maintenant.
- Oui, chef.
- D'accord.
Euh, pesse de taureau.
- Ouais, ben, vu que j'ai deux au standard, tu peux m'appeler de la question, s'il te plaît ?
- Si, je l'ai calmé, parce qu'il avait dit un truc pas bien, donc...
Alors, pesse de taureau, pensez-vous que la Cibi devrait être utilisée sur une autre planète ?
Bon, allez hop, terminé pour lui.
Camembert !
- Qu'est-ce qu'il y a, Manu, au standard ?
- Je sais pas, je l'ai coupé, ça le fait toujours.
Terminé !
Camembert !
J'ai coupé tout le monde, ça le fait toujours, ça vient pas de moi.
- Y a un problème standard, là ?
C'est la table télécom, ça ?
- Ah ouais, y a un problème au standard, hein, Fulda ?
- Ah, regarde, c'est moi, ça ?
- Bon, c'est chef de taureau, donc c'était pas moi qui ai fait le con.
- C'est quoi, ce bordel ?
- Euh, donc, je voudrais répondre à la question, non, je pense pas que...
À ma connaissance, hein, enfin, je suis pas sûr, mais je pense pas qu'on puisse aller sur une autre planète.
- Ouais.
- Euh, donc, impossible d'avoir une Cibi sur une autre planète.
- Ok.
- Surtout, tu parles bien devant ton combiné, toi.
- Ouais, je comprends.
- On dirait que t'es un nouveau dans le truc.
- Bah ouais, moi, j'arrive, moi.
- Camembert, Camembert !
- On va te former, alors.
- Ok.
- Camembert !
- Ouais, moi, je dis, il faut avoir un grand BLU, sinon t'arrives pas à capter.
- C'est quoi, un BLU ?
- Bah, c'est le truc, là, pour parler en Thaïlande.
- Ah, ok.
- Ok.
Bon, donc, euh, en fin de compte, euh...
- T'as emmerdé, là, non ?
- Non, je pense pas qu'on pourrait avoir des...
des cibistes sur notre planète.
- Pourquoi ?
- Euh...
- Ça coûterait trop cher, en fil ?
- Ouais, je pense.
Rigaud ?
- Oui, y a un petit sondage que Booster est allé chercher sur l'Internet.
Alors, 45% des personnes interrogées n'en ont rien à foutre de la Cibie, 23% n'aiment
pas les routiers cibistes, 15% pensent que la Cibie... qu'avec la Cibie, ils vont pouvoir
décoder Canal+ et 5% se rappellent de tatailler lors des rencontres cibistes et auraient bien
aimé l'enculé.
- Ouais, bah, c'est bien.
Euh...
Donc...
je vais poser.
- Oh, Steve ! Oh, Steve ! Arrête !
- Tu peux virer Steve Austin au standard ? Vas-y, Gérard, vas-y, vas-y, vas-y.
- Donc, la question...
Manu...
- Tu fais chier.
- Manu, tu vas prendre une baffe.
- Je vais gérer.
- Ouais, ouais, tu vas prendre une baffe.
Euh...
Pensez...
Pensez-vous que la Cibie est-elle réservée plus aux hommes qu'aux femmes ou autres,
et on s'écoute comme un ouragan : "Je pète avec des fleurs, je pète avec des fleurs,
je pète avec des fleurs à épines."
Et on se retrouve tout de suite après, au 0800 308 5000 et 0870 7000 et tout ça.
Le Fun Radio est www.fr.
Rigaud vous y attend et je vous retrouve tout de suite après.
Vous êtes bien sur Fun Radio.
A tout de suite pour la suite.
- Les débats...
- Pas de radio et...
- Pas d'insultes ?
- De chien.
- Et voilà.
Donc, on va faire une petite pause.
''Musique'
Vous êtes toujours sur Plein Radio. Il est 1h50. C'était un bon scud. C'était quoi ? Comme un ouragan, je pète avec des pleurs à épines. En espérant que je n'ai pas écorché les noms. Ce que tu viens d'annoncer, à mon avis, c'est un tube. C'est Pildar qui me donne les titres. Il n'y a pas de plantade. On va finir le débat sur la CBI. On va finir le débat sur la CBI.
Pour ça, on récupère Cendrier. Salut. Mets ton doigt. Salut. Laurent. Salut. Sans déconner. Celui qui dit Tarlouse, il ferme sa gueule. Toi, tu dégages. Bonne nuit. C'était qui ? Je ne sais pas. C'était pas lui. Verru. Fesse de taureau.
C'est une passion. C'est moi qui commande. C'est pas vous. C'est lui le boss. Et Camembert pour terminer. Il en a des boss. Donc alors, la question, vous l'avez toute comprise. Vous avez bien compris la question. Non, non. Non, non, mais là, vous n'allez pas me faire chier maintenant. Alors, pensez-vous que la CBI est-elle réservée plus aux hommes qu'aux femmes ?
Alors, Cendrier. Oui, je t'écoute. Ben écoute, ouais, ben en fait, c'est plus pour les deux, quoi. Parce que maintenant, il y a autant d'hommes que de femmes dans la profession de routier, quoi. Et donc, je ne sais pas, ça concerne de plus en plus de femmes, quoi. Salut, je réponds bien. Voilà, j'ai terminé. Mets ton doigt. Ouais, Gérard, ben écoute, moi, je pense que déjà, pour les hommes et les femmes, ben, c'est pareil, quoi. Ils ont le droit tous les deux. Et puis, autre,
ben, moi, je pense à mon chien qui s'y entraîne, mais il a du mal quand même. Ça, c'était un méga job. Ok. Moi, je mettrais bien une super cartouche à Super Jimmy. Ben, moi, je vais te mettre une cartouche qui va fermer ta gueule, maintenant. Putain, Wonder Woman, elle est bonne, quand même. Ouais, ben, je t'emmerde. Euh, Laurent ? On parle de votre combiné, Laurent, t'es pas un gamin. Ah, ben, mon téléphone, il y a un problème, là. Ouais, ouais, il est dans son break, alors. Non, non, les chiennes.
C'est ce qui pousse, et tout. Oh ! Ouais ! Eh ! Oh ! Bon, ouais. Gérard, t'arrêtes, s'il te plaît. Ça me prend la tête, ça. T'arrêtes, parce que, pour l'instant, ça s'est bien passé, alors tu vas pas commencer à me faire... Non, il y a rien que du bon boulot. Donc, Laurent ? Non, non, mais, c'est mieux pour les hommes que pour les femmes, hein, pareil. Pas de problème. Ouais, mais, par contre, si j'ai... Ou autre, tu veux à peu près ? Ou autre ? Ou autre ? Pas du tout.
Je pense pas que des chiens peuvent avoir des cimis. Ah, ben, non. Bah, les perroquets ! Attendez ! Si je vous dis un perroquet, est-ce qu'il peut se faire vivre d'une cimis ? Non. Si... Si il a un QRZ ? Avec ses pattes ? S'il a un QRZ, ouais. Et alors ? Quand tu sonnes chez toi, et qu'il y a personne, et que t'as un perroquet, qu'est-ce qu'il dit, le perroquet ? Allô ? Eh, Gérard ? Ouais ? Je veux pas être méchant, mais si le perroquet, il tient la cimis, il se perce la gueule du perchoir, hein. Ouais, ben, alors là, là, non, pas du tout. Euh, Rigo ? Oui, il y a Canard WC sur l'IRC,
il te demande si... Est-ce qu'il existe des cimis modèle Batman ? Non. Et est-ce qu'il y a des cimis de couleur, ou elles sont toutes noires ? Euh... Alors là, c'est une très bonne question. Merci, tu fais du bon boulot, ça, hein, Gérard. Et ça, je... J'en ai vu avec... Avec... Je dirais pas son nom. Donc, j'ai vu des cimis, c'est vrai que t'as des cimis qui sont carrément en forme de bois, mais teintés. Ah ouais ? Comme l'intérieur, avec des...
T'as des branches avec des feuilles ? Non, non. Non, t'as... T'as... C'est une cimis, euh... Par exemple, tu vois, euh... Tu vas... Tu vas chez... Chez Ikea ? Non, chez... Dans un concessionnaire. Dans un... Dans un concessionnaire. Ouais, à Carrefour, au Champs, des trucs comme ça. Non, non, la concession... Bon, s'il vous plaît, derrière, vous fermez vos gueules, merci. Des marques de cimis ? Non, non, mais tu vas... Tu peux aller n'importe où, moi, j'en ai vu une, à Vaud, euh... Ben, justement, ça va être la question suivante, le prix. Donc, vers U. Je dis, la cimis,
c'est pas réservé que aux hommes, les femmes, elles y ont droit, y'a pas que des cons, y'a aussi des connes, quoi. Bon, alors, vers U. Vers U. Vers U, terminé pour toi. Allez, hop. Terminé ! Je l'ai éclaté, je l'ai éclaté, la vers U. Baisse de taureau. Ouais, je pense que la cimis, euh... Ce serait plus pour les bouseux qu'autre chose. Comment ? La cimis, c'est plus pour les bouseux qu'autre chose. Alors, tu peux préciser ? Aïe ! C'est parce que c'est un bouseux. Pour toi, tu devrais le savoir, hein. Tu prends un coup de jus. Je m'en fous, moi.
C'est un bouseux. Ben, en camembert. Ouais. Moi, je pense que c'est plus pour les hommes que pour les femmes, parce que les femmes sont un peu plus intelligentes pour qu'elles utilisent le téléphone. Non, ben, alors, attendez, parce que là, pour l'instant, vous répondez tous à côté de la plaque. C'est ce que j'allais dire en même temps que toi, en plus, t'as vu ? C'est fort. Donc, moi, je peux juste prendre contre ? Il est imprévisible, Gérard. Manu, tu vas commencer à être calmé. Ouais, t'éteins ton micro. D'accord ! Tu peux fermer un peu ta gueule ?
D'accord ! Merci. Donc, je peux vous dire une chose, que maintenant, comme il y a l'égalité des hommes et l'égalité des femmes, donc il y a l'égalité des deux, donc, des sexes, donc là, la Cibi, c'est très bien réservé. Devant ton micro. Pour les hommes, aussi bien pour les hommes que pour les femmes. Parce qu'en fin de compte, t'as aussi bien, t'as autant de femmes routiers que d'hommes. Non, mais il n'y a pas que les routiers. Oui, mais il y a tout. Il y a les chauffeurs de taxi,
il y a les routiers, donc en... Est-ce que, par exemple, les prostituées pourraient avoir une Cibi pour avoir des clients ? C'est plus simple. Non, je pense pas. Pourquoi ? Je peux pas te dire pourquoi. Attends, je suis en train de chercher... Qui c'est qu'il y a d'autres qui pourraient avoir des Cibis ? Souvent, des ambulanciers en ont. Ah oui ? Puis, bien sûr, nous, on peut s'en servir comme moyen de... De locomotion ? Non, oui. Gérard, il y a Canard DC qui te demande, est-ce que les marabouts peuvent guérir
des gens par la Cibi ? Non. J'ai une question, Internet. Non, mais Manu, pour l'instant, tu te... Hein ? Non, mais attends, pour l'instant, toi, t'arrêtes avec ta merde. Toi, t'es un... Toi, tu... Hein, bande de nazes ? Hop ! Arrête, Manu, t'es pénible. Attends, c'est mon standard, ça fait des étincelles. Arrête, tout à l'heure, ton standard, il va... Tout à l'heure, ton standard, il va te mettre une barbe, toi. Donc, alors, à la question, donc, il y a...
du débat sur la Cibi, donc, que Gaël m'a donné. Ouais. Il y a 47% des routiers n'utilisent leur Cibi qu'entre 21h et 21h. Alors, ça, ça m'étonnerait. Elle a dû se planter, voilà. Ouais, parce que là, 21h et 21h, je vois pas... Ouais, je vois pas trop le rapport. Je vois pas le rapport non plus. Ouais, du cheval. Donc, après, il y a 16% des gens sont prêts à tuer leur chien pour avoir une Cibi. Alors là, Gaël, tu vois... Là, tu chies. Tu chies dans la colle. Ouais.
Et donc, la dernière question. Ouais. Quelle heure est-elle ? Elle est 1h57. 1h58. On a encore le temps de faire une question et la conclusion. Deux, deux, deux. Non, non, non. Non, non, deux. Une. Bah, tu choisis la meilleure. Tu choisis la meilleure. Bah, c'est moi qui commande. Je fais la sept. Et après, je repose une question. OK ? C'est pas toi qui commande, c'est moi. Non, ta gueule, toi. Non, mais... Ta gueule. C'est pas cool, ce qui m'arrive. Ta gueule. J'ai envie de faire caca et j'ai pas mon téléphone. Eh bah alors, si t'as envie de faire caca,
tu fais une chose, tu raccroches ton téléphone et tu appaires caca. J'ai plus mon téléphone, je t'en fiche. Eh bah, je m'en fous. J'ai l'habitude de chier pendant les débats. Alors, euh... Devrait-on consacrer une émission de télé sur la Cibi ou à l'école ? Manu ? Oh non ! Oh non, Gérard. Devrait-on consacrer une émission de télé...
Regarde. C'est pas toi. Non, je te jure que c'est pas moi, Gérard. C'est pas toi, c'est mes premiers trucs. C'est les premiers trucs que j'ai fait quand j'étais à la... Mais tout le monde de là, ça... Non, non. Devrait-on consacrer une émission de télé sur la Cibi ou à l'école ? On va demander ça à Camembert. Ouais, bah surtout pas, parce que la Cibi, c'est quand même réservé à une élite. Et si on apprend ça des tout jeunes aux gamins,
la Cibi et le Canal 19, ils vont être complètement saturés. Non, mais déjà, le Canal 19, c'est saturé, déjà. Bon, tu t'écrases ? Je réponds aussi avec... Non, non, mais attends, tu t'écrases ? D'accord. Pour l'instant, c'est moi qui commande. D'accord, excuse-moi. Euh, fesses de taureau ? Ouais. Bah, je pense qu'enseigner ça aux gosses, c'est vraiment un truc à pas faire. Parce que, après, voilà, quoi, c'est pas cool. Bon, d'accord, euh... C'est tout ta réponse ? Bah non, mais qu'est-ce que tu veux enseigner de la Cibi aux gosses ? C'est impossible.
Ça va leur niquer la tête, c'est clair, ça va les ruiner. Non, je pense pas. Stop, stop, stop. Rigaud. Gérard, il y a le vrai Perforas, si on y a assez, qui te demande quel est le jour de la grève des Cibistes pour faire grève contre France Télécom, c'est quel jour ? Il y en a pas. Pourquoi ? Parce que maintenant, c'est la Cibi, et ça, Laurent, il pourra le confirmer. Maintenant, la Cibi n'est plus agréée par les PTT. Tu confirmes la tarlouze ? Non, je te parle. La tarlouze à ton maire, toi, connard ! La France Télécom, Gérard. Elle confirme ?
C'est Pedro. Euh, pour l'instant... Attends, Laurent. Celui qui s'amuse à insulter les gens comme ça, pour l'instant, va fermer sa gueule, ou sinon, il va dégager ! C'est pas cool. C'est Pedro, j'aimerais parler comme tout le monde, c'est Pedro. Moi, je t'emmerde, espèce de salope ! Oh, pas trop de vulgarité, quand même. Ouais, mais attends ! On se calme, Gérard, on se calme. Dis à Manu de les gérer, c'est son taf, hein. Laurent ! Au lieu de jouer à Zelda, là. Oh, ta gueule ! Laurent, tu peux confirmer ce qu'on vient de dire ? Tout à fait, Gérard.
T'as tout à fait raison. Donc, pour toi, donc, le canal 19, c'est vrai que maintenant, il est... C'est un canal d'appel, donc, pour avoir d'autres renseignements, il faut changer de canal. Voilà. Voilà. Donc, tu peux... Donc, est-ce qu'on... D'après toi, est-ce qu'on peut enseigner ça... À l'école, peut-être ? Est-ce qu'on pourrait faire une émission de télé, ou d'enseigner ça à des jeunes...
Qui seraient capables ? Pas question. Putain, celui-là, il va fermer sa gueule quand je parle. Merci. Mais pourquoi ? Tu veux les traumatiser, les gamins. Ben non, mais... Mais ça fracasse la tête. Regarde, t'en es le digne exemple. Je veux dire, qu'est-ce que faire de la cibier aux gamins ? Ils vont parler avec des mecs comme toi, après. Et alors ? Imagine le genre de fréquentation. Comment tu veux qu'ils évoluent dans un milieu stimulant, après ça ? Bon, écrases-toi. Je veux plus vivre dans un monde... Allez, tais-toi, tais-toi, tais-toi, tais-toi, tais-toi, tais-toi. Tout n'est pas si facile. Tais-toi !
Tais-toi, tais-toi, tais-toi. Donc, Laurent, donc, pour toi... Non, mais déjà, à l'école, ils ont toujours aimé parler l'histoire, et puis français, alors... Tu leur apprends à parler la cibier, alors... Ok. Mets ton doigt. Ouais, Gérard. Ben, écoute, si on enseigne ça, déjà, aux gamins, comme disait la demoiselle tout à l'heure, je crois que c'est ton rire qui... C'est Camembert. C'est Camembert, excuse-moi, Camembert. Ben, écoute, très saturé, on puisse faire atteindre gamins qui diraient des conneries partout, et puis, en plus, leur apprendre à boire à cet âge-là, c'est chaud.
Bon, alors, mets ton doigt. Pour l'instant, c'était pas la... C'est pas... Tu réponds à côté de la plaque. Ben, si, l'alcooliste des mineurs, c'est ça, la question. Ouais, c'est ça. Allez, hop. Vas-y, hop. Au revoir, pour lui. Au revoir. Au revoir. Au revoir, mets ton doigt. Au revoir, mets ton doigt. Tu peux l'enlever, tu peux l'enlever. Allez, au revoir, mets ton doigt. Enlève-le. Euh, cendruyer. Cendruyer ! Ouais, mais, en fait, moi, je suis pas d'accord pour qu'on puisse enseigner la cibie dans les écoles, quoi.
Arrêter l'école et tout, quoi. En plus, on se prend la tête pour, je sais pas, aménager les horaires, les réduire, tout ça. On perd du temps à leur enseigner la cibie. Moi, je trouve ça inadmissible. D'abord, il y a mathématiques, le français, après, on parle de la cibie. En option, en terminale, j'en sais rien. En plus, à la télé, c'est pas la peine, parce que tu mesures un peu la face télé, non ? Oh, tu t'écrases derrière celui qui fait... Je suis partie dans mon truc et tout, là. Ouais, c'est clair, ouais. Bon, ça y est, ça y est, c'est terminé. Donc, dernière question, il est... Deux heures d'heure, on va peut-être faire conclure.
Non, deux heures trois. Là, conclue. Deux heures trois. Bon, ben, on va faire, alors, vas-y. Deux heures trois, parce que là, t'as pendule de nas. Ouais, c'est le truc, elle est réglée sur RTL. Bon, allez, tiens, voilà mes genoux. Moi, j'ai l'heure pile. L'heure des cibies. Ouais. L'heure des cibies. Alors, donc, moi, je vais vous poser une question. Vas-y, pose. Ça va être la dernière. Combien peut coûter une cibie, en général ? Et on va demander à Cendrier, tiens. Encore ? Eh ben oui, encore. Je vais te donner une fourchette. Attends, attends, attends, cinq minutes.
Question, à la place de mets ton doigt que t'as viré, on accueille Pines de Chacal, qui fait de la cibie aussi. C'est ce que tu es, RZ. Salut. Salut, Pines de Chacal. Salut, tout le monde. Salut, Chacal. Salut. On peut t'appeler Pines ? Ouais, pas de problème. Bon, allez. Donc, Cendrier. Bonjour. Moi, je te donne une fourchette entre 2 et 4 millions de francs. Ah ! Non, mais entre 2 francs et 4 millions de francs, non ? Ok, alors toi, t'es le comique. Ouais, t'as dit ça. Toi, pour l'instant, derrière, tu vas t'écraser. Donc, toi, tu dis combien ? Entre 2 francs et 4 millions de francs.
4 millions. Voilà, comme ça. Ok. Pines de Chacal, ouais. Moi, je suis pas trop d'accord que tes potes les blaireaux, ils passent dans les débats comme ça. Bah, moi, je t'emmerde. Donc, toi, tu vas répondre à la question ou pas du tout ? Ouais, bah, répète-la-moi, je t'emmerde. Non, bah, alors là, tu vas plus écouter. Non, mais répète-la-moi. Il m'expliquait son QRZ. Non, non, non, non, non, non, non. Il a très bien entendu la question. Non, je te jure que non. Répète-la-moi, s'il te plaît. Combien coûte une cibie en général ? Ah, bah, moi, la mienne, je l'ai payée 500 balles. Et c'est du bon matos. Là, ça le fait.
D'accord. Laurent ? Je voulais témoigner d'un truc aussi. Moi, ce que je m'amuse, parce que je suis un petit plaisantin, je m'amuse à faire des faux radioguidages. Eh bah, alors, dans ces cas-là, Pines de Chacal, au revoir pour toi, tu prends même pas la conclusion. Terminé, terminé. Excellent. Terminé, terminé, terminé, terminé. Ok. Laurent ? Premier prix, c'est 60 francs, c'est 1 000 dans les canaux. Et la plus chère, c'est 2 000, 8 000, 6 000, 3 000. Euh... Entre deux... Entre 500 et ? Entre 500 et 2 000, 8 000.
Ok. Gérard ? Gérard ? Gérard, oui ? Je voulais revenir sur l'histoire des radioguidages. Non, non, non, non, il n'y a pas de radioguidages, tu donnes. Effectivement, il avait tout à fait raison. Moi, je sais que pendant des années, j'ai passé du temps à orienter des cars de bonnes soeurs et de maisons de retraite dans des ravins, des plans dans ce genre-là. Voilà, merci, Laurent. Merci, Beru. Baisse de taureau. Baisse de taureau ! Bah, tu m'écoutes ou pas ? Tu réponds ou pas ? Bah, je réponds.
On a mis en rentaine, c'est tout. Oh ! Oh ! Euh, ça doit coûter... Ouais, je sais pas, parce que j'ai pas jamais été... Ouais, il y a du bruit derrière. Bon, tu réponds ? Ouais, 200 à 300 francs. C'est ça. Euh, Camembert, pour finir ? Bah, moi, celle de mon copain, j'ai payé 10 000 francs d'occasion, ce qui fait à peu près 200 euros. Ouais, d'accord. Et on parle pas des gens... Donc, moi, je peux vous dire une chose. Que là, Sibi, Laurent étaient plus proches. En fin de compte, ça vaut presque entre 500 et 2 et 3 000 francs.
La quelle est la mieux ? Celle qui fait 500 ou 2 000 ? Euh, le mieux, c'est carrément d'acheter une neuve. Au moins, t'as une garantie. Mais là, tu payes pas loin de 2 500 à 3 000 francs. 3 000 balles, la garantie, c'est cher. Normalement. Bon, ça y est, derrière... Oh, espèce de connard, là ! Eh ! Oh, Dieu ! Et il y en a un qui a la diarrhée, hein. Ouais, lui, il commence à me casser les couilles. C'est pas pareil.
Quitte, parce que ça revient quand même vachement moins cher. Eh, t'as... Eh, t'es sûr que je vais te demander, à toi qui réponds, t'as jamais entendu parler d'Essibi en soutien-gorge ? Non, non. Non, j'en parlerai pas. Non. Alors, donc, conclusion. Ok, Michel. Donc, Cendrier. Gérard, Gérard, Gérard. Il y a un... Non, non, non, non, non, c'est terminé. Il voulait faire sa conclusion. Bah si, pour la conclusion. Il s'appelle Quiquette de Bison. Non, non, attends. Non, non, non. Ouais, salut. Ouais, Quiquette de Bison va faire foutre. Cendrier. Ouais. Conclusion.
Le débat, en fait, il s'est pas trop mal passé. Non, c'était bien. C'était bien, Gérard. Ouais, c'était bien. On peut dire que c'était la merde, quand même. Ouais. Et puis, bon, bah, je suis contente. Je connais un peu plus sur l'Essibi, quoi. Et puis, demain, j'irai dans une banque pour m'acheter une. Est-ce que Gérard a une envie d'en assumer ? Non, mais attends. Non, mais attends, Cendrier. Il faut te dire une chose, que là, on n'a pas un débat sur l'Essibi. On aurait pu le faire plus longtemps, parce que j'aurais pu faire carrément un débat entier sur l'Essibi. Merci pour celui qui rote, espèce de gros porc.
Ouais, non, non. Je disais que j'aurais pu aller plus loin. J'aurais pu faire carrément toute la nuit pour faire toute la soirée, pour faire un débat sur l'Essibi. Pourquoi on l'a pas fait ? Parce que ça coûte cher, tout simplement. Et c'est tout. Laurent, qui c'est qu'on a à la place de Pindochacal ? Je t'ai dit, Quiquette de Bison. Alors, Quiquette de Bison, ta conclusion ? Est-ce qu'il y a le temps de faire une petite anecdote, là ? Non.
Alors, ma conclusion, c'était bien. On a bien appris ce que c'était l'Essibi. Ouais. T'es enrhumé, non ? Ouais. T'es enrhumé, Tony, hein ? T'es pas le choix. T'es enrhumé, Tony. T'es enrhumé, Tony. T'es bien enrhumé, hein ? OK. Alors, salut à toi, Tony. Laurent. Ça a été bien, pour une fois. C'était super bien, pour une fois. Il n'y a pas eu de problème. Il faut bien faire que ça se passe bien. OK. Vers une.
Ouais, ben moi, je voulais dire que le débat a été, donc, comme d'hab, constructive. La voix de Laurent m'a bien fait kiffer. Je suis sûr que ça se pignole dans les cabines. Et je voulais dire que l'Essibi, c'est sûrement le moyen de communication de l'an 2000, oui. Alors, Verru, Verru, je vais te dire une chose, que Laurent, il t'emmerde. Et moi aussi. Il y a beaucoup de filles, je suis sûr, qui vont vouloir son numéro standard. Tu ne peux pas dire le contraire. C'est ça, t'as raison. Ben là, tu rêves. Tu te mets un doigt dans le cul. C'est pour lui, hein ? Tu te mets un gros doigt dans le cul. Mais doucement, quand même. OK ?
Bon, alors, dégage. Bonne nuit.
== Le débat sur les Miss France ==
=== Contexte ===
=== Les personnages ===
=== Transcription ===
Donc vous êtes toujours sur Fun Radio, c'est le deuxième débat, donc il est 2h21 et donc pour le deuxième débat vous pouvez toujours nous appeler au 0800 308 5000, puis l'art est au standard donc il va vous accueillir.
Bonjour !
Bonjour à toi Brouty, Rigaud le super chef de l'internet qui fait du bon boulot toutes les semaines donc qui vous attend au www.frfunradio.
Donc on est combien la matin Rigaud ?
Tu peux l'appeler par téléphone avec ?
T'as l'air Fildar, tu vas te prendre une baffe, ce coup là je vais pas te rater toi.
Donc on est combien ?
On est 4282, ce qui est beaucoup.
Donc je voudrais qu'on aille jusqu'à 5000 et puis Manu qui est à l'Aria.
Bonsoir à tous !
La grosse ça t'emmerde toi la grosse espèce de con.
C'est pas bien de parler de la femme de Gérard comme ça.
Donc on va accueillir Mego.
Mego de 19 ans de Brest.
Salut Gérard, ça va ?
Je sais pas, j'ai pas regardé ce matin.
Bravo !
Pierre, 24 ans de Bourbon, annoncez-moi les fréquences de Mego, Brest.
Ouais, 84.16.
84.16 ?
Ouais voilà.
Ouais mon cul tiens.
Ok excuse-moi 84.6, excuse-moi.
Ouais bah je préfère.
Pierre ?
Salut.
La fréquence ?
Euh, 82.
Ouais tu connais pas ta fréquence alors on va te faire sauter.
Tu connais pas ta fréquence alors on va te faire sauter.
Ouais tu connais pas ta fréquence alors on va te faire sauter.
Miss Essonne, 19 ans, de Saint-Etienne.
Miss Essonne, 19 ans, de Saint-Etienne.
On a une Miss France, j'avais oublié de te le préciser.
Miss Essonne qui était première dauphine en…
Ohlala le 9 ans, le 9 ans.
Au régional.
La même suite de gaz quoi.
Miss Essonne, 19 ans, de Saint-Etienne.
Votre ablot, tu réponds.
Salut le brésilien.
Tu vas chanter à l'Eurovision bientôt.
Oulala lalalala.
Elle est enrouée.
Ça commence, ça commence, ça commence, ça commence.
Elle est enrouée.
Elle est enrouée.
Ça commence, ça commence, ça commence.
Elle est enrouée.
Elle est enrouée.
Tu réponds ! Salut le brésilien ! Tu vas chanter à l'Eurovision bientôt ! Ça commence, ça commence, ça commence, ça commence ! C'est une nana, c'est un trablos, qui c'est qui m'a choisi ça ? Fildar ! Fildar ! Fildar ! Mon pote Fildar ! Un Fildar !
Donc Mikos, 20 ans de Lyon, Kudan, 24 ans de Nogent-sur-Marne, on écoute...
Non c'est ça, 101.9, d'accord ? Fous-toi pas de ma gueule !
Foufoune de Nantre ! Salut à toi !
Non c'est Lady de Nantre !
Fildar, fais gaffe parce que tout à l'heure ça...
C'est Lady Di !
Pas le tunnel Manu !
Pas l'alma !
Pas le tunnel anal !
Gérard, Gérard, assieds-toi, assieds-toi, t'as pas Fildar dès le début !
Je commence pas, d'accord ?
Sinon tu retournes en arrière !
Pas le tunnel anal, on a dit !
Bon ta gueule à toi !
C'est Monsieur Bouygues !
Bon continuez, continuez à me casser les burnes au deuxième débat, on va éclaircir vite le débat !
Ouais !
Ça commence bien !
Allez on va creuser, vas-y !
Alors que préférez-vous dans Miss France ? On va demander ça à Mego !
Moi j'aime bien ses robes !
Ouais !
Ouais, je trouve que c'est des bons couturiers !
Elles sont vachement cultivées je trouve !
Non mais tu peux donner plus de précision ?
Bah je trouve que, je sais pas moi...
Ouais, elles sont cultivées quoi !
Tu peux leur poser n'importe quelle question, genre...
Quelqu'un l'a fait hier, tu vois, à chaque fois elles te répondent bien !
Ouais !
Tranquille hein !
Ouais tranquille, tout à l'heure tu vas faire tranquille au standard toi !
Tranquille !
Pierre !
Ouais, moi j'aime bien les hawaïennes !
Donc j'aime bien son boule en fait et c'est ça !
Ouais Tony !
Ok Tony !
Allez !
Allez !
Allez Tony, terminez pour toi !
Non mais Gérard, Gérard là il a rien dit quoi !
Non mais attends, faut pas déconner !
Hier il est passé, il passe pas dans les débats aujourd'hui !
C'est clair, net, très précis !
J'ai dit, j'en veux pas !
Ok, et toi tu vas me faire du boulot correct ce coup-là !
Si Tony il peut plus passer jamais,
s'il passe plus jamais, qu'est-ce qu'il va faire dans sa vie ?
Et alors ?
Qu'est-ce qu'il va faire dans sa vie ?
Et alors ?
Bah non, il faut le passer !
Il passe dans la semaine et c'est tout !
Mais il y a rien à côté !
On peut pas, on peut pas !
Ou alors on essaie de voir, parce que c'est vrai que dans la vie, bon, toi j'ai...
Non, faut arrêter là de le passer !
Ou alors on teste, faut qu'on teste !
Bah la première incartade...
Parce qu'à toute manière il est pas de Bourbon !
Il va en prison !
Mais non parce qu'il est pas de Bourbon !
Si si, il est en vacances !
Non non non, attends !
Je suis en vacances !
Bah ouais t'as mon cul !
Hier t'étais à Paris et puis là ce soir t'es à Bourbon !
Bah attends, ça t'arrive jamais toi !
Moi le soir je suis à Paris, le soir je suis à Lyon,
quand je vais faire une soirée, je mets pas dix jours pour y aller !
Enfin !
Il y va hein !
Il a un scooter, c'est tout !
Et alors Tony, vas-y !
Non mais j'aime bien la wayenne là en fait !
Je l'ai trouvée très séduisante !
Mais c'est Tony !
Bah ouais c'est le Tony, c'est celui qui est passé hier avec toi !
Non mais il est bien, il est bien, il est bien !
Il a le cul propre en plus en ce moment !
Il a une belle boîte à caca, j'aime bien la wayenne en fait !
Bon non mais je te demande, que préparez-vous dans Miss France ?
Ouais mais il paraît que c'était truqué !
Je sais pas si t'as entendu ça !
Non mais attends, pour l'instant Tony, tu dis pas de conneries !
Parce que c'est pas le...
Non mais c'est vrai !
C'est pas les questions, d'accord ?
Alors ou tu réponds correctement ou tu dégages !
Je vois que t'es un peu trop sur moi là, mais moi je te dis, moi j'aime bien Miss France !
Bon, ok !
Décale-toi un peu Gérard, t'es trop sur lui !
Ouais, trop sur moi !
Recule, recule que je m'interromps !
Gérard, il y a Madame de Fontenay sur l'IRC, la vraie !
La vieille là ?
Ouais, qui voulait te prévenir que si tu dis que les élections de Miss France sont truquées, elle t'attaque en justice !
Eh bah, elle fait ce qu'elle veut, moi je l'emmerde !
Oh là là, procès !
Miss Saison !
Elle va te mettre un procès au cul !
On l'emmerde la vieille !
Miss Saison !
Oui, j'écoute !
Alors, quand est-ce que tu t'es fait opérer, toi ?
Bon, allez, hop !
Raconte-nous tout !
Allez, hop !
Terminer, moi !
Non, non, mais moi, allez, hop !
Bonne nuit, bonne nuit, bonne nuit, bonne nuit, bonne nuit !
Allez, hop !
J'ai pas sommeil !
Non, non, mais bonne nuit pour Miss Saison, hop !
C'est fini pour elle, j'aime pas...
Quand je pose des questions, j'aime pas qu'elle réponde à moi...
Je peux la garder, quand même ?
Non, non, non, tu la...
Pour moi, pour moi !
Non, non, mais tu...
Pourquoi tu la kiffes ?
T'as qu'à la sauter, si tu veux, moi, j'en ai rien à foutre !
Euh, Mycose ?
Ouais, bah, écoute, euh...
Ce que je préfère chez les Miss, c'est quand même leur cul, hein, on va pas dire le contraire !
Ouais !
Faut être franc, leur cul est leur nibard !
Ouais !
Par contre, c'est vrai qu'il y a un peu de la triche, elles sont dopées à mort, c'est clair !
Euh, attends...
Elles sont dopées, elles sont dopées !
Attends, attendez, attendez, attendez !
Attendez, attendez, attendez !
Attendez 5 minutes !
Je te laisse, je te souhaite une bonne nuit !
Et je te rappellerai peut-être la semaine prochaine !
Ouais, ouais !
Salut !
Et tu vas pas la rappeler, d'accord ?
Et elle change pas sur un autre nom !
Mais tu...
Tu joues à quoi, Fildar ?
C'est parce que t'es là, tu vois ?
Tu vas laisser ta place à Manu...
Ah non, non, non, non, non !
Et tu vas se dégager là-haut !
Oh non, il fait du bon boulot, au standard, Fildar !
Ah ouais, ouais, il fait du bon boulot, tiens !
Non, c'est le meilleur, c'est le meilleur !
Ouais, ouais !
Et si on perd du monde à cause...
Sur l'IRC, à cause de lui, faudra pas se plaindre !
Pas de soucis, on en gagne, on en gagne !
Merci !
Micose !
Oui, donc, je te disais, elles sont quand même dopées au maximum !
Je sais pas si t'as vu les formes qu'elles ont,
je veux dire, s'il y a pas de l'hormone bovine là-dedans,
je sais plus, je m'y connais plus, quoi, tu vois ?
Madame de Fontenay, elle refile quand même pas mal de saloperies à ses miss !
Le PO ?
Ouais, je crois, entre autres choses...
Arrête, Gérard !
Bon, Gérard, c'est avec...
Viens t'asseoir, écoute les auditeurs, au moins !
On fait le travail à ta place !
Euh, Cudan !
Ouais, bah alors, moi, les nanas de Miss France, tout ça,
je sais pas, je leur trouve rien de spécial, des fois, je...
Je sais pas, dans la rue, on a des mieux, quoi !
C'est ça que je comprends pas, ça t'intéresse pas les femmes, toi !
Ouais, c'est clair !
Foufoun !
J'aime pas trop ce que tu viens de dire !
Bon, ça y est, on se calme derrière, s'il vous plaît, merci !
Foufoun !
Moi, j'aime bien leurs dents, et Jean-Pierre Foucault !
Je trouve qu'elles ont des super belles dents !
Non, mais attends, hé !
Fildar, attends, attends 5 minutes !
Fildar !
Tu, euh, si tu veux, t'as qu'à allumer ton micro,
et puis gueuler dans le micro, dire « Allô, Fun Radio ! »
Je travaille !
Attends, c'est pourquoi, t'as besoin de gueuler comme ça ?
Bah, ils m'entendent pas !
Bon, allez !
Bon, alors, Foufoun !
Ouais, moi, je te disais, j'aime bien leurs dents, et Jean-Pierre Foucault !
C'est ça, bah, t'as qu'à l'appeler, puis tu lui demanderas ce que c'est !
Non, mais moi, je le trouve vachement séduisant, puis...
Non, non, mais attends, t'as qu'à lui demander !
T'as qu'à lui demander ce qu'il s'est passé pour élire Miss Tahiti !
Ok !
Gérard ?
Non, attends, Rigo ?
Oui, il y a Miss Devi One sur l'IRC,
qui te demande si Sandy a gagné le concours Gros Plein de Soupe !
Miss Gros Plein de Soupe !
Alors, euh, c'est qui ?
C'est Miss Devi One !
Alors, Miss Devi One, Sandy a ton merde !
Ok, pour toi !
Voilà !
Tony, tu...
Non, c'est pas moi, c'est pas moi !
Gérard, il te dit qu'il t'emmerde, lui aussi !
Eh bah, c'est bien, maintenant !
C'est pas moi, c'est pas moi !
Le mec, là, il peut laisser des messages,
c'est même plus la peine de me les annoncer pour lui !
Ah, je vais aller me connecter, là !
Sandy, c'est dommage pour son corps, parce qu'elle a une belle tête !
Tony, Sandy a ton merde !
Non, mais c'est vrai qu'elle est belle !
Sandy a ton merde !
Mais il dit qu'elle est belle !
Sandy t'emmerde !
Bon, alors, Tony, tu te calmes !
Sinon, on accueille à la place de Miss Essonne,
Georges, 43 ans, de Saint-Louis,
qui, en fait, est le père de Miss Berry.
Tu sais, c'est le cas perdu !
Je l'ai au standard sur les 24 lignes !
Bonsoir !
Elle est sur IRC, Miss Berry.
Oui, bonsoir.
Bonsoir, Georges.
Oui, bonsoir, Monsieur Georges.
Oui, Georges, ta fille, c'est un boudin.
Ça y est, derrière, oui !
C'est normal qu'elle ait perdu, c'est un plomb !
Elle est plus de points, aussi.
Bon, tu me calmes un peu, ça, parce que ça va...
Mais qui ? Je te calme qui ?
C'est un peu un plomb, on va dire.
Voilà.
Par bien.
Allez, allez, allez !
Mais quoi, j'ai rien fait !
Bravo, le boulot que t'es en train de me faire !
Bravo !
Tu nous fais de la merde !
Attends, tu peux mieux dresser à l'aria, ça vaudra mieux.
Non, non, non, c'est bien, là.
Alors, seriez-vous d'accord pour inscrire votre copine
au concours de Miss France ?
On m'a demandé ça à Mégo.
Ouais, mais en fait, ma copine, elle a déjà concouru
pour l'élection l'année dernière,
mais le problème, c'est qu'elle est perdue, quoi.
Donc, depuis, elle est un peu traumatisée, quoi.
Et donc, voilà.
Mais Gérard, il ne vous écoute pas,
il est en train de taper fil d'art !
Putain, Manu !
Ah non, non, non, c'est pas possible, ça.
Ça, c'est pas possible, Gérard.
Bon, ben moi, dans ce cas-là, moi...
Dans 14 minutes, j'arrête.
Gérard, s'il te plaît.
Dans 14 minutes, j'arrête.
On repose la question, s'il te plaît.
14 minutes, j'arrête.
Gérard.
Il fait que tu as de la merde.
Il est en train de se...
Il fait que des conneries,
donc moi, dans 14 minutes, j'arrête.
Je ne fais même pas les 11 questions.
Non, moi, j'écoute.
Qu'est-ce qu'il y a ?
Qu'est-ce qu'il se passe ?
Mais attends, il est en train de faire que des conneries.
Tu fais que des conneries !
Mais qu'est-ce qu'il a fait ?
Ça s'est bien passé dans le premier débat.
Ouais, pour l'instant,
il est en train de me faire que des conneries.
Pourquoi ?
Mais qu'est-ce qu'il a fait ?
J'écoute, moi, je n'ai pas compris.
Je lui demande quelque chose.
Ah oui, vas-y, donne des raisons.
Donne des raisons.
Donne une raison, j'écoute, moi.
Qu'est-ce qu'il se passait à l'antenne
qu'il ne te plaisait pas ?
Moi, je lui demande de calmer les gens,
il ne les calme pas.
Si !
Non, non, il ne les a pas calmés,
il est en train de se...
Tout le monde se fout de la gueule des gens.
Et lui, il ne fait rien.
Il n'est même pas capable
de faire un boulot correctement.
Si, le premier débat, à l'arrière.
Alors, autant mettre Manu au standard,
ça vaudra mieux.
Gérard ?
Oui ?
Non, ce n'est pas possible.
Sur IRC, il y a Mister Yankee
qui dit qu'avec une perruque
et sans ta moustache,
tu ferais bien, Miss Bois de Boulogne.
Ça, je m'en fous.
Mégo ?
J'ai déjà répondu, moi.
Tu ne m'écoutais pas, aussi, là.
Ben non, vas-y, dis.
Non, mais je disais,
ouais, c'est quoi la question ?
Ça ne m'a plus, là.
Alors, seriez-vous d'accord
pour inscrire votre copine
au concours de Miss France ?
Euh, non, je ne serais pas d'accord.
Et arrête de renifler.
Oh, excuse-moi, là, oh, là, là.
T'es égrue, ce soir.
Bon, non, moi, je ne suis pas d'accord.
Je ne suis pas d'accord
pour faire subir ça à mes copines.
D'abord, c'est des amis,
je ne leur ferai jamais ça.
D'accord.
Voilà.
Euh, Tony ?
Ouais, non, moi, je la garde pour moi.
Ben, tu peux préciser ?
Elle est trop chême.
Comment ?
Elle est trop chême.
Elle est moche.
Elle est laide.
Ouais, tu peux préciser le pont de ta pensée ?
Affreuse.
Vilaine.
Il y a des concours pour ça, hein ?
Berck.
Bon, OK.
Georges ?
Gérard, attends, attends, attends.
Sur IRC, il y a Miss Olio
qui te demande
si les Miss France t'excitent.
Non, pas du tout.
Pas du tout.
Georges ?
Pourquoi ?
Il te demande pourquoi elle ne t'excite pas.
Parce que ça ne m'intéresse pas.
Trop belle.
Bon, Tony, ça suffit.
D'accord.
Maintenant, tu laisses parler les gens.
Mais Miss Berrick, qui dit que t'es un menteur ?
Je m'en fous.
Georges ?
Après Miss France, il faut avoir 20 ans.
Ma femme, elle a 56.
C'est pour après être Miss France.
Elle est vieille, ta femme.
Je ne l'ai pas vraiment.
Je venais à 56.
Il y a Miss Tigri qui t'encule.
Je l'ai viré juste quand j'ai entendu ça, Gérard.
Alors, lui, c'est terminé.
Terminé pour lui.
Mycose.
Justement, je l'ai viré
parce que c'est lui qui foutait le bordel tout à l'heure.
Alors, c'est bien.
Donc, à la place, on a Clafoutis,
19 ans, qui appelle de Brest.
Au jour d'aujourd'hui,
14 heures précises,
je viens faire une requête au sieur.
Peri Grigali !
Et qui appelle de Brest
et qui te souhaite une bonne soirée.
Au jour d'aujourd'hui...
Salut, Gérard.
Salut.
C'est Clafoutis.
Alors, moi, j'ai été hôtesse de présélection
des Miss.
Et j'ai été refoulée
parce que j'avais une jambe plus courte que l'autre.
Et ça se voyait en maillot de bain.
D'accord.
Alors, je trouve que c'est inadmissible.
Ok.
Voilà.
Kudan ?
Moi, la question va être vite réglée.
Je n'ai pas de copine.
Ok.
Foufoune ?
Moi, j'avais une copine.
Enfin, une copine.
Je ne pouvais pas la blairer.
Et je l'ai inscrite au concours de Miss Boudin Noir
à la CUSA l'année dernière
pendant les vacances de ski.
Et cette conne, elle a gagné.
Et ça y est, c'est tout ?
C'est tout ce que tu as à me dire ?
Ben oui, ça y est, c'est tout.
Gérard ?
Oui ?
Sur IRC, il y a Miss Devitou
qui te demande
est-ce que les Miss,
quand elles gagnent le concours,
elles gagnent une CB ?
Non.
Ce n'est même plus le thème des débats sur les CB.
Demande à machin Devitou
s'il ne gagne pas une Dreamcast.
Puis tu lui demanderas
qu'il réponde correctement aux questions
en dehors des débats.
Gérard, il y a Madame de Fontenay
qui te dit que vu que
ces Miss ne t'excitent pas,
elles supposent que tu es homo.
Et alors, qu'est-ce que ça peut y foutre ?
Ah, c'est vrai.
Ben alors, Gégé, quoi ?
Non, mais attends,
qui c'est qui s'amuse à faire des conneries derrière ?
J'ai coupé les auditeurs, là, Gérard.
Donc, troisième question.
De nos jours, la beauté de Miss France
est-elle importante ?
Non, elle n'est pas importante.
Ouais, ben justement,
Gégé ?
À partir de 17h.
Tu fais une partouze à 17h,
moi je t'emmerde et tu vas fermer ta gueule maintenant.
C'est où, c'est où ?
Ouais, c'est 12 rues.
Ouais, oh !
Du château, hein.
Château comment ?
Tu me calmes ça, là ?
Déjà, tu me calmes Tony
parce que là, il commence à...
Ouais, il fout la merde.
...à me gonfler, lui.
Et en plus, il est sourd.
Tony.
Non, non, non, non, non, non, non.
Tony, tu te calmes.
Non, tu les prends en antenne,
ils se calment.
Autrement, tu dégages, Tony.
Moi, je te dis, à l'antenne,
comme ça, il va flipper.
Ouais, ben, il va dégager
dans moins de deux minutes, lui,
si il continue.
Non, mais je sais même pas
quand je suis à l'antenne,
quand je suis hors antenne.
Non, mais pour l'instant,
tu vas répondre
à la question, maintenant.
Non, mais répète-la, moi,
parce que je sais pas...
Non, non, non, non, non, non, non.
Non, non, non, non, non.
Non, non, non, non, non, non.
Non, non, non, non, non, non.
Je répète plus les questions.
Alors, attends,
je vais te faire une...
Attends, je vais la répéter
pour toi, Tony.
Mego.
Mego.
Ouais, je t'écoute, là.
Ben, en fait, ouais,
c'est vachement important,
surtout pour les vicieux
qui regardent, hein.
Et puis, ouais,
enfin, moi, je m'en fous un peu,
quoi, de la beauté
des Miss France, là.
Voilà.
Donc, pour toi,
la beauté, c'est pas importante ?
Ben, c'est important
pour les vicieux qui regardent.
Sinon, pour moi, non,
c'est pas important, quoi.
OK.
Ça y est, j'ai compris la question.
Je peux répondre ?
Ouais.
Ouais, c'est très important,
la beauté.
Sinon, à quoi ça sert
de regarder Miss France ?
OK.
Hé, Gérard.
Quoi ?
Tu sais ce qu'elle fait,
Miss France, quand elle voit...
C'est qui ?
C'est Cudan.
Tu sais ce qu'elle fait,
Miss France,
quand elle voit
une peau de banane par terre ?
Non.
Merde, je vais encore
me casser la gueule.
Ouais, ben alors, merde.
Moi, je vais te dire une chose,
que là, maintenant,
tu peux dégager.
Ben, c'est pas méchant.
C'est pas grave.
Ben, c'est pas méchant.
Bon, putain !
C'est pas méchant.
Putain, mais arrête
avec ta merde, là.
Tu me gères un peu ça, là.
Tu me fais quoi, là,
de la merde ?
T'as compris ?
Tu me vires Cudan.
Hop, terminé.
Ouais, c'était sympa, la blague.
Hop, terminé.
Georges.
Oui, la beauté, ça,
c'est...
Faut pas tenter la France,
quand même.
Même, on aurait...
Sinon, on aurait
une mauvaise image
de la France.
La beauté, c'est ça.
Euh, Clafoutis.
Bonjour.
Ouais, c'est pas...
Moi, je trouve que la beauté,
c'est n'importe quoi,
parce que c'est pas parce
que j'ai une jambe
plus courte que l'autre
que, en fait,
ben, j'étais pas belle, quoi.
C'est n'importe quoi.
En fait, j'étais aussi belle
que les autres,
mais évidemment,
maillot de bain,
ça se voit de trop, quoi.
C'est ça, le problème.
Non, mais tu peux préciser ?
Eh ben, je précise
que, ben, la beauté,
c'est pas si important que ça, quoi.
On peut avoir
une jambe en moins et...
Ouais, c'est vrai.
Ben ouais.
Ouais.
Et puis être miss, quoi.
Ouais.
Eh, Gégé,
tu veux pas faire
une blague à Sandy
et l'inscrire à Miss France ?
Comment ?
Tu veux pas faire
une blague à Sandy
et l'inscrire à Miss France ?
C'est qui ?
C'est qui qui parle ?
Rodrigo.
Bon.
J'ai l'impression...
J'ai l'impression
qu'on va s'arrêter
dans moins de 3 minutes.
Oh non, Gérard !
On continue ton débat, là.
C'est bien, non ?
Franchement, c'est cool, ouais.
C'est bien, on s'éclate.
Ouais.
Alors, Foufoune ?
Ouais.
Ben, je pense que c'est un minimum,
ouais, qu'elle soit jolie au moins
et puis qu'elle sache
aligner deux mots, quoi.
Ouais.
Bonjour, ça va ?
Oui, ça va.
Là, j'ai dit 3 mots, t'as vu ?
Ouais, 3 mots.
Bonjour.
Gégé, tout à l'heure,
il y a une fille qui disait
qu'elle avait inscrit
sa copine à Miss France.
Moi, j'ai inscrit un copain,
tu sais, question pour un champion
pour lui faire une blague
et il a été éliminé
au 4 à la suite.
C'est pas le thème du débat !
Hop, terminé pour Tony.
Non, non, mais attends.
Terminé pour toi,
c'est fini, là, maintenant.
Non, mais t'es pas insulté, là.
Ça est terminé !
OK, alors retourne à la danse,
espèce d'enculé.
Bon, moi, je t'en mets,
salaud !
Oh, là, tu me le vires
complètement.
Il est viré, il est viré.
Là, moi, un connard comme ça,
moi, j'en veux pas.
Alors, maintenant,
tu m'envoies la musique,
on va calmer tout le monde, maintenant.
OK, OK, OK.
Bah, t'annonces les numéros
de téléphone et tout ça,
s'il te plaît ?
Alors, donc, vous pouvez toujours
nous appeler au 0803 08 5000
et 0870 5000
et toujours de lire
cww.fr
ou que Rigaud vous attend.
Rigaud, tu peux nous dire
combien qu'on est ?
Je crois qu'on a dû perdre...
4 382, c'est bien,
et on s'écoute le disque.
4 300 ?
Bon, ça va.
Donc, on se retrouve
tout de suite après.
Voilà, vous venez d'écouter
les petits sissons de la bonne
avec des bas résiliés.
Résilés, pardon.
Et donc, vous êtes toujours
sur Fun Radio,
donc, 2h44 du matin.
Ouais.
Donc, j'espère qu'on va atteindre,
et ça, mon chef,
il vient de me le demander,
j'espère qu'avec Rigaud,
on va atteindre
des 5 000
avant la fin de l'année.
C'est ça, c'est ça.
C'est ça, c'est ça.
3h du matin.
Je pense que ça devait être possible.
J'espère.
Possible.
Si les bas se passent bien
et que tu gueules pas trop,
ça devrait le faire.
Vu que là,
quand le disque s'est arrêté,
on était à 4 462 moins 4,
ça devrait le faire.
OK.
Alors, donc,
on récupère Margot.
Mégot.
Mégot, pardon.
Ouais, ouais.
Excuse-moi, excuse-moi,
excuse-moi.
D'accord, je t'excuse.
J'ai dit Margot,
mais c'est pas grave.
Ouais, c'est bon, Margot, non ?
Bah ouais, pourquoi pas,
c'est le nom d'un chien, en plus.
Ouais, d'accord, OK, bon.
OK.
Ouais, c'est ça.
OK.
Poussin.
Bonjour.
Oui, donc, bonsoir à tous.
Bonsoir, Mégot.
24 ans de...
Bonsoir, Balut.
Bonsoir, Fildar.
Bonsoir, Max.
Salut.
Bonsoir, mon chien.
Bonsoir, Poussin Mystère.
Ah, bonsoir, Gérard.
Excuse-moi, je t'avais oublié.
Ah ouais, bah, c'est simple.
Georges.
Bonsoir à tout le monde.
Bonsoir, Clapouti.
Ouais, salut, toujours là.
Bouledopu.
Oh, Bouledopu !
C'est quoi, ce bordel ?
Salut, salut, salut, salut, Gégé.
Bouledopu.
Ouais, je suis là.
Bonsoir, Gérard.
Bonsoir, Sandi Capé.
Bonsoir, tout le monde.
Sandi Capé, je vais te dire une chose, que Bouledopu, tu vas pas commencer tes conneries,
d'accord ?
C'est pas le problème.
C'est pas le problème.
Moi, je suis calme.
T'es dans le coup, aussi, non ?
Ouais, à fond.
Et Foufoune ?
Ouais, salut, Gérard.
Salut, Sandi.
Alors...
Je vous rassure tout de suite, je m'appelle pas Sandi.
Tu me rassures.
Alors, la quatrième question, donc...
Non, c'était la troisième.
Non, quatre.
D'après vous, comment je les...
Comment je...
Comment je les misse France ?
Ça doit être de la bite.
Comment ?
À mon avis, c'est des crudités, hein.
Attends, attends, attends, attendez, attendez.
Qui c'est qui vient de répondre, là, que c'est de la bite ?
Pas moi.
Pas moi.
Pas moi non plus.
Bon, alors, on va demander à Foufoune.
Ouais.
Je sais pas, ils sont allés au grain, en plein air, dans le foin.
Non, mais tu peux préciser.
Elles mangent des choses saines, sans bactéries, sans EPO.
Elles sont des picoses et elles font de l'agime.
D'accord.
Elles sont bien gaulées, donc il y a du travail, quoi.
Elles passent par la chirurgie esthétique, elles mettent des millions là-dedans pour faire Miss France.
Ouais, mais ça, c'est pas elles, en fin de compte, c'est pas elles qui payent.
Ah non, c'est Madame de Fontenay qui paye.
Non, non, non, non, non, non.
Faut bien se dire une chose.
Non, c'est les Restos du Coeur qui payent.
Non, mais attends, toi, t'es à ton micro.
Donc, faut se dire une chose.
Pour être Miss France, déjà, c'est pas Madame de Fontenay, comme tu viens de dire.
Ouais, c'est les impôts.
Donc, ça passe par des concours de mode et tout ça.
Donc, on va demander à Bouledopu.
Gérard, avant, sur IRC, il y a Triso, Miss Triso, qui te demande quel est le QRZ de Madame de Fontenay.
Ça, c'est pas le thème des débats.
Pas belle, je crois.
Pas belle, ou vilaine.
Non, non, mais c'est même, c'est pas du tout le thème des débats.
La Cibi est terminée, maintenant, c'est sur les Miss France.
Donc, on va demander à Clapouti.
Bah, je pue de la gueule, moi.
Ouais.
Qui ?
Bouledopu.
Bah, tu viens de répondre.
Bah, non, j'ai pas répondu.
Bah, alors, tu réponds.
Ouais, alors, je pense que, je sais pas, je dois vous faire 2-3 Big Macs le midi.
Un bon sauciflard le soir et un rôti de veau.
On va avoir une belle ligne.
D'accord.
Tu crois qu'en mangeant tout ça, elles auront une belle ligne ?
Je crois que le midi, elles mangent des frites, moi.
J'en suis la preuve.
Bah, attends, parce que t'es belge, toi.
Ah non, je sais pas, je dis ça comme ça.
Eh, t'es devenu belge ?
Et après, chez elles, ça pue l'huile.
Ouais, mais t'es...
Non, ça pue l'huile.
Eh, t'es bien.
Ouais, mais t'es devenu belge, toi.
Hein, non, non.
Ouais, mais t'es comme Pildar, vous devenez belge, là, tous les deux.
Bah, alors, toi, qu'est-ce que t'es, Gérard ?
Clapouti.
Euh, ouais, bah, moi, je pense qu'elles mangent des asperges en boîte.
Ouais.
C'est super bon pour la forme.
Et qu'elles boivent du lait de chèvre.
Parce que ça, c'est super top pour le teint.
Et puis, bah, en fait, la Fontenay, par contre, elle, elle mange des frites.
Non, non, mais attends.
Eh, Clapouti.
Ouais.
On n'en a rien à foutre de la Fontenay, d'accord ?
Ouais, mais c'est quand même une mise.
Non, non, mais on n'en a rien à foutre.
On n'en a rien à foutre.
On s'en fout de la Fontenay.
Non, elle voit le régime dragounien.
Elle mange de la salade.
Elle mange vraiment de la grasse.
On peut grossir.
Qu'est-ce que t'as donné à manger à ta fille, toi, avant qu'elle fasse le concours, Georges ?
On a été voir un diététicien.
Il a fait un régime pour les salignes.
Puis c'est tout.
On s'en fout de la grasse.
Hum, hum.
Euh, Poussin ?
Ouais, bah, moi, je suis d'accord avec Georges.
C'est vrai qu'il mange surtout des salades, tu vois, prodités, concombres, même des...
Ok, super.
Bon, derrière, vous laissez les gens répondre, s'il vous plaît.
Oh !
Excuse-moi.
Vous laissez les gens répondre.
Ça vaudra mieux pour tout le monde.
Parce qu'il est 2h49, et on n'est qu'à la quatrième, et il y a 11 questions.
Oh, putain.
On dit pas putain.
Euh, bah, qu'est-ce que je dis ?
Alors, donc, pour finir, Poussin, si tu pouvais continuer ce que tu me disais.
Ouais, donc, je te disais, bah, tu sais, les Miss France, ils ont franchement un régime draconien,
parce qu'il faut qu'elles mangent des croûtes.
Oui, des pétraves, des salades.
Donc, ils n'ont pas le droit à la graisse, ni au sucre, rien du tout.
D'accord.
Euh, Margot...
Euh, Mégo, pardon.
C'est pas cool.
Moi, je dis que les Miss France, là, elles mangent rien.
Elles pensent à rien, elles mangent rien.
Et puis, je dis, quand elles ont vraiment, vraiment faim, au bout d'une semaine, elles mangent une courgette.
D'accord.
Question IRC.
Oui, une question de Madame de Fontenay, la vraie.
Elle te demande pour quelle Miss tu aurais voté.
Euh, personnellement, moi, je...
Bonne question, ça.
Moi, je voterais pour personne.
Oh, t'as regardé ou pas ? T'as bien un petit avis, quand même.
Non, non, mais même...
Lequel tu préférais ?
Non, non, mais même, vu ce qui s'est passé, ça m'intéresse pas.
Mais...
Non, non, mais...
T'avais bien une préférence, je veux dire, moi, j'avais une préférence, Rigo, il avait une préférence.
Il s'est passé quoi ?
Euh, j'aurais...
Qu'est-ce qui s'est passé ?
De toute manière, ça va être la dernière question.
Donc, on n'est pas couchés.
Donc, 43% des gens utilisent la Miss France pour découvrir la région de la France.
Les régions de France, pardon.
Bah ouais.
28% des Miss France utilisent seulement les portables pour s'appeler entre elles.
Ça, je vois pas du tout le rapport.
71% des Miss France préfèrent être Miss Univers...
Univers Solitaire.
Univers Solitaire, c'est quoi, ça ?
Au-dessus de...
T'as Miss France, t'as Miss Monde, t'as Miss Univers et Univers Solitaire.
C'est le top des Miss.
Ouais, bah, c'est bien.
23% des gens...
Des gens pensent que la Miss France ne sert à rien sauf pour se masturber.
Alors ça, euh...
Ça, c'est vraiment des...
Il y a beaucoup de gens qui pensent ça, quand même, hein.
Ouais, bah, ouais.
Si, si.
Combien y en a ?
23%.
C'est énorme, hein.
Ouais, ça fait beaucoup, hein.
Et 32% des gens pensent que l'abonnement aux Miss France est trop cher.
Il n'y a pas besoin d'abonnement.
Voilà.
Si !
Non.
Quoi, si ?
C'est ça, Rigaud, hein.
Je me suis pas trompé dans...
Dans les sondages ?
Non, non, c'est ça.
T'as bien joué.
Alors, une question que je vais poser à tout le monde, et ça, je peux préciser que sur
la question que je pose, personne n'a été capable de me le donner sur les sondages,
et ça, c'est bête.
Donc, d'après vous, depuis quelle date Miss France existe-t-elle ?
On va demander à Mégo.
Ouais, bah, écoute, ça a toujours existé depuis la nuit des temps, parce que, au départ,
l'élection de Miss France...
C'est une légende.
C'est une légende, et puis ça s'est perpétué, et puis...
Pardon ?
Allô ?
Ouais, on t'écoute.
Ouais, je disais, donc...
Ouais, ça date de la...
Bon, on me laisse parler, là ?
C'est possible ?
Ah, vas-y !
Ouais, bonjour, c'est Boule de Pue.
Ouais, ouais, attends, Boule de Pue, pour l'instant, tu...
C'est pas fini.
Oh, Manu...
Fildar !
Ouais ?
Calme-moi, Boule de Pue, là, pour l'instant, c'est pas son tour.
Ouais, calme-moi, Fildar.
Ouais.
Mégo, donc, précise.
Ouais, alors, donc, je disais, ça a toujours existé, depuis le début, au départ, c'était
une légende, et, en fait, voilà, comme maintenant, ça se concrétise, tout le monde peut voter,
tout le monde peut participer, maintenant, c'est génial, voilà.
D'accord.
C'est pas pour Boule de Pue.
Ok.
Rigo ?
Oui, il y a Miss Assetton qui te demande, c'est quand l'élection des Miss Calendrier
de Routier ?
Ça, je sais pas.
Ça, je pourrais pas lui répondre.
Qui c'est qui va passer derrière ?
C'est quoi, ça ?
Je sais pas.
Ah, c'est le poussin vert mystère, là ?
Un poussin mystère tout court.
Un poussin vert mystère.
Écoche pas mon nom, s'il te plaît.
Bon, c'est ce que je vote, toi, d'accord ?
Un poussin vert mystère.
Bah, écoute, moi, ce que je peux te répondre, c'est que ça existe déjà depuis très, très
longtemps.
Ouais.
Et que, déjà, à l'époque de Cro-Magnon, ça existait.
À l'époque de qui ?
À l'époque de Cro-Magnon.
C'était qui, Cro-Magnon ?
C'était qui ?
C'était qui, Cro-Magnon, là ?
C'était qui, Cro-Magnon ?
C'était les hommes historiques.
Oh !
On se calme derrière, on laisse passer le poussin vert mystère de mes genoux, là.
Faites place, faites place.
Ah, c'est les hommes préhistoriques.
Ah !
Ah, mais c'est un homme préhistorique.
Bon, non, c'est à l'époque des hommes préhistoriques, quoi.
Ah !
Ah, attends, mais ça...
Il y avait des femmes qui étaient mythes.
Ah, ouais, mais c'est à l'époque où Jésus-Christ est allé sur la Lune.
Ok, super.
Hein, poussin ?
Ça va être l'humour, ce soir, Gérard.
Oh, putain.
C'est cool, Gérard.
Oh, poussin !
Oui ?
C'est à l'époque où le premier homme est monté sur la Lune.
Ouais, c'est super beau, oui.
Gérard ?
Allô ?
Poussin ?
Oui ?
Quand tu parles de l'époque préhistorique, c'est l'époque des 100 dinosaures ?
Oui, voilà, les 10 dinosaures, et puis je ne sais plus quoi, là, les...
Les tranctosaures, là, les trucs comme ça.
Ah, les brunosaures, les...
Les brontosaures, les tricérapthos.
Ouais, bon, Georges, les 100 dinosaures.
Depuis le temps, trop tard.
Georges ?
Oui ?
Comment c'est, en 1956 ?
66 ?
Non, 56.
56 ?
Oui.
Je ne suis pas trop d'accord avec toi.
Pourquoi ?
Ah bon ?
Non, non, mais on va laisser tout le monde répondre clapoutis.
Ouais, moi, je pense que c'était en 1789, parce que la première, elle s'appelait Marianne, je crois.
Oh, ouais, bah d'accord.
Alors là, toi, t'es carrément parti sur...
C'est vieux, hein ?
Ouais, mais c'est vachement vieux, en fait.
Oh, ouais, vache.
Oh, la vache.
Eh, pourquoi c'était pas l'année de la vache, les Miss France ?
Mais non...
Non, mais tu te rappelles pas, Marianne, avec son chapeau, là, et tout ça ?
C'est clair, quoi, c'était elle, c'était l'ancêtre, déjà, de l'autre, là, Geneviève, et tout.
Elle avait le chapeau, c'est clair, c'est 1789.
Bon, ok, d'accord.
Ok.
Boule de puce ?
Ouais, alors moi, je sais pas du tout.
Faudrait pas te dire une date exacte, mais je sais que je regarde depuis l'âge de ma naissance.
Que je kiffe Miss France.
Elles sont bonnes, quoi.
D'accord.
Foufoune ?
Ça existe depuis que Madame de Fontenay a pris un extra, en 1962.
Et depuis, elle s'en est parmise.
Je voudrais se partir avec Laurent Gardier.
Elle a m'enflé, hein.
À mon avis, je pense que vous vous trompez tous, ça existe depuis 1965, et il y a eu un reportage...
Ah, j'ai fait trois ans.
Il y a eu un reportage de fait...
N'importe quoi.
C'est faux !
Tu mens, Gérard.
Tu mens comme tu respires.
Ouais, moi, je t'emmerde !
N'importe quoi.
Bon, tu me mets tout le monde en air.
On est en air.
En air.
Tranquille.
J'en connais un tout à l'heure, il va se prendre une bobe si je l'attrape, lui.
Ouais, c'est ça.
Bon, tu me mets...
Tu me coupes tout le monde.
Voilà.
Voilà.
Donc, alors, moi, je peux vous dire une chose, que ça existe depuis 1965, et ça, c'est
vrai, parce qu'il y a eu un reportage qui a été fait samedi, sur la Une, avec...
Patrick De Carolis.
Non.
Non ?
Non, sur la première, c'est pas avec...
C'est Emmanuel Chien.
Henri Chambon.
Ah, avec Henri Chambon.
Et donc, ça existe depuis 1965.
Exactement.
Les sélections de Miss France.
Moi aussi, Chambon.
Regarde, Chambon, Gérard, sans...
Hop, on...
Suivante question.
Sortirez-vous avec la Miss France en boîte ou autre ?
Allô ?
Allô ?
Attendez, parce qu'il est parti savater Olivier, parce qu'il a eu le double saut.
Olivier, casse-toi.
Casse...
Dégage, Olivier !
Arrête tes conneries, d'accord ?
Et avec qui ?
Je t'en reviens dans le studio, tu me fais une connerie, je te claque.
Ok ?
Allez, reviens, Gégé.
Allez.
On reprend, on reprend les auditeurs.
Allez, c'est parti.
Ok.
Alors, on va demander à Foufoune.
Ouais, non, moi j'irai pas avec elle.
Mais tu peux expliquer ?
Parce que je vais dans des boîtes pas très saines et je pense que pendant un an, elle
n'a pas trop le droit de fréquenter ce genre d'endroits, donc non, j'irai pas avec elle.
Non, bah là, tu te trompes.
Ah bon ?
Montez sur moi, c'est tout.
Euh, Manu !
Tu arrêtes avec ce remix !
Regarde, tu arrêtes !
Ça, c'est du mix.
Tu arrêtes ou sinon j'arrête, là.
J'ai rien fait.
J'arrête dans 4 minutes les débats.
Bah ouais, c'est le but.
D'accord ?
Bon, allez, on y va.
Donc, Foufoune, je suis...
Il y a Miss Davy Free qui te demande si on peut lire dans les chromosomes d'un embryon
si le bébé, il sera futur Miss France.
Et si c'est un garçon, comment on fait ?
Non, je pense pas qu'on peut lire là-dedans.
Et il te demande combien ça fait en euros.
Ouais, ça, j'en sais rien.
Euh, boule de puce.
Bah alors, moi, je suis chaud comme la brèze pour sortir avec une meuf, une Miss France.
Elles n'ont pas le droit...
Pendant l'année où elles sont Miss France, de sortir avec des garçons.
Interdit d'avoir des gosses.
Interdit de rien faire, les pauvres.
C'est ça, bah...
Je crois que tu te trompes complètement.
Euh, non, pas du tout.
Mais t'as dit au GG.
Tu te trompes.
Tu te trompes parce que...
Les nanas qui sont élus ont le droit de sortir.
Et après, une fois qu'elles sont élus, je t'explique pas les soirées qu'ils font.
C'est quoi comme soirée ?
À poil et tout.
Non, non, mais attends...
Des trucs cul-cul-cul ?
Non, mais...
Avec des menottes et tout.
Non, non, après, ils sont invités dans...
Dans des soirées...
Moulin Rouge ou autre...
Non, Ritz.
Après, ils vont en Ritz.
Ils prennent des Mercedes.
Bon, Fildar, tu fermes ta gueule, maintenant.
Euh, Georges ?
Non, mais moi, j'ai ma femme.
Elle s'est obligée.
D'accord.
Euh, Poussin ?
Comme un bon sûr de ça.
Comme un boule de pute, tu t'écrases.
Oh, oh, oh.
J'étais contentisant.
C'est bon.
Donc, Georges ?
Ouais, non, mais avec ma femme, elle s'est obligée.
Ok.
Euh, Poussin ?
Mystère.
Poussin, Mystère.
Putain !
Quelle bouffonne, celle-là, sérieusement.
T'es la grosse.
Bah, t'es toi, la grosse.
T'es boule à dos, t'as fait finir ça.
Putain !
Fildar !
Eh, mais calme-toi, là-bas, le vieux con, là.
Mais non, mais Gérard, c'est bon, il revient.
Reviens, Gérard.
Attends, l'autre, il arrête pas de me couper les jambes.
Il a laissé son truc, là, il me coupe n'importe qui.
Là, il va se prendre des claques dans sa gueule, encore.
Qu'est-ce que t'as fait ?
C'est navrant.
Y'a rien, hein ?
Y'a rien, regarde, regarde.
Viens voir, viens voir, viens voir.
Mais, mais, mais, là, là.
C'est-à-dire que là, ils sont tous talentés.
Mais, bien sûr, pourquoi t'avais été là ?
C'est moi qui viens de le remettre.
Ah.
Il l'avait mis en air, encore.
Alors, il va se prendre des claques dans sa gueule.
En air, c'est quand t'es à l'antenne.
Il l'avait mis en out.
En vête.
Ouais.
Il voulait pas qu'elle parle.
Ah, c'était une erreur.
Comme d'habitude.
C'était une erreur.
Ouais, ouais, c'est une erreur.
Attends, tu vas te prendre des claques dans ta gueule.
C'est comme un faux numéro, c'est pareil.
Alors, Poussin.
Ouais, bah, tu m'écoutes, Gégé, ou pas ?
Je t'écoute.
Fildar a fait un bon premier débat.
Ouais, mais là, pour l'instant, il fait de la merde.
Oui, mais comme tu me l'as pas remercié au début,
tu remercies pas les gens quand ils font du beau boulot.
Pour l'instant, au premier débat...
Il fait que c'est crabe.
Il fait un truc avec ses crabes.
Bah, ouais, mais il va pas continuer comme ça.
Mais d'accord, mais ça s'est bien passé.
Ouais, bah, alors, dans ce cas-là,
qui me passe un deuxième débat ?
Qui bosse bien pour le moment ?
Qui bosse bien ?
Pour l'instant, Rigaud,
on est à combien sur l'Internet ?
On a perdu.
Quand t'as dit que tu te cassais,
il y en a plus de 1 000 qui sont partis.
On est à 3 722.
Donc, j'espère qu'on va récupérer.
Bah, dis-leur de revenir, dis-leur de revenir.
Manu, au premier débat,
il a fait du bon boulot, au standard.
Oh, merde, c'est pas vrai.
Attends, c'était pas vrai.
T'as gueulé dessus.
Non, non, non, non.
Bah, j'ai la DAT, t'as gueulé dessus.
J'ai la DAT.
Sur certains auditeurs...
On va reprendre le débat juste pour dire à Rigaud,
là, tu peux leur demander de revenir au 1000.
Donc, tous ceux qui sont partis, là, sur Minitel,
essayez de revenir...
Non, Internet, ça s'appelle.
Sur l'Internet, pas sur le Minitel,
parce qu'il fonctionne pas.
Non, mais Minitel, Internet,
vas-y, parle de l'Internet.
Donc, l'Internet,
vous pouvez toujours nous joindre au www.frfunradio.
Revenez, revenez, revenez.
On va battre le record, ce soir, Rigaud, s'il te plaît.
Faut qu'on arrive à 5000.
Faut que tu nous en trouves 5000.
Et là, il est 3h01, normalement.
Moi, je devrais avoir fini le débat.
On va chercher, on va chercher.
Donc, Poussin.
Oui, donc, je te disais,
je pense que les...
Ah oui, c'est sortir avec les Miss France.
Oui.
C'est pas sortir avec moi.
Poussin.
Moi, personnellement,
je pourrais pas sortir avec une Miss France,
vu que je suis une nana.
Mais avec un mec qui fait Miss France,
oui, pourquoi pas.
Ah bah, t'as déjà vu des mecs...
Je regarde si ça fonctionne.
C'est pas facile pour les contourneurs de beauté.
Qu'est-ce qu'elle est taubée, celle-là ?
Qu'est-ce que tu fais, Gérard ?
Non, je suis pas taubée, c'est vrai.
Attendez, attendez.
Non, non, on arrête, on arrête.
Qu'est-ce que tu fais, Gérard ?
On arrête, on arrête.
Pourquoi tu...
Mais non, on n'arrête pas, hein.
Non, non, il recommence, il recommence.
Il recommence, il recommence.
Je suis là, je suis là.
Poussin.
Ah, mais c'est Manu.
Mais non, parce que là, je les coupe, parce que tu parlais.
Oui ?
C'est Manu qui coupait.
T'as été coupée combien de fois ?
Manu, c'était Manu.
Je peux pas te dire, parce que j'ai pas fait gaffe.
Ouais.
C'est pas la religion, en plus, on parle pas de la religion.
Euh, donc, qui c'est qu'il me reste ?
Mego ?
Ouais, bah moi, je suis d'accord avec Poussin Mystère, là.
Je trouve qu'elle a bien répondu à la question,
et moi, je suis d'accord avec elle.
- Hum ? - Voilà.
Mais tu peux préciser, quand même, le fond de ta pensée ?
Bah, que moi, je pourrais pas sortir avec une fille
qui est dans l'élection de Miss France,
parce que je suis pas intéressée par les filles.
Et puis, par contre, un mec,
qui va dans l'élection de Miss France,
ouais, je suis d'accord, pourquoi pas ?
- D'accord. - Voilà, c'est ce qu'elle a dit, non ?
- Euh, ouais. - Voilà.
De toute manière, y a pas que les boîtes.
En fin de compte, qu'on peut inviter une Miss France,
tu peux l'inviter au restaurant et autant.
Ouais, mais il faut du pognon, putain.
Ouais, mais ça, euh...
Tu m'en prêtes ?
Tu peux l'inviter à faire les boutiques, aussi, hein ?
Ouais. T'as des lèches vitrines, t'as...
- Fils de cul... - Poussin Mystère ?
- Oui ? - Ouais, quand tu fais les boutiques,
tu vas où, toi ?
- De quoi ? - Quand tu fais les boutiques,
tu vas où, toi ?
Moi, je vais généralement dans Paris.
Ouais, mais où, dans Paris ?
Bah, y a une ville, mais je pourrais pas citer, quoi,
parce que sinon, ça ferait trop de marques.
Bon, bon, bon, bon, on va peut-être reprendre les débats, Gérard.
Tu gères un peu, on y va.
Donc, alors, sur la question, donc...
Oui, Rigaud, une question, avant ?
On va danser sur le débat ou pas, là ?
Y en a plein. Y a Miss Paradox qui te demande :
"Est-ce que tu penses que l'élection de Miss France,
c'est pas un racket visant à enrichir France Télécom ?"
Je pense pas.
Mais ça... Mais justement,
cette question-là, tout le monde l'attend,
mais je vais la poser tout de suite, là.
Non, non, je l'attends pas.
Bon, attends, toi, tu perds de ta gueule et c'est tout.
- Euh, Manu ? - Ah non.
Tu me fais du bon boulot ?
Bah ouais, je fais que ça, hein.
Je fais que ça.
Alors, donc, y a 86 % des gens...
Bon, allez, hop, conclusion terminée, moi, j'arrête.
Bah non, maintenant, Gérard,
je suis en train d'essayer de récupérer des gens.
Regarde, on va battre leur corps.
On est remontés au-dessus de 4 000, Gérard.
Gérard, reste, Manu, on y va, on y va, on continue.
Alors, y a 86 % des gens qui ont vu Miss France
ont vomi et s'en remettent pas.
Donc ça, je vais te dire une chose, Gaël,
quand tu me sortiras des trucs comme ça, tu me feras signe.
53 % des gens rêvent toutes les nuits
de se prendre une bonne grosse Miss France.
Donc, je sais pas où est-ce qu'elle est.
Alors là, l'histoire des calendriers,
je la pose pas, ça sert à rien.
- Pourquoi ? Elle est bien. - Non, non.
- C'est des routiers.
- 47 % des routiers ont des calendriers de Miss France nus
dans leur camion, c'est vrai ou pas ?
- Non, c'est faux. Alors, toi, tu t'écrases.
Toi, tu fais ton boulot et tu t'es...
36 % des gens ont tué Miss France pour avoir un chien.
Alors là, Gaël, je vais te dire une chose,
que là, je termine même plus.
- Elle t'embrasse, elle t'embrasse comme elle te dit bisous, Gégé.
- Allez, hop.
- Sondage paru dans Miss France News.
- T'as oublié de dire que 43 % des gens pensent que Miss France
est une salope et que 1 % des gens préfèrent Monsieur France
en string que Miss France en short.
- Eh ben, ça y est, le sondage est terminé pour...
- Ouais, c'est fini.
- Bon, alors, maintenant, on va continuer le débat.
Alors, l'élection de Miss France est-elle truquée ?
Donc, on va demander ça à mégots.
- Euh, non, non, elle n'est pas truquée.
Je trouve qu'elle se passe normalement devant un huissier et tout ça.
Voilà.
- T'es sûre ? - Ouais, ouais, je suis sûre.
- T'es sûre ? - Si, si, non, non, non.
Moi, je pense que c'est tout à fait légal et puis il n'y en a aucune
qui ait choisi dès le départ et puis voilà, quoi.
Moi, je pense que c'est tout à fait légal.
- D'accord. Pouce en mystère ?
- Non, moi, je pense qu'au contraire, c'est truqué
parce que quand tu vois ce qui s'est passé à la télé
il y a à peu près 2-3 jours, ils ont expliqué que normalement,
c'était la Miss Berry qui devait être élue.
- Miss Berry ? - À la place de la Miss...
- Miss Berry ? - Ouais, Miss Berry à la place de Miss...
- Berry ! - Si, Berry !
- Oh, t'as le cœur de Paris. - Oui, c'est Berry, c'est ça que j'ai dit, Berry.
- Euh, Georges ? - Oui, monsieur Aurélien, ma fille.
- Mais, il y a Delphi.
- C'est truqué, c'est un scandale, de toute façon.
- C'est truqué.
- D'accord. Question Minital... IRC, pardon.
- Non, c'est pas une question, c'est...
Attends, parce qu'il faut que je la retrouve...
Je sais plus qui c'était qui me disait que c'est truqué, en fait,
pour gagner Fos-Sucé.
- Je ne pense pas.
Euh, Clapouti ?
- Bah, je me demande si Fos-Sucé est Geneviève ou quoi.
- Non, Fos-Sucé est Jean-Pierre Foucault.
- Ah, Foucault ! - Ouais, d'accord.
- Ouais, ça. Boules de pus ?
- Ouais, bah, moi, je pense que c'est bien truqué,
parce que je me souviens, en 1975,
il y a Sandy Plodocus qui a gagné le concours,
et je voudrais savoir... C'est pas possible, quoi.
- Puis, euh... Fildar, s'il te plaît.
- Ouais ? - Tu me vires Boules de pus.
- Salut, mec ! - Non, mais c'est intéressant,
ce qu'il dit, Gérard, t'inquiète pas.
- Euh, Foufoune ?
- Ouais, bah, euh... C'est pas truqué.
- Bah, tu peux expliquer ?
- Parce que Sandy a dit que c'était truqué,
donc je veux pas dire comme elle.
- Alors, moi, je peux te dire une chose.
- Oui ? - Bonjour.
- Bonjour.
- Gérard, en attendant, il y a Miss Davy Ford sur l'IRC
qui dit qu'en tout cas, s'il voit Sandy au Miss France,
il considérera que c'est clair que c'est truqué.
- Mais n'importe quoi.
Euh, donc, moi, je peux vous dire une chose,
que l'histoire de Miss France...
Bon, alors, pour moi, terminé, je...
- Non, non, Gérard, c'est bon, là !
- Gérard, t'es niaque pas !
- Regarde !
- Qu'est-ce qu'il y a ? - Regarde, Gérard !
- Hé, Olivier, t'arrêtes, t'as pas tes conneries derrière !
- Allez, assieds-toi, Gérard, c'est bon, reviens, allez, allez.
- Fais pas le con, toi, non plus !
- Olivier, il travaille dans le studio à côté, alors c'est lui.
- Alors, fais pas le con, toi. - Salut, c'est pas moi, Gérard.
- Fais pas le con, parce que de toute manière, c'est terminé.
Moi, je fais la dernière question.
- On te fatigue pas, Gégé, c'est bon.
- Non, non, mais c'est terminé, maintenant. Allez, hop.
Moi, je peux vous dire une chose, que ça a été truqué,
parce que, pour une bonne chose,
c'est que la ministre Haïti pleurait avant,
la présidente qui a donné un mouchoir pour qu'elle s'essuie les yeux,
et normalement, c'était Miss Berry, qui devait être élue non Miss Haïti.
Donc, pour moi, ça a été truqué, ça a été truqué.
Et ça, dans la presse, ils en ont parlé, mais maintenant, ils écrasent.
Pour l'instant, ils ont camouflé, ils ont mis fin,
comme dans un jury, ils ont dit : "C'est une affaire classée."
Donc, pour moi, c'est de la merde.
- On m'excuse.
- Voilà.
- Donc, conclusion du débat.
- Ah !
- Non, déjà ?
- Non !
- Non, c'est pas possible.
- Je suis en train de rattraper des gens, là.
Si tu veux qu'on dépasse les 5 000, il faut continuer le débat, là.
On est à 4 722, on est beaucoup remontés.
Ils ne m'écoutent même pas.
- Si, si.
- Non, mais non.
- J'écoute, Rigaud.
- Non, mais tu ne m'écoutes pas.
- On était à 4 000.
- Tu ne m'écoutes pas.
- On est à combien ? 4 722.
Voilà.
- Bon, ça va, tu m'écoutes, c'est bien.
- Alors, devrait-on faire une élection de Miss Boudin ?
On va demander à Mégo.
- Moi, je suis d'accord avec cette idée-là.
Je pense qu'il n'y a pas que les beautés qui doivent participer à l'élection.
Il y a aussi les boudins, il n'y a pas que des beautés sur Terre.
Voilà, je pense que chacun y trouvera son compte, non ?
- Je pense.
Poussin vers Mystère.
- Oui, donc moi aussi, je pense que pourquoi pas ?
Parce qu'il y a bien aussi des Miss pour les personnes âgées,
pour les mamies, il y a des Miss mamies.
- Et il y a des mêmes, je dirai plus tard, Georges ?
- Oui, tout le monde doit être égaux.
- Ah bah, c'est bien, toi.
- Bah oui.
- Donc, on peut élire n'importe qui.
Qui c'est qu'un téléphone pourri, là ?
- Eh Gérard, là, c'est Poussin.
Je voulais te dire qu'en Amérique, ils font aussi les concours d'élections
sur les femmes qui sont un peu fortes.
Et donc, ça fait les élections de Miss ronde.
- D'accord.
Ok, Poussin, Mystère, bière.
- Tu t'es inscrit, non ?
- Euh, Clapouti ?
- Ouais, j'avais une question.
Comment on fait pour les maillots de bain, alors ?
- Bah, tu peux préciser ?
- Bah, si on fait l'élection de Miss Boudin,
on fait comment pour les maillots de bain, quoi ?
- Bah, tu peux trouver des maillots de bain...
- Taille unique.
- Taille unique ?
- Ouais, si taille unique, ça craint.
- Non, mais de toute manière, tu peux trouver des maillots de bain
qui sont assez...
qui sont faits pour ta taille.
- Eh, j'ai des toiles de teint.
- Faut pas qu'ils crassent, ici.
- Gérard, sur IRC, il y a Miss Pourras qui demande :
"Est-ce que c'est vrai que Miss France est à la beauté,
ce que Sandi est au saucisson à l'ail ?"
- Ah, bah, ça, peut-être.
On verra, on lui demandera.
Euh, boule de pus ?
- Ouais ?
- Boule de pus !
- Tu l'as virée !
- Ah, bah...
- Ah, bah, oui, quand même, je suis là.
Bah, vu que Fildar,
il m'a pas mal calmé, il m'a bien engueulé au standard.
- Ouais, il t'a vachement calmé,
il est en train de faire le con avec sa caméra.
- Non, c'est quelqu'un d'autre, je sais pas qui c'est,
je connais pas les voix.
Mais t'as pas entendu la question.
- Ah, bah, t'as pas entendu la question, je répète pas.
- S'il te plaît, j'ai pas été méchant pendant le débat.
- C'était l'élection de Miss Boudin.
- Voilà. - Voilà, Miss Boudin.
Et c'était quoi ? Répète, répète.
- Non, mais attends, répète, maintenant, t'as compris.
- C'était l'élection de Miss Boudin, c'est ça ?
- Bah, si Sandy participe, y a pas de problème, ouais.
- Alors, Sandy, attends, merde, tu dégages pour de bon pour toi.
C'est terminé. Allez, hop !
Hop là ! - Alors, euh...
Qui c'est qu'il nous reste, donc, boule de pus ?
Tu me reprends quelqu'un d'autre, hein ?
Oh là là, fil d'art !
- Quoi ? - Tu me trouves quelqu'un d'autre ?
- Non, j'ai pas le temps. - Ouais, t'as pas le temps,
tu vas travailler. Foufoune ?
- Ouais, euh... Bah, pourquoi pas, non plus,
faire l'élection de Miss Jambe de Bois, Miss Oeil de Vert,
ou Miss Culotte de Cheval, quoi, c'est ridicule.
- Hum-hum. - Voilà.
- D'accord. - Gérard ? - Oui ?
- Y a Miss Eason qui me demande :
"Est-ce qu'une fille qui n'est pas française
peut participer à Miss France ?"
- Je pense.
- Ouais ! - C'est faux, c'est faux !
- Pour une fois, elle a raison, c'est faux, hein.
- Ouais, mais attends ! - Non, mais attends !
- Non, non, ça... Non, non, ça, moi, je peux vous dire une chose,
y a toutes les villes qui participent.
- Ouais, mais c'est français, les villes.
- Gérard, y a Miss Paradox qui me dit qu'il a vu Sandy
à l'élection de Mister Nobile 92.
- C'est bien.
C'est bien, c'est pas mal.
Donc, moi, je peux vous dire une chose,
qu'on pourrait faire...
plus de...
Bon, celui qui s'amuse derrière, il arrête !
Bon, allez, terminé, conclusion. Hop.
Voilà, c'est fini.
Conclusion, donc...
- Attends, on est combien sur Internet ?
- Combien, Internet, Rigaud ? - On a perdu, conclusion, il se casse.
- Mais non, mais non ! - Mais non, Rigaud, t'es con !
Combien, sur Internet ? - Combien ?
- 4 722. - Aïe, aïe, aïe, aïe, aïe.
- Non, c'est pas grave.
- La semaine prochaine, c'est les vacances,
donc ça devrait cartonner, là.
- Peut-être que dans la conclusion, ils vont peut-être...
- Ils vont revenir ! - Tu t'écrases !
- Si ça se passe bien, mon avis, ils vont revenir.
- Tu me fais du boulot de nasse, tu t'écrases au standard !
- Sinon, Gérard, Nassim... - Bon premier débat !
- Gérard ? - Oui, Rigaud ?
- Nassim, il donne sa conclusion tout de suite avant de se barrer.
Il dit que si Miss France s'est truquée,
il n'y aurait que des Sandy en finale.
Donc c'est pas truqué.
- Si, ça a été...
Ça a été truqué.
Euh, Nassim, eh !
N'essaye pas de me virer tout le monde au standard
avant les conclusions, parce que sinon...
- Ouais, non.
- Tiens, ça commence !
- Gérard, arrête, tu le tapes pas dessus !
- Arrête ! - Allez !
Gueule pas, ils vont pas revenir sur Internet, après.
- Mais go !
- Ouais, conclusion, là, donc ?
- Ouais, on arrête, là, c'est fini.
- Bah écoute...
Moi, Gérard, je vais te dire une chose.
Pendant le débat, je suis tombée amoureuse de toi.
- Non, bah c'est bien, mais je suis bien pris.
- Moi, je suis tombée amoureuse de toi, grave.
Je n'ai pensé qu'à toi, cette nuit, là.
- Eh bah, c'est bien, t'as...
- Non, s'il te plaît, fais quelque chose, là.
- Non, non, mais moi, je peux rien faire pour toi.
- Parole gentille, non, mais quelque chose de gentil, seulement.
- Bah, attends, attends, tu reprends le fil d'art, il va...
Tu reprends le fil d'art, pouce en vert.
- Ouais, j'ai dessiné son numéro !
- Ouais, bah écoute, je pense que c'est...
- Fil d'art !
- Allô ?
Y a quelqu'un ?
- Oui, y a moi, y a moi.
- Pouce en vert !
- Oui, non, mais je suis là, t'inquiète pas, hein.
- Conclusion ?
- Tu m'entends, là ?
- Ouais.
- Donc, conclusion, bah, ce que j'ai à te dire,
c'est que c'est un très bon débat, le meilleur que t'aies fait,
et en fin de compte, bah, je pense que je vais m'inscrire
à l'élection Miss France.
- Non, non, non, non, non !
- Si, si, si, si !
- D'accord.
- Jean !
- J'en comprends le tout, hein.
- Georges !
- C'était bien, mais à la prochaine fois, ma fille,
ça va être Miss France.
- De quoi ?
- Berry, l'année prochaine.
- Qui ?
- Ma fille.
Miss Berry, ça sera Miss France l'année prochaine.
- D'accord.
- Voilà.
- Tlapouti ?
- Ouais, bah moi, je pense qu'il faut garder l'émission
des Miss France, parce que comme ça,
on peut bien se marrer à la télé, quoi.
- Ouais, non, mais y a des limites.
Et Foufoun ?
- Salut, Gérard !
- Tlapouti, tu me rappelles après ?
Et, euh...
- De quoi ?
- De quoi ?
Qui c'est que je rappelle après ?
- C'est un message personnel.
- Allô ?
- Je voulais dire qu'il te crevait pas trop le cul,
parce que, depuis la rentrée, tu fais un débat suivant le reportage
qui est passé samedi d'avant sur la Une.
Donc, je pense que tu pourrais faire preuve
d'un peu plus d'imagination et d'un peu plus de culture.
Surtout que, en de bon intendeur...
- Salut ! Eh bah, la prochaine fois, on t'appellera pas,
parce que les débats que je fais sont déjà convenus avec Max,
et ça, on en avait discuté.
Donc, le débat sur Miss France,
c'était prévu.
Normalement, on devait faire la solitude et j'ai annulé.
- Parce qu'on voulait rebondir... - Fils France !
- Fils France, ouais.
On voulait rebondir sur l'actualité de Fils France.
- Fils France ! - Fils fucking !
- Toi, écrases !
- Jérard... - Donc, moi, je voulais...
- J'ai une grande nouvelle, on a dépassé les 5000, enfin.
- Ouais !
- Quand ils ont entendu que j'avais demandé de revenir pour la conclusion,
ils sont revenus.
On est à 5003.
- Ouais !
- Aïe, aïe, aïe, aïe, aïe !
- Je vais citer quelques conclusions.
- On va peut-être remercier les 5000.
- Bah ouais, on va remercier...
- On va peut-être les citer, on va peut-être donner leur pseudo.
Ça va peut-être être un peu long.
- Miss Acetone, Miss Boudin, Miss Devi One, Miss Coras, Miss Zed Zed,
Miss Olio, Rip, Ara, Beko, Bénichou, Bigo Pleu,
Hélène Dille, Finger Eater, Jean Lucien...
- C'est bon !
- C'est bon !
- Attendez, il m'en reste...
Je n'ai pas fini.
Triso, Web Shark, Sweet Boy...
- Ça y est, ça y est, c'est bon !
- Rigaud, Rigaud, c'est bon, c'est bon !
- OK, et une petite conclusion ?
Une petite conclusion quand même de Miss Turpentine.
Elle dit que ton débat, il n'avait ni queue ni tête comme toi.
- Bon bah ça, je m'en doute.
C'est toutes les semaines que j'entends ça.
- Sinon, il y a aussi Yankee, il y a aussi Madame de Fontenay, quand même.
- Merci Rigaud, c'est bon.
- Miss France, Miss Berry, Miss...
- Salut, salut !
- Salut, salut !
- Donc, de toute manière, là, vous allez retrouver Rigaud.
- J'ai oublié Beko, j'ai oublié Beko.
- Ouais, bah Beko...
- Je suis désolé.
- Donc, voilà, merci à tous d'être restés.
- Je voulais saluer les demoiselles auditrices.
Il y en a 4 ou 5 qui sont venus ce soir du Havre.
- Il y a 4 personnes du Havre qui sont venues.
- Les 4 pour filles, là.
- Qui sont venues aussi pour toi, spécialement, que pour moi.
- Oh si, oh si, oh si, elles ont entendu.
- Par contre, il y en a une qui t'a posé un lapin.
- C'est qui ?
- Ah ah ah !
- Cette semaine ?
- Ouais.
- Il y a eu deux lapins en l'espace d'une semaine.
- Rien que toi, j'ai plus de batterie.
- Bah non, t'as plus de batterie.
- Gérard, j'ai oublié Miss LGM.
- Ouais, bah ça, je vais pas aller.
Bon.
- Conclusion du débat, Gérard, toi, de Miss France.
Qu'est-ce que tu penses de Miss France et de tout ça ?
- Personnellement, j'en pense que c'est...
En fin de compte, ça a vraiment été un peu...
- Et Miss Paradoxe, excuse-moi.
- C'est bien.
Donc, pour moi, je pense qu'à mon avis, ça a été un peu truqué.
Parce qu'il faut se dire une chose,
que ça, ça a bien été précisé dans la presse.
Même sur Exclusif, ça a bien été dit,
comme quoi la présidente avait bien donné son mouchoir.
À Miss Tahiti.
Et que normalement, ça devait être bien Miss Berry qui devait être élue.
Donc, la semaine prochaine, étant donné...
- C'est le 24 au soir.
Et non seulement nous serons là pour fêter Noël avec vous,
pour tous les pauvres paumés qui sont de l'autre côté
et qui fêtent pas Noël et qui sont malheureux.
Donc, nous, on fêtera pas Noël en famille,
en ce qui nous concerne, et on sera là.
Et comme ça tombe un jeudi...
- Ça tombe un jeudi.
- Donc, Gérard sera là pour ses débats.
Et un débat de trois heures.
- Vas-y, dis, Gérard.
- Un débat qui va porter uniquement sur mes copains les routiers !
- Ouais !
- Et je veux des routiers à l'antenne !
Et même devant la radio pour Noël, je veux entendre klaxonner !
- Voilà, donc un débat de trois heures avec à peu près 20 questions.
- Euh, on va faire 22 questions.
- Ouais !
- On va essayer d'avoir 22 questions.
Et je vais les travailler pendant...
- Avec la même équipe, quand même ?
- Ouais, si ça se calme.
Donc, vous allez retrouver, pour finir, Rousseau.
Excuse-moi du temps, tu reprends avec un peu de retard, mais c'est pas grave.
Je t'avais dit avant 4 heures, donc on n'est pas loin.
- T'as de la veine.
- Donc, Rousseau pour la nuit sans pub.
6h-9h, Barthes, après la suite des émissions.
Bien sûr, demain soir, 22h, minuit max, avec Jean Deneuver.
Et bien sûr,
si vous voulez des places à La Loco,
n'hésitez pas, Fildar va vous attendre.
Il va vous récupérer pour avoir des places à La Loco.
Donc, sur ce, je vous souhaite une bonne nuit à tous.
- Des places de ciné aussi, des places de parking, des places de...
- Tout ce que tu veux.
Et bien sûr, demain soir, n'hésitez pas.
Branchez-vous tous sur FUN.
- Aucune hésitation possible.
- Maintenant, vous n'avez plus le droit de vous tromper.
Écoutez FUN.
- Moi, je vous mets sur Énergie.
- Oh, ma gueule à toi !
Toi, tu vas te faire sauter, tu vas aller dans une poubelle
sur Énergie.
- Voilà.
Le dernier disque, avant de se dire au revoir, c'est...
- Le dernier disque, c'est :
"Mets tes doigts dans les fesses, avec le beurre, c'est mieux."
"Avec du beurre, c'est mieux."
Et c'est...
Tu n'aimes même pas ça ?
- Si !
"Avec du beurre, c'est mieux."
== Le débat sur les routiers ==
=== Contexte ===
Nous l'avons dit, l'époque était particulière. Époque des grands passionnés, des jeunes gens, d'une sorte d'euphorie. Pour ces gens, travailler à des moments sacrés n'était pas un problème. C'est évident pour Gérard, vu son manque de socialisation et de lien avec l'aspect familial de telles fêtes, mais ça l'est moins pour l'équipe régulière de la radio. Et pourtant, pas de best of, les animateurs sont là, au grand complet.
Alors pourquoi ne pas fêter en direct Noël ? Et se faire plaisir avec un débat de Gérard, dans la pure tradition surréaliste. C'est à ça que ressemblera la messe de minuit de Fun radio. Pour faire plaisir à l'animateur, Max accepte son thème favori : les routiers. C'est un peu redondant par rapport à celui de la semaine d'avant, mais ce ne sera pas la seule redondance de ce thème. Et là-dessus, il est intarrissable.
COmme si les astres étaient alignés, et cela n'arrivera plus ensuite, même les audituers vedettes étaient là, sans exception, malgré le moment. De quoi offrir un beau cadeau de Noël à la jeunesse adolescente de l'époque.
=== Les personnages ===
=== Transcription ===
Je tais toi, je parle à Gérard, oh là là ! Bonne soirée Anne-Joëlle, merci, au revoir ! Allez hop, on dégage ça. Suivant ! Ah je peux plus Anne-Joëlle, je peux plus. C'est même pas physique, c'est vocal là. En plus c'est pas gentil ce qu'elle t'a dit. Ouais mais attends, tu vas voir ton répondeur, il va être blindé pour elle. Alors, donc ce soir, minuit pile dans 20 secondes, les conseils de Gérard et Sandy jusqu'à minuit et demi, une heure moins le quart, on va voir comment ça va se passer. Et même si ça se passe même plutôt bien,
on fera peut-être jusqu'à une heure les conseils de Gérard et Sandy, c'est sympathique. Non mais moi j'aurais bien voulu un petit jeu de la vérité, un petit peu quand même ! En règle générale ça se termine toujours mal parce que les questions sont assez dures et il faut voir si vous assumez, on va voir. On va déjà démarrer la première demi-heure et voir comment ça va se passer. Qui allons-nous accueillir Gérard et Sandy ? Alors on va accueillir Nina, 17 ans de Paris. Nima ! 17 ans de Paris. Oui bonsoir. Oui bonsoir. Bonsoir Max. Salut Nima. Bonsoir. Joyeux Noël à tous. Merci. De même pour toi. Ouais merci.
Bonsoir Michel. Oui alors j'ai un petit problème. Comment ? Non non moi c'est Sandy. T'énerves pas. C'est pas ta chienne d'accord ? Michel ! C'était l'américaine, bonsoir Michel et tu fiches pas ta chienne. D'accord. Tu commences à te calmer d'accord ? Ouais. Parce que sinon on passe à quelqu'un d'autre. Non non attendez, on va y aller mollo parce qu'il est minuit, il faut aller jusqu'à 4h. Donc tranquille les gars, tranquille les gars. Alors ton conseil c'est quoi ? Ce n'est pas offert de... Non mais attends il va le dire lui-même. Non mais Gérard, Gérard.
Gérard. Oh non mais concentre-toi. Arrête de les emmerder toutes les deux secondes au standard. C'est à lui de poser son problème. Parce qu'il est noté sur ta feuille que tu dois dire pourquoi ton... Hein ? Bon merci Max. Qu'est-ce qu'il t'amène Ringo ? Quoi ? Allez vas-y magne ! Bon alors en fait mon conseil c'est que j'ai pas de cadeau pour ma mère pour demain. Et je vous donne un conseil de cadeau. Déjà moi j'ai une question à te poser. Qu'est-ce que ta mère elle aime ? Elle aime forcément quelque chose. Si c'est des fleurs ou si c'est... Je sais pas moi. Elle aime les voitures.
Ouais. Quel genre de voiture ? Ah les voitures jaunes. De couleur jaune. Ouais. Et de quelle marque ? Une marque japonaise. Une marque japonaise ? Mais quelle marque ? Il y a plusieurs marques japonaises. Mais non mais non non non non non non non non. Non mais là déjà on va avoir des problèmes. Non non excuse-moi. On va avoir des problèmes avec ça direct parce que vous avez dit... Pas de marque. Une marque japonaise. Une marque japonaise c'est une marque. Donc... D'ailleurs on sait que tous ceux qui conduisent avec une voiture japonaise c'est une marque.
Comme pourrait l'être Renault. Moi j'ai... T'as quoi comme voiture une japonaise ? C'est une marque. Pas de pays rien. A la rigueur des affluents ou des... Vous avez le droit à... Mais pas... Le parfum. Qu'est-ce qu'elle aime comme parfum ? Oh tu te réveilles ? Allo ? Une. Ouais. Bah alors tu réponds pas aux questions que je... Oh tu te réveilles ou quoi là ? Ou je te réveille moi de tout à l'heure ? Donc en fin de compte elle aime les voitures et qu'est-ce qu'elle aime d'autres ? Elle aime un peu de tout. Les parfums.
Les vêtements. Ouais. Bon bah moi je serais avec toi. Mais tu disposes de combien d'argent déjà ? 200 balles. 200 balles. Donc déjà pour 200 balles je pense que tu peux lui offrir une bouteille de parfum. Une bouteille de parfum ? Je pense que c'est déjà bien quand tu... Une bouteille c'est grand. Comment ? C'est beaucoup une bouteille. Non mais attends tu trouves du parfum à moins de 200 balles. Arrête tes conneries toi. Comment tu vas faire ? Tu peux avoir du parfum pour moins cher. C'est sûr. Maintenant si tu veux lui offrir un bouquet de fleurs je pense que tu peux aussi.
Poignée avec la bouteille de parfum. D'accord. Donc voilà mais tout dépend de ce qu'elle aime aussi. Elle aime les parfums exotiques. Les parfums exotiques. C'est-à-dire ? C'est quoi ? Quel parfum exotique ? Je ne saurais pas te dire précisément mais... Attends parce que du parfum exotique il y en a plusieurs. Alors précise. Avec la noix de coco ? Avec la noix de coco tout ça non ? Non mais attends. Laisse le préciser lui.
Alors avec la noix de coco ? Ouais vas-y. Parce qu'on vient de te le dire. Vas-y. Non avec la noix de coco, ananas... Ouais c'est ça. T'as déjà vu du parfum à l'ananas toi ? Ah si si si. Il y a même du parfum à la pêche aussi. Non mais attends. Du parfum à l'ananas t'en as déjà vu toi ? Oui j'en ai déjà vu. T'as vu jouer ça dans Spirou Magazine ? Non pas dans Spirou Magazine. Non mais dans Tintin Milou. Non non plus non. Non mais dans Hercule. Non plus. Hercule et Pif. Non mais donc voilà tu peux lui offrir une bouteille de parfum accompagnée d'un bouquet de fleurs.
Et puis ça... Non le mieux. Moi le mieux à ce que je te propose. Ouais. C'est d'y offrir un bouquet de fleurs. Ouais. Bah oui c'est ce que je viens de dire. Avec une petite carte. Et je mets quoi dans la carte ? Bah attends. Joyeux Noël et puis bonne fête et puis... Bah attends. Tu sais pas ce qu'on met sur une carte de bonne année toi. Broutille. Bah c'est pour ça que j'appelle. Comment ? C'est pour ça que j'appelle. Ah ouais. Non non mais attends. Tu nous demandes pour offrir un cadeau et tu nous demandes comment qu'on écrit une carte. Bah tu me dis de...
Prendre un bouquet de fleurs avec une carte. Tu écris. Tu paies une carte. Tu mets Joyeux Noël et bonne année et bonne santé. Voilà. 99. Hein ? Ouais. Accompagné des fleurs et puis du parfum. Ouais d'accord. D'accord ? Je trouve pas que c'est un peu commun comme cadeau Gérard de toujours offrir des fleurs ou du parfum. Ouais c'est classique. Bah tout dépend de ce qu'elle aime. Mais ouais mais de toute manière il nous dit pas ce qu'elle aime. A part les voitures. Mais attends. Est-ce qu'il a l'argent pour acheter une voiture ?
100 balles pour acheter une bagnole. Non mais il peut peut-être déjà acheter une maquette. Non ? Ou un truc. Bah non mais attends. Une maquette. Ouais une maquette. Elle fait collection des voitures. Ouais ouais. Pourquoi pas. Ouais c'est ça. Ou alors moi ce que je te propose c'est que tu achètes une voiture pas trop chère. Tu vois. Une petite voiture miniature. T'achètes aussi une bouteille de parfum pour accompagner la voiture. Et en même temps tu lui offres des fleurs parce que c'est normal. Tu vas pas y aller. Donc voilà ce que je peux te répondre. J'espère qu'on a pu t'aider quand même un petit peu. Ouais un petit peu. Non mais moi...
Ouais je pense le mieux. Le mieux c'est que tu y alles avec... Si elle aime le parfum. Le plus grand cadeau que tu peux faire à une personne comme ça. Elle a quel âge ta maman déjà ? Elle a 45 ans. 45 ans. Donc le mieux c'est que tu y achètes une bouteille de parfum. Ouais. Et tu lui offres un bouquet de fleurs. Ouais d'accord mais j'ai un autre problème aussi. C'est que tout est fermé là. Ouais mais attends. Demain c'est ouvert. Demain c'est ouvert.
Demain c'est ouvert. D'accord. Y'a des grandes surfaces demain qui sont ouvertes. Le 25 t'es sûr ? Oui oui oui. Jusqu'à midi normalement. Jusqu'à midi ? Ouais. Et si elle se réveille avant ? De quoi ? Et si elle se réveille avant ? Mais alors ? Mais c'est à toi de te réveiller avant midi. Non mais d'accord. Non mais attends. Tu comprends ce qu'on te dit ou pas là ? Non mais crie pas. Non mais attends je crie pas. C'est bon c'est Noël. Pour l'instant on te demande quelque chose. Est-ce que tu seras réveillé avant midi ? Oui ou non ?
Ma mère imagine elle se réveille à 8h. Moi et toi tu te réveilles à 9h. Non mais t'inquiète pas. Tu fais comme on t'a dit. T'achètes un bouquet de fleurs. T'achètes ce qu'on t'a dit quoi. Avec la voiture. Si elle aime les voitures. Ou si elle préfère le parfum. T'achètes le parfum quoi. Ça dépend. C'est toi qui vois avec l'argent que t'as. D'accord. Mais vous êtes sûr que demain c'est ouvert ? Bah oui c'est ouvert demain. Mais moi je penserais plus pour acheter du parfum que d'acheter la voiture. Parce que la voiture c'est une voiture de collection. Mais le parfum tu peux le mettre tout le temps.
Dans la voiture. Tu vois l'huile de voiture. Et voilà quoi. Bah merci beaucoup. C'est tout ce que je peux te dire moi. Ok bon bah je suis pas avancé. Donc je te souhaite de bonnes fêtes. Et puis bah amuse-toi bien. Bon bah joyeux Noël quand même. D'accord merci. A toi aussi. Salut. Le second c'est quoi ? C'est qui ? Le second c'est Valérie. 35 ans de Paris. Bonjour. Bonsoir. Bonsoir. Je vous souhaite un joyeux Noël Gérard. Bah moi aussi.
Je te souhaite un joyeux Noël. Hein Christine ? Oui c'est Christine. Ouais c'est ça. Alors bonne nuit. Au revoir. Au revoir Christine. Au revoir. Au revoir. Mais elle a besoin d'un conseil. Elle a besoin d'un conseil. Ah non Christine ? Oui. Comment vas-tu ? C'est l'ex de Gérard. Ah ? Ça va ? Ça va bien ? Oui. Non mais t'inquiète pas. Gérard c'est Noël. Fais le gentleman. Il pourrait être une meuf. Bon j'étais mauve avec lui quand même. Il soit poli un peu. Non mais t'inquiète pas. Ça va s'arranger. Bah oui.
Faut rester cool quoi. Bah oui. Moi c'est vrai que des fois je suis un peu... Dès que je suis là je me dis oh mince. Mais bon. Faut pas crisper quoi. On n'est pas des gamins pour se disputer. Bah ouais c'est vrai. C'est vrai t'as raison. Je suis d'accord avec toi. Bah oui genre. De ça qu'on fait le gamin. On n'est pas des gosses. Faut rester zen quoi. Bah oui. Bravo Sandy. Ouais Sandy. T'as profité de ta vie un peu. Bah alors vas-y Christine. Donc à part ça qu'est-ce que t'as à dire ? Moi bah j'ai dit c'est joyeux Noël et puis c'est tout. Bah c'est gentil ça. Voilà. T'as besoin d'un conseil non ?
Vous êtes heureux tous les deux que ça marche très bien pour vous deux. Bah je t'en remercie. Moi je te dis de même que la vie soit belle pour toi et puis que bah si t'as des enfants ou pas je sais pas bah que tu sois heureuse quoi. Je peux pas en avoir. Donc je sais pas t'as pas de conseil à demander ou... Non rien. Bah c'est cool Christine. Non mais c'est gentil d'avoir téléphoné et puis... Bon bah c'est gentil Christine on te souhaite un joyeux Noël. Bon réveillon l'amoureux. Ouais. D'accord merci. Je t'en remercie beaucoup. Ouais je vais faire le réveillon avec Sandy demain.
C'est cool. Bon Sandy tu dois avoir une autre fiche là. Tu vas être à Yanis. Ouais attends je vais... Parce que Gérard est parti on sait pas où il est il va certainement revenir. Attends ça c'est... Ah non c'est pas fait ça. Conseil GG Sandy a un problème pour faire la cuisine. Voilà Yanis. Si si. Donc on va accueillir Yanis 18 ans de Limoges. Salut. Allo ? Allo ? Salut Yanis. Salut joyeux Noël. Oui toi aussi. Bon je vais te parler j'ai vraiment des gros problèmes pour faire la cuisine. J'arrive réellement pas. Mes parents sont pas venus ce soir pour Noël. J'en prends marée de médecine alors je travaille.
J'essaie de faire la cuisine pour manger un peu. J'ai fait des pâtes et tout a brûlé. C'est tout cramé à l'intérieur. Je sais pas comment il faut faire. Mais comment t'as fait pour faire cuire les pâtes et que ce soit brûlé comme ça ? J'ai pris une casserole. J'ai pris de l'eau. J'ai mis les pâtes dessus et je sais pas j'ai laissé. Une demi-heure et puis après pouf. Une demi-heure t'as mis les pâtes ? Bah ouais faut que ce soit bien chaud. Non non attends attends. Attends attends attends. Déjà les pâtes tu les fais pas cuire une demi-heure. Tu les fais cuire maximum.
10 minutes à 15 heures. 10 minutes. Ça va être froid après. Non non non. Après tu peux les faire réchauffer. Tu vois si t'as un micro-ondes tu peux les faire réchauffer. J'ai pas de micro-ondes. J'ai juste une petite plaque. Et t'as pas un petit four où tu pourrais faire tu vois des plats cuisiniers genre surgelés les trucs comme ça ? Non non j'ai juste une plaque chauffante. J'ai une chambre d'étudiants donc j'ai juste une petite plaque. Et qu'est-ce que t'aimes exactement comme nourriture ? Tu dois avoir une préférence. Je sais pas moi. Si t'aimes je sais pas soit les surgelés soit les boîtes de conserve je sais pas. J'aime bien les raviolis. Ah t'aimes bien les raviolis.
Les raviolis c'est pas dur à faire chauffer. Tu prends une casserole et puis bon c'est bon. Comment on fait des raviolis Sandy ou Gérard ? Je sais pas vous pouvez nous dire. Non mais attends. Une boîte. Tu ouvres la boîte. Ouais. Tu la mets dans une casserole. Sans te couper les doigts. Ouais. Sans te couper les doigts. Pas faire comme Sandy. Tu mets la boîte dans la casserole où tu vis. Non non mais pas faire comme Sandy pour un avocat prendre son doigt pour un avocat. On parle des raviolis Gérard. L'avocat c'est pas une boîte de conserve. Donc pour ces raviolis le mieux c'est de faire une chose. C'est couper ta boîte.
Non mais attends. C'est des plaques sur pente ? Bah ouais. Ah c'est plaques électriques. Ouais. Alors sur plaques électriques tu les mets à... 10 ? Non ? Non non non pas à 10 parce que c'est trop. À 3 peut-être ? Trop. 3-4 ? 3-4 ? Ouais je pense. Ouais. Et tu fais attention que ça crame pas. Tu surveilles et tu touilles de temps en temps pour voir si ça crame pas dans la casserole. Est-ce qu'il faut mettre de l'eau avec les raviolis dans la casserole ou pas ? Non non parce qu'il y a de la sauce déjà.
Il y a de la sauce. Ou du beurre pour pas que ça attache. Si si si. Il faut mettre quoi Gérard ? Attends attends attends. Attends Sandy Gérard c'est mieux que toi. Non non attends attends. Une fois que t'as retiré tes raviolis de la boîte. Ouais. Il te reste un peu de sauce dedans. De quoi ? De la sauce ? Ouais de la sauce. De quoi comme sauce ? De la sauce tomate abrutie ! Bah ouais mais j'en ai pas de sauce tomate moi. Non mais ils sont déjà dans les raviolis. Oh mais c'est pas possible ! Tu comprends ce qu'on veut dire ?
Bah ouais bah ouais. Dès que t'as les raviolis on t'ouvre la boîte. Attends Gérard excuse-moi. C'est Max. Il y a des fois les gens ne comprennent pas toujours. Moi je comprends pas tout lui je te le dis. Attends comment que tu fais une omelette toi ? Bah avec des oeufs. Et tu mets quoi dans ta poêle ? Je mets ce qu'il y a dans la coquille c'est-à-dire l'oeuf et la sauce. Le blanc. Et comment que tu les fais cuire tes oeufs ? Bah je fais chauffer. Ouais avec quoi ? Bah avec du gaz. Ouais et tu mets quoi pour que ça chauffe ?
Bah il peut mettre des lardons. Bah j'en sais rien du beurre ou du beurre. La crème fraîche. La crème fraîche ? Non la crème fraîche c'est quand tu veux faire des champignons à la crème fraîche. Mais moi des fois je mets un peu d'herbe de Provence avant. Pour bien que ça saisisse l'affaire. N'importe quoi toi. Donc on revient aux raviolis donc Gérard les raviolis. Bon les raviolis. Donc pour en finir avec tes raviolis là. Ouais. Donc tu mets un peu d'eau dans ta boîte. Pas beaucoup. Non dans la casserole. Dans la boîte ? Non dans la boîte pour bien retirer. Ah pour diluer. Ah ok. Pour diluer ce qui reste.
Tu mets pas beaucoup. Tu prends une cuillère à boire pour tourner de temps en temps. Tu surveilles. Rigaud oui une question internet. Ouais Gérard il y a Steph sur l'IRC qui te demande si tu l'invites à bouffer demain parce qu'il aime bien tes conseils cuisine. Non. Pourquoi ? Non j'invite personne à bouffer chez moi demain. Pourquoi ? Hein ? Non le 31 ils sont tous invités. Ah ouais ouais j'ai vu l'affiche ouais. Vous êtes tous invités le 31. Le 31 ils sont tous ceux qui vont venir vont être aux flics. Donc ? Nuance.
Ouais bah pour les raviolis Gérard. Ouais ouais. Non mais tu ferais une parenthèse d'ailleurs pour en parler tout à l'heure et en montrant. Ouais. Elle est où l'affiche ? L'affiche est là et en plus il faut qu'on parle du courrier parce que t'as reçu du courrier pour Noël en plus. Ah ouais si c'est des conneries ça sert à rien. Non non non. Non c'est des bons cadeaux. Donc ton histoire de raviolis. J'en mets combien ? Un demi litre ? Mais non tu t'en mets un petit peu. Un petit peu. Un verre ? Ouais tu mets un verre dans ta boîte tu secoues et tu remues le restant de la sauce tomate. Ok.
Et tu le mets dans ta casserole ? Il y a des raviolis dans la casserole normalement. Oh là là. Ouais. Mais non les raviolis tu les mets dans la casserole donc si tu les mets pas ils peuvent pas y être. Bah ouais. Donc c'est logique. Ok ok ouais. Ouais. Et qu'est-ce que t'aimes d'autre à part les raviolis ? Bah les pâtes j'aime bien mais bon ça cramait tout à l'heure j'en ai plus là. Donc les pâtes bon c'est des spaghettis ? Non non c'est des petites coquillettes là. Bah les coquillettes tu les fais chauffer à je sais pas 5-10 minutes et ce que tu peux faire
de l'huile avec du sel. Ah ok. Et tu remues de temps en temps pour pas que ça colle. Ah ok. Et si tu veux me faire des nouilles à la sauce tomate tu mets de la sauce tomate dedans mais après tu les égouttes. Ouais mais la sauce tomate c'est des trucs en briques ou les... Bah ce que tu veux. Oh tu peux avoir ce que tu veux des petites boîtes ou des grandes boîtes ça dépend. Ouais. Enfin voilà Yanis. Ça y est t'es renseigné au moins tu peux faire quelque chose de main de potable. Ok. Comme dirait Gérard ok ? Ok. Bah bonne soirée à toi. Merci. Ouais bonne soirée. Gérard le suivant ?
Bonsoir. Allo. Allo. Allo. Y'a quelqu'un ? Ah bah elle est partie. Y'a quelqu'un dans la secoupe ? Bah c'est pas grave c'est pas grave. Bon. Elle est manouillée. Je sais pas. C'est pas grave. C'est pas grave. On va accueillir Thomas 25 ans. Ouais. 25 ans de Nice. Ouais salut à tous. Bonsoir. Bonsoir à toi. Salut Sandy. Salut. Oui salut. Bah bon joyeux Noël quand même. Merci. Ouais j'espère que vous avez passé un bon réveillon. Bah tu vois là on y est. On est en plein dedans.
Ok. Bah écoute moi je t'appelle justement c'est un peu à cause de ça parce qu'en fait j'ai bien fait la teuf et j'ai un petit peu trop mangé j'ai un petit peu trop bu et j'ai peur demain d'être un petit peu malade et d'avoir un petit peu la gueule de bois donc on m'a dit que t'étais calé sur le sujet donc j'aurais voulu savoir si t'avais des petits trucs pour éviter si tu veux d'avoir la gueule de bois ou la chiasse. D'accord. Alors ce que je te conseille pour pas avoir pour pas avoir envie de... Pas manger de chocolat d'abord. Est-ce que t'as mangé du chocolat ?
Ouais ouais il y avait de la bûche au chocolat en dessert. Non mais ça c'est pas ça qui va te... Attends attends Thomas. Oui oui oui. Pour l'instant le réveillon n'est pas terminé. Ah bah oui mais moi j'étais fini de manger là j'ai déjà mangé de la bûche. Mais qu'est-ce que t'as mangé exactement ? Alors en entrée il y avait des huîtres. Ouais. Après j'ai bouffé de la moule quand même un petit peu. Ouais. Après on a enchaîné foie gras saumon tu vois bien classique. Ouais. Ok. Après un bon petit rôti, fromage et puis la bûche. Bon ça va là c'est pas trop c'est pas un grand repas comme il y en a qui font.
Si tu veux moi j'ai un petit estomac quoi. Tout le monde n'a pas la chance d'arriver à digérer des quantités de nourriture faramineuse peut-être comme toi Sandy mais moi... Ah non non moi je te rassure tout de suite je mange pas beaucoup. Tu manges pas beaucoup ? Par rapport à ce que tout le monde peut croire... Menteuse ! Non elle mange pas beaucoup. Menteuse ! Menteuse ! Menteuse ! Menteuse ! Attends attends Thomas. Moi je démens ce qu'elle vient de dire. Ouais c'est vrai c'est dégueulasse ce que t'as dit. Elle a dit qu'elle mange pas beaucoup mais elle arrête pas de manger du chocolat du matin au soir. Donc c'est une menteuse. Non pas en ce moment.
Une menteuse ! Elle mange plus de boîte de pales d'affilée. Elle est peut-être enceinte Gérard si elle mange du chocolat non ? Bah oui. Attends ça c'est pour le jeu de la vérité d'accord ? Ah ouais merde. Ok. C'est vrai que si elle est enceinte tout de suite elle mange plus mais moi je suis pas enceinte et je te dis je mange pas beaucoup. Non mais moi de toute manière un conseil que je vais te donner pour pas avoir la gueule de bois si t'as bien bu si t'as bien arrosé le réveillon un conseil que je te donne c'est de boire un café salé. Un café salé ? Non mais ça c'est pour faire vomir ça le café salé. Ah oui mais justement.
J'ai pas envie de vomir justement j'ai pas envie d'être malade c'est ça le problème. Et bah alors dans ce cas là tu fais une chose tu bois un café sans sel. Ou sinon si t'es malade. Ah merde. Tu peux faire du vélo aussi si tu veux. Un café sans sel. Non Gégé le problème le problème c'est que là quand je vais aller Un café sans sucre excuse moi. Ok quand je vais aller me coucher avec ma copine déjà premièrement je pue de la gueule et deuxièmement j'ai pas envie de lui dégobiller dessus. Bon alors dans ce cas là tu fais une chose tu bois un café sans sucre et avant de faire l'amour avec ta copine t'essayes de
te laver... De te laver les dents quand même. De te laver les dents. Non pas la quéquette attends et oh. Bah si il peut hein. Je me lave pas la quéquette ? Attends si il veut faire la gueule il peut te laver la quéquette hein. Ah bah ouais. Bah attends mais attends. Non mais je suis d'accord avec toi. Mais de toute manière et oh. Ouais. Moi je vais te dire une chose. T'en dis est-ce que tu te laves la quéquette avant l'amour ? Moi d'abord je te rassure j'ai pas de quéquette. Ouais la chounette. Ouais la chounette bah ça dépend hein si j'ai pas envie je la lave pas hein. Ouais ça peut être souvent. Mais t'as vraiment envie non ? Mais ça ça dépend hein moi je prends une douche.
Deux fois par jour donc y'a pas de problème. Un jour. Non non pas par mois. Non pas par mois non. J'en connais tout à l'heure qui vont se prendre des baffes. Ouais Manu. Hein Fildar et Manu ? Voilà. Attends attends attends. Juste pour dire qu'il faudra quand même penser à... On plaisante on plaisante mais ça serait bien quand même qu'on fasse un tout petit point sur... Ouais un petit point courrier mais justement on va abréger. On va finir avec Thomas. C'est fini parce que je voyais parler entre vous. Ah non non non.
Bah lui il est là. Bah lui il est là. Je pense que pour toi Thomas la solution donc c'est déjà si t'as envie de faire l'amour là maintenant. Ouais. Donc... J'ai peur de vomir pendant l'amour. Surtout y'a un truc que je te conseille si tu me le permets c'est que bon dès que tu veux faire ça avec ta copine surtout tu te protèges. Oui non mais ça y'a pas de problème. Bon bah voilà ça y'est ça y'est ça y'est c'est bon. Le problème c'est le mal de mer. Je vais avoir le mal de mer c'est tout. Ouais non mais attends. Ou sinon tu prends un cachet d'aspirine si ça va pas. C'est bon c'est bon c'est bon.
Terminé apparemment il a assez de conseils ou pas ? Bah pas des masses. T'es conseillé ou pas Thomas ? Bah je trouve que c'est léger quand même au niveau du conseil. C'est normal. Je vais lui vomir dessus c'est tout. C'est comme ça que ça va finir. Non mais si t'as envie de vomir tu vas dans les cabinets et puis tu vomis c'est tout. Ouais ouais. Et puis une fois que t'as fini bon bah tu retournes la voir et puis gentiment. Voilà. Sans lui vomir dessus en principe. Attends tu vomis pas sur ta copine attends arrête de dire des bêtises là. Tu lui demandes avant. J'aimerais bien éviter. Ou sinon tu peux prendre des sacs et puis tu vomis dans un sac.
Et puis après tu mets ça dans le vide d'ordure. Voilà. Bah même tu prends un préservatif et tu vomis dans le préservatif et puis basta. Mais non attends. C'est cramé ça Gérard. Hop terminé. Bah merci Thomas. Terminé Thomas. Bon bah bonne chance à toi. Merci à toi. Au revoir. Bon alors Gérard. On pourrait. Ouais. On a reçu du courrier donc déjà du. On a reçu du pâté de foie. Non non. Non non non. Ça c'est pas fesse de babouin. Gourmet. Gourmet. Gourmet trois étoiles. Mousseline de soie. De sol. De sol.
De sol. Faudra que tu le goûtes quand même avant de partir. Non ça me paraît bizarre ça. Donc apparemment t'es abonné à Atlas. Voilà ça. Tu peux ouvrir. Non mais ouvre. Non non mais attends. Ça c'est. C'est pas grave. L'abonnement c'est 8000 francs par trimestre. Non non mais ça c'est. C'est le mec. Parce que les mecs qui t'ont abonné ils demandent l'argent apparemment à Atlas. Donc moi j'ai dit que c'était pas fun. Ça c'est le mec. C'est le mec qui s'amusait à m'envoyer les trucs de camion et qui me demande. Bah voilà. C'est bien ce que. D'accord. Voilà. C'est quoi t'as des étiquettes de camion là ? Et t'avais une lettre non ?
Ouais en fait on a reçu le colis tu vois. C'est rare. C'est Fès de Babouin qui t'a envoyé donc ce colis là. Le beau colis. Et donc en fait c'est pour Noël bien sûr. C'est pour toi. Et en fait dans ce paquet il y a un voyage. Destination au choix. Il y a des millionnaires. Des bancos. Un abonnement au journal France Soir. Un réveil. Un réveil fun radio. Unique. Des tickets à restaurant. Des écouteurs de Wackman. Un CD. Deux livres. Un stylo. Un déodorant. Un protège-dents. On va ouvrir tout ça. Un père Noël. Une carte magnétique. Ton cutter.
14 piles. Un ticket RATP SNCF. Une ampoule. Un calendrier Spirou. Un rouleau de scotch. Quelques brochures sur la Bretagne. Si tu as envie d'aller en Bretagne. Deux autocollants. Un paquet de mouchoirs. Un savon. Et une pomme de terre. Donc voilà. Donc j'espère qu'il y a le compte. Donc Gérard est en train de nous voir en direct. Donc attends. Ça fait beaucoup pour tenir dans une boîte. Non ça tient. Non c'est miniature. Calme Gérard. Alors. On récupère. Alors donc il y a les autocollants.
Des autocollants. J'ai effectivement l'ampoule. Voilà. L'ampoule est belle. Ah sympa. Ah c'est sympa ça. Elle est peut-être grillée. Mais bon. Le réveil fun radio. Ah ouais. Tiens. Ah il est classe. Là. Les tickets à restaurant. Les tickets à restaurant. Il ne reste plus beaucoup. Le CD. Le CD. Ah il est beau le réveil. C'était marqué un CD. 50 heures gratuites. De CD-ROM. Super pour internet. C'est pour avoir internet ça. Tu pourras demander à Régo.
Là. Le patrimoine religieux de la Bretagne. Donc pour voyager. Ouais. Ça c'est les brochures sur la Bretagne. Non mais attends. C'est pas de la religion. C'est bien. On va pouvoir lire. Voyage. Voyage. C'est des voyages. Voilà. Voyage gratuit. Je m'en fous. Il y a des millionnaires et des bancos aussi Max. T'as un calendrier. Ouais. Non mais attends. Toi. Quoi ? Toi. Attends. Attends. Un savon. Ah ouais. Il y a effectivement des Kleenex. Ouais. Qu'est-ce qu'il y a d'autre ? Regarde dans l'enveloppe. Il y a du scotch. Il y a un rouleau de scotch vide. Ça peut toujours servir.
Il y a une enveloppe aussi. Ah ouais. Normalement. Ouais. Du scotch vide. Sauf s'il y en a plus. Ah merde. Là il y a des écouteurs de Wackman. Ouais. Bon. En pièces détachées. Mais ils sont là. Ouais. Non mais c'est bien parce que le réveil. Il n'y a pas les aiguilles. Il n'y a pas d'aiguilles. Et puis à mon ami. Il est naze. C'est l'attention qui compte. Ouais. Il est naze. Attends. Je crois qu'il y a une enveloppe aussi. T'as pas une enveloppe dans la... Ah bah attends. Les Wackman ils sont à moitié cassés. Ça c'est le parfum. C'est le déodorant. Écoutez bien. Écoutez bien. Attendez.
Après l'Adidas. Après l'Antarctique. Gérard va se parfumer à quoi à votre avis ? Je sais pas. Au tsar. Tu veux voir ? Ah bah on est dans la merde. Oh non. Tiens je connaissais pas ce parfum. Attendez. Ah non non mais c'est bon. Tout à fait. Non mais non. Il n'y a rien dedans. La bouteille est vide. Non mais c'est pas mal. Non la bouteille est vide. Mais t'as plus qu'à la remplir. Le must du must. Un dentier. Un protège-dents. Un protège-dents. Un protège-dents. N'importe quoi.
C'est pas grave. Il y avait une enveloppe. Il y a une enveloppe non ? Pour Gérard c'est pas un protège-dents. C'est un protège-dents. Ouais mais attends. Toi l'enveloppe. Je me demande si tu l'as pas piqué comme t'as l'habitude de me faire. Hein Gérard ? Mais non c'est marqué une enveloppe avec des bancos et des millionnaires. Ouais le protège-dents. Ouais bah ça. Mais ça. Hop. La fausse dent en plus. Ah bah voilà. Ah les bancos et les millionnaires. Ouais mais attends. C'est quoi ? C'est quoi Gérard ? C'est quoi ? Je vois pas. C'est cool non ? C'est quoi ? Des bancos. Des bancos ? Ils ont déjà été grattés.
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0. Putain, il y en a plein en plus. T'as gagné ou pas ? Non mais regarde les touches Gérard, ça se trouve il y en a un gagnant dans le tas. Non, non, il n'y a aucun gagnant. Donc ça, ça va à la poubelle. 14 piles normalement. 1, 2, 3, 4, 5. C'est bien ça ! Ah ça c'est gentil. À mon avis elle fonctionne à mort.
Ouais c'est ça. Pour écouter Wakeman c'est bien. La pomme de terre. Ah c'est une pierre hindoue. C'est une noix de coco miniature. C'est exotique, c'est beau. Ça c'est une patate. Ça retourne là-dedans. Il y a un stylo aussi normalement. Et t'as aussi une brochure France 3. Non, non, ça c'est un abonnement à France Soir. C'est ça. Non, non, mais il va se faire foutre. Tu dois avoir aussi de la monnaie.
Voyage, RATP. C'est ça, c'est ça. Donc poubelle, c'est pas la peine. Regarde, t'arrives réduit. Mais non, non, non. Il y a bien marqué, vous pouvez gagner un abonnement à France Soir. C'est bien ça. Mais attends. Attends, c'est pas du bidon ce courrier. C'est pas bidon. C'est pour moi que... Il doit y avoir un stylo aussi Max, normalement. Et une carte magnétique. Il y a dit... Il y a dit Fning. C'est de la monnaie allemande.
Non, mais c'est bien parce que le bouchon, il est où ? C'est pas grave. Regarde s'il écrit. Il s'est peut-être perdu dans la boîte. Il écrit le stylo Gérard. Il y a un stylo. Et il y a de la monnaie allemande. Normalement. Voilà, la carte magnétique. C'est pas du bidon. Avec ça, tu peux passer partout. C'est ça. C'est surtout que tout est retiré.
Je sais pas, tu peux essayer dans les distributeurs. Il manque le magnétisme. Mais la carte magnétique est quand même là. Attends. Un petit savon. C'est quoi ça ? À la vendeur shop. Violent, là. Tiens, tiens, tiens. Un petit courrier quand même pour Gérard. Merci. Tu gardes quand même la carte ? Coubelle. Alors attention, qu'est-ce qu'il se dit ? Je suis un grand fan de tes débats.
Première, la façon que tu les mènes. Je les trouve très intéressants. Surtout quand ils sont collants à l'actualité. Comme aujourd'hui avec Miss France. J'aimerais avoir ta photo de toi. De tes préférés dédicacés. C'est sympa ça. C'est quoi ? C'est très sympa. Termine. Laisse-moi. T'aimer ? Ainsi.
Que toi et Sandy, en espérant une réponse... Attends, attends, attends. T'as peut-être oublié des mots. Je suis un grand fan de tes débats. Et j'admire la façon... La façon que tu les mènes. Dont tu les mènes. Je les trouve très intéressants. Surtout quand ils collent à l'actualité. Comme aujourd'hui avec Miss France. Ouais, d'accord. J'aurais aimé avoir des photos de toi.
De préférence dédicacés. Ainsi que de toi avec Sandy. C'est normal. En espérant une réponse positive. Positive, ouais. Il a oublié le F. Demande ton micro. Je te souhaite de joyeuses fêtes. Demande ton micro. C'est bon ? Ouais, c'est bon. T'inquiète pas. Il a oublié le F à positive. Sans fil d'art. Ah, je suis désolée fil d'art. Ah oui, t'es là. Excuse-moi. Merci. Hermine. Donc voilà. Hermine, bah... C'était bien ce que t'avais mis, mais t'avais oublié quelques mots. C'est la nageuse, la Muriel Hermine. Ouais, Muriel Hermine. C'est ça.
C'est Hermine Robin. Ah oui, oui. Tu peux mettre ça. Tu peux mettre tout ça. Même, tiens. Quoi encore ? Le parfum, il en reste. Ouais, garde-le, le parfum. On sait jamais pour demain. Pour le réveillon, là. Puis ça, bah ça, on goûtera pour voir si... Ouais, on goûtera si c'est... On essaiera de tester. On essaiera de savoir si c'est pas des trucs pour chien. Non, non, non. Attends, c'est pas pour chien, ça. Non, non, c'est pas pour chien, ça.
C'est ce qu'on a mangé dans le bureau tout à l'heure. Ouais, c'est la même boîte. Attends, j'arrive pas à lire ce qu'il y a marqué. C'est du Trois Étoiles, ça. Non, mais cherche pas à comprendre. Non, mais c'est écrit trop petit. C'est rien, c'est gourmet. Ouais, cherche pas à comprendre. Attends, toi, tu as commencé par... Attends, attends, dis tout de suite qu'elle est conne. Ah non, pas du tout. Non, non, non. Non, mais attends, dis qu'elle est conne, ça vaudra mieux, d'accord ? Non, c'est pas vrai. Ah non ? Attends, il y a marqué chat adulte. Ah, chat adulte, alors poubelle. Mais attends, j'ai pas commencé encore. Attends, je suis pas un chien. Je suis pas un chat.
Servir à température ambiante. Mais non, mais ça, c'est de la nourriture pour des gens qui ont des chats. C'est ça. Pourquoi tu moques ça ? Parce qu'ils croient que je suis un chat. Mais non, peut-être que t'as un chat. Peut-être que t'as des animaux. Ah, il y a du poisson quand même dedans. C'est bon pour la mémoire. Hop, poubelle. Attends, j'aurais quand même pu goûter. Bah ouais, merde, elle aurait pu goûter, Gérard. Attends, toi, tu vas me goûter ça, toi ? Qu'est-ce qu'on va accueillir ?
C'est Noël ? Qu'est-ce qu'on accueille ? Bonsoir, Olivier et monsieur Prodigy de La Loco. Ouais, bonsoir. Qu'est-ce qu'on fait, Gérard ? On fait un conseil, là, ou pas ? Non, bah, on va s'écouter un petit disque si tu me donnes le titre. C'est chasse. On parlera du courrier d'affiche. Ouais. Mais en dernier... Non. Pourquoi ? On parlera pas du courrier d'affiche. Non, non, non. Non, tout bas, tout bas. C'est chasse.
Chasse. C'est quoi ? Chasse. Encore une fois, tu sais, là. Encore une fois ? Ouais. Alors, vas-y. C'est parti. Et on se retrouve tout à l'heure pour la suite des conseils. Et même... Même, vous pouvez appeler maintenant. On va arrêter les conseils et on va prendre le jeu de la vérité. Donc, vous pouvez nous appeler au 0803 08 5000 et 0803 70 5000 et toujours lire. C'est W2E.fr Fun Radio.
A tout de suite. Et voilà, c'était Sass dans Inertis. Donc, vous pouvez toujours nous appeler au 0803 08 5000 et 0870 5000. Manu, vous attend au standard. Il est 0h35. Bon avion à tous ceux qui sont en pleine fête. En pleine bourre, ouais. En pleine bourre. Donc, ceux qui sont sur la route comme des chauffeurs de taxi, on va quand même les saluer. Ils sont à la bourre aussi, non ? Non, non, mais on va les saluer parce que
grâce à eux... Tu peux me rendre le carton pour le CD, c'est mieux. Ça le protège. Merci. Voilà. Donc, on salue tous les chauffeurs de taxi. S'il y en a qui veulent passer, nous dire un petit coucou, ils seront les bienvenus. Donc, il y a toujours Rigo qui vous attend sur l'Internet. W2E.fr Fun Radio. On est combien, Rigo, s'il te plaît ? Ça n'arrête pas de monter. On est 4347. Et tout à l'heure, j'ai écouté... Combien on était tout à l'heure ? 90 !
Mais comment c'est possible, Rigo, ça ? D'ailleurs, vous étiez 90 et là, maintenant, on est à 4300. Les fans de Gérard. Ça, c'est normal. Ça ne se calcule pas, ça. Alors... Plus de 6000. Ah ouais, mais ce soir, comme c'est Noël, et comme c'est la dernière ce soir pour des débats de l'année 98, donc je voudrais qu'on aille jusqu'à 6500 personnes sur l'Internet.
Rien que pour mettre les boules au chef. Comme ça, son patron, son boss, il va lui dire Oh, mais qu'est-ce qu'il fait ? Il ne nous fait rien sur l'Internet. 90 personnes tout à l'heure. J'ai écouté, j'étais là-haut. 90 ! Bon, attends, toi, t'es naze, tu peux te taire, toi. Oui, il est naze. Mais attends, toi aussi, t'es naze. Toi, tu ne bosses pas avant 11h30. Donc, qu'est-ce qu'on fait, là, Gérard ? Le jeu de la vérité ? Alors, on va faire le jeu de la vérité, mais j'aurais bien voulu que Sandy,
maille de truffion. Elle se vide. Bon, eh, eh, eh, eh, eh, eh, Fildar, vas-y, mets-moi la grosse. Allez, bouge de là. Tu veux que je la mette ? Allez, allez, allez. Je n'ai pas trop envie ce soir de la mettre. Ah si, allez, allez. Non, je n'ai pas trop envie de la mettre la grosse ce soir. Mais si, allez. On va la faire revenir plus vite qu'elle est sortie. Eh toi, la grosse, débouche, espèce de fainéante. Tu ne vois pas que les autres s'amusent là. Allez, débouche. Allez, débouche. Viens avec nous.
C'est ça la fête ! C'est ça la fête ! C'est ça la fête ! C'est ça la fête ! C'est ça la fête ! C'est fini la fête. Donc Gérard, on accueille le premier auditeur. On accueille Sylvain, 23 ans, de Calais. Oui, bonsoir, bonsoir. Bonsoir. Salut, bonne Pâques à tous. J'espère que t'as trouvé beaucoup d'œufs en chocolat dans le jardin, Gégé. C'est ça. Attends, bonne Pâques. Je vais te dire une chose, qu'on n'est qu'à Noël. Alors, je serais classe, tu vois. Je dirais joyeux Noël, bonne année et joyeuses Pâques. Attends, Sylvain, t'appelles d'où aussi ? Il appelle de Calais.
Tout à fait, c'est une petite ville de la Guadeloupe. Et il fête Pâques. Ah ouais, c'est ça. Calais à la Guadeloupe ? Oui, tout à fait, tout à fait. Non mais attends, tu prendrais pas les gens pour des cons, toi ? C'est pas plutôt au nord de la France, plutôt ? Non, non, non. Si, si, si. Pas du tout, c'est New Calais comme New York. Ouais, c'est ça. C'est un peu pareil. C'est ça. Alors vas-y, ta question. Alors, le jeu de la vérité, on va monter le niveau d'un cran. Ouais, vas-y. C'est une question un peu personnelle qui vous concerne tous les deux, donc c'est bien que Sandi soit revenu. Ouais, vas-y. Vous avez beaucoup parlé à la fin de l'année dernière que vous alliez vous marier.
Pourquoi vous étiez pas marié ? Et j'ai demandé un petit peu autour de moi, on m'a fourni quelques réponses. Alors il y en a qui disent que c'est parce que le maire de Surin ne voulait pas. Ouais. Et il y en a d'autres qui disent que c'est parce que Sandi, elle est bohémienne et donc il faudrait que tu te convertisses à la religion des manouches. Eh ben alors, dans ces cas-là, tu sais... Ah non, non, pas du tout. Non, non, attends, attends, Sandi. Non, attends, Gérard, je vais te rappeler le principe du jeu de la vérité. Non, non, attends. C'est pas dans ces cas-là que tu dégages le standard. C'est Joker. Ah mais t'en as pas... Joker. Non, non. Déjà, tu poses la question à qui ? A moi ou à Gérard ? A vous deux.
à Gégé parce que c'est quand même l'homme, donc c'est lui qui porte la jupe, donc c'est quand même à lui de répondre. Non, c'est moi qui porte la jupe. Dans ce cas-là, Joker. Joker, hop, terminé. Et bien voilà. Il n'y a pas besoin de Joker. Gérard, Sandy peut répondre. Moi, je peux répondre. Vas-y, Sandy. Donc, si on ne s'est pas marié, c'est tout simplement, ce n'est pas parce qu'on ne veut pas, c'est tout simplement parce qu'on manque d'argent. Et comme on manque d'argent, Gégé travaille, d'accord. Mais tu n'es pas bohémienne. Non, je ne suis pas bohémienne. Tu es quoi ? Je suis d'origine anglaise. Non, non, non.
Si, si, si, je suis d'origine anglaise. T'es sûr que t'es pas gitane ? Non, non, je suis pas gitane. D'abord, je me sens pas une gitane. T'es manouche, toi, t'es manouche, direct. Bon, allez, terminez pour toi. Gérard, qu'est-ce que tu disais ? Au revoir, au revoir, au revoir. Au revoir pour lui, terminé. Mais attends, j'ai même pas répondu. Elle a le droit de répondre, Gérard. C'est le jeu de la vérité. Non, non, mais attends. Moi, je vais te dire une chose. Pour l'instant, mon beau-père est emmerdé.
Soyez emmerdé, vu ce qu'elle vient de dire. Le jeu de la vérité, c'est le jeu de la vérité. Ça n'a rien à voir avec mon père. Pour l'instant, j'ai dit qu'on ne pouvait pas se marier. Et elle a dit qu'elle était d'origine anglaise. Et j'ai dit que j'étais pas bohémienne non plus. C'est le jeu de la vérité, elle a répondu. Ça ne sert à rien de t'énerver. C'est toi qui as pris ton joker, donc ça te fait un point en moins. Voilà, t'es tout naze. Ça te fait un point en moins, c'est tout. Horror, 21 ans de maniaque. Allô ? Oui, bonsoir.
Question pour vous deux. Je voulais savoir quel est le plus beau cadeau qu'on vous ait jamais fait. Alors, le plus beau cadeau qu'on nous a jamais offert, tu veux dire ? Ouais. Tu dis la vérité, Gérard. Donc, c'est une voiture. Une voiture ? Ouais. Qui c'est qui t'a offert une voiture ? Bah non, personne. Non, moi, ce que j'aimerais plutôt que quelque chose qu'on m'a jamais offert, c'est un voyage. Non, mais attendez, vous n'avez pas compris la question. La question d'Horror, c'est quel est le cadeau qu'on vous a... Enfin, quel est le plus beau cadeau qu'on vous a jamais fait ? C'est-à-dire, quel est le plus beau cadeau qu'on vous a fait ?
Tu vois ? Quel est le plus beau cadeau que vous avez eu ? Voilà. Ah, le plus beau cadeau qu'on a eu ? Voilà. Ouais. Moi, le cadeau que j'ai eu, le plus, c'est un ordinateur. Ouais ? Un ordinateur ? Ouais. Parce que c'est mon père qui me l'avait offert, parce qu'il m'avait dit, bon bah, écoute, si tu réussis ton CAP, je t'offre un ordinateur. À l'heure d'immidi, là. L'heure d'immidi, pour apprendre les couleurs. Et comme j'aime bien l'ordinateur, donc... Et pourquoi pas un vélo d'appartement, quand tu pensais à moi, avant que tu me connaisses ? Non, mais attends, un vélo d'appartement, c'est pour ceux qui vont mourir.
Attends, attends, attends, attends, attends. Attends, tu permets ? Quand je t'ai vu la première fois, tu m'as dit que tu pensais à moi avec ton vélo d'appartement. Non, non, non. C'est, c'est, c'est, c'est, c'est. Vas-y, vas-y. Sandy, il y a Olio sur l'IRC qui te demande si t'es branché sur Internet, parce qu'il a trouvé un site www.vientbrouterlecute sandy. Ah, non, non, pas du tout, je connais pas. C'est pas toi ? Moi, je l'ai vu aussi. Je suis pas branchée à Internet, et là... Ouais, tu veux même, toi ? Pour ? Pour...
Pour te les gratter ? Non, ça va. Donc, Gérard, le plus beau cadeau qu'on t'ait jamais fait, c'est quoi, toi ? Moi, le plus beau cadeau qu'on m'a jamais fait, ben, c'est de m'offrir une voiture. Putain, mais t'as pas compris la question. Quel est le plus beau cadeau qu'on t'a fait, alors ? Non. Qu'on t'ait jamais fait. Non, qu'on t'ait jamais fait. Pas qu'on t'a, qu'on t'ait jamais fait, c'est-à-dire être. Donc, tu l'as, le cadeau, tu l'as. Ben... Ça peut être tout ce que tu veux. Ben, de toute manière, le plus beau,
le plus beau cadeau que j'attendais, c'était de faire une émission de radio. Et là, maintenant, je l'ai. Ah, ouais, c'est un beau cadeau, ça. C'est ça, ouais. Grâce à... Grâce à... Grâce à... Grâce à Manu, je sais. Max. Max, le meilleur. Max. Max, mon chef. Grâce à lui, c'est grâce à lui si je fais de la radio. Parce que sinon, j'en aurais jamais fait. Et je rêvais toujours d'en faire. C'est pas... Attends. Vas-y, gratte-toi. Tu veux que je te gratte aussi, moi ? Tu faisais de la Cibi, quand même. Ouais, ouais. C'est un peu de la radio, la Cibi.
C'est pas pareil. Moi, par contre, ce que j'ai à dire, c'est que, bon, c'est vrai que je rêvais jamais de faire de la radio. Mais, enfin, en faisant de la radio, je prends plaisir à en faire. Et plus j'en fais, plus j'ai envie de continuer. Ouais, mais grâce à qui ? Grâce à Max. Le meilleur de... Il est là. Tu dis que la Cibi, c'est pas pareil que la radio. C'est quoi, vraiment, la différence ? Parce qu'on fera un débat sur les routiers. C'est quoi, la vraie différence entre la radio et la Cibi ? Ben... En fin de compte, si tu veux, la Cibi, c'est pas du tout pareil. Parce que sur la Cibi, t'as un QRZ.
Comme il y en a un qui m'a piqué mon QRZ. La radio, c'est différent. Parce que t'as Manu et Fildar, qui sont au standard, qui prennent des gens. Tu discutes avec les gens. Même sur la Cibi, tu peux discuter avec eux. Mais tu peux pas être avec Fildar et Manu, au standard. Moi, je peux faire son standard Cibi, si tu veux. Non, mais c'est pas pareil, la Cibi et le standard. Et tu peux pas avoir un QRZ en radio ? Non. Pourquoi ? Non, c'est pas possible. Et pourquoi ? Non, mais c'est pas possible.
C'est différent. Pourtant, les gens pensent que c'est la même chose. Non, non. C'est quoi, la grande différence entre les deux ? La grande différence, c'est qu'il faut se dire une chose dans sa tête. C'est qu'à la Cibi, t'as un mic, t'appuies dessus. Tandis que là, t'es devant un micro, tu peux l'éteindre. C'est plutôt un kintosh, ici. Tu peux l'éteindre comme tu veux, ton micro. En Cibi, t'as des mics, et en radio, t'as des kintosh. T'appuies sur le bouton, là. Hop. Voilà. Et tu laisses tout le monde.
Je peux te demander un truc ? Chaque animateur radio a un QRZ ? Parce que, regarde, Max, c'est pas son vrai prénom. Donc Max, c'est son QRZ. Mais on le sait. Mais pourquoi, moi, on me dit GG ? Moi, j'aurais bien voulu trouver un autre nom pour passer à la radio. Un QRZ, c'est un prénom qui passe bien en radio. Gérard, ça passe en radio. Gérard, sur Fun Radio, ça fait pas pareil que Franck sur Fun Radio. Ouais, mais ça... C'est pas de ta faute si t'as un prénom. Dévoile pas trop ton identité, toi. Ta cutie. Dévoile pas trop ta cutie.
C'est pour ça que j'éteins la lumière du studio, pour pas qu'on regarde de mon visage. Voilà. Bien vu, Max. Et donc, c'est bon, Aurore ? Ouais. Ouais, donc c'était ça, ton plus beau cadeau ? Voilà. Ouais, ok. Alors... Donc voilà, j'espère qu'on a répondu à tes questions. Et puis, on te souhaite de bonnes fêtes, de la part de moi et Gérard. Ouais, ben moi aussi. Et puis, un joyeux nouvel an, quoi. Ben, passe une bonne année. Pense pas trop sur l'alcool, quand même. Passe une bonne fête de fin d'année 98. Ouais, ben toi aussi.
Ben, on va essayer. On va essayer, c'est pas évident. Ciao, Aurore. Ouais, allez. Allez, à bientôt. Allez, salut. David, 19 ans, de Nantes. Oui, bonsoir. Bonsoir. Bonjour, Sandy. Bonsoir. Alors, ma question, c'est... Je voudrais savoir, en fait, quel a été ton plus beau souvenir de routier, Gérard ? Alors, mon plus beau souvenir de routier, ben... C'est de faire de la route. C'est-à-dire ? C'est-à-dire, ben... Là, tu vois...
C'est bête, parce que j'aurais préféré qu'on te garde pour ce débat. Ah, mais t'as jamais eu, je veux dire, de problème ? Jamais ? Non. T'as toujours bien vaché ? Jamais de dérapage, ni rien ? Ah, ben, si. Ça va faire 4 ans que j'ai eu ça, hein. Ah, d'accord. OK. OK. Et c'est tout ? Ben, oui. Et sinon, j'ai entendu Sandy qui parlait d'un voyage, tout à l'heure. Eh ben, moi, je suis prêt à lui offrir un voyage au fin fond de mon lit. Qu'est-ce que ça l'attend ?
Attends, Gérard, Gérard. La question, ça ne reste à Sandy, pas à Gérard. Mais c'est un voyage, pour combien de temps ? Ben, ça ne reste pas dur, avant longtemps, je te le dis direct. Tiens, à mon avis, l'auditeur, il fait ça rapide. Pour une journée, ou pour deux jours, ou pour une semaine ? Ah, non, non, non. C'est un précoce, l'auditeur. 5 minutes, 5 minutes, 5 minutes. Oh, ben, 5 minutes, ça ne m'intéresse pas. Non. Rigo, on est combien sur l'Internet, s'il te plaît, avant qu'on accueille Bertrand ? On est 4367,4, ce qui n'est pas mal. Ça monte, ça monte, ça monte.
Allez-y, je veux 6000 personnes avant la fin. Et même Sandy vous dit, allez-y, foncez, allez sur l'Internet. Faites comme le Téléthon, donnez vos dons, donnez vos dons. Soyez généreux. Voilà. On accueille Bertrand. On peut peut-être déjà dire au revoir, quand même, à l'auditeur qui était avec nous. David, on te souhaite de bonnes fêtes de fin d'année. A toi aussi. A la prochaine, ciao. Salut. Alors, Bertrand, 25 ans de Lyon. Oui, bonsoir, bonsoir à tous, bonsoir l'équipe.
Salut Gégé, salut Sandy. Bonsoir. Salut. Avant toute chose, je voulais vous souhaiter une bonne Saint-Valentin. Merci. Non, ce n'est pas la Saint-Valentin. Non, mais à l'Avance. À l'Avance, oui, c'est bientôt. Qui vous a rappelé. À l'Avance. Moi, en échange, je te souhaite de bonnes fêtes de fin d'année. C'est gentil, je te remercie. Moi, je voulais vous poser une question qui concerne votre avenir. Je voulais savoir si vous aviez l'intention d'avoir une grande famille et donc d'avoir des enfants très prochainement dans l'avenir futur. Non, attends, je ne veux pas prendre le choker. Ah ben non.
Je voulais juste savoir si vous allez avoir des miens. Qu'est-ce qu'il se passe ? Non, il y a eu un problème avec Manu. Non, non, non, ce n'est pas Manu, c'est toi. Ah, pardon. Non, non, ce n'est pas Fildar. Donc la question, Sandy. Sandy, la réponse. C'était quoi déjà ta question ? C'est pour quand les gamins ? Voilà, les miens. Une grande famille. Les tiens ? Non, les tiens. Non, les vôtres. Ah, les nôtres. Les nôtres. Oui, ben, les enfants, tu vois, ça se fait à deux. Ouais. Donc, je pense que l'enfant, il viendra quand il viendra. Pour l'instant, on essaye le tout pour le tout, mais bon.
Vous essayez en ce moment d'avoir un enfant ? Ouais. Non, mais ça, ça ne te regarde pas, toi. Non, mais c'est le jeu de la vérité, Gérard. Je te pose une question. En fait, il faut dire la vérité dans le jeu de la vérité. C'est normal. Moi, je vais te dire une chose. J'essaye le tout pour le tout. Ça ne vient pas. Ça ne vient pas, c'est tout. Et vous faites comment ? Vous faites comment pour essayer ? Qu'est-ce que tu appelles le tout pour le tout ? Moi, je reste zen. Je fais, tu vois, je reste cool. Bon, ben, si ça vient, ça vient. Si ça ne vient pas, ben, tant pis. Tu as une érection, Gérard, quand même ? Ça demande ou pas ? C'est vrai que cette question s'adresse à toi. Non, mais moi, je pose Joker.
Ben, tu n'en as plus. Tu l'as déjà posé. Non, il y a un Joker. Il n'y a pas trois Jokers. Non, il y en a trois Jokers. Ah, tu n'as pas d'érection en ce moment, mais c'est normal. Tu as laissé tous tes Jokers, déjà ? C'est pas de ta faute. Gérard, est-ce que Sandy ? Ben, non, moi, je pense qu'un enfant, ben, ça vient quand ça vient. C'est pas... Mais, ouais, moi, ce que je voulais savoir, si vous faites une portée, vous pouvez m'en garder un, petit chihuahua ? Ouais, c'est ça, Tony. Non, c'est pas Tony, Gérard. C'est pas la voix de Tony. Il ne faut pas confondre avec les chiens et puis les personnes humaines. Mais le vétérinaire, il en pense quoi ?
Ça peut marcher, un cachalot avec un sanglier ? Ça va le faire ? Qu'est-ce que tu entends parler par cachalot et je ne sais pas quoi ? Baleine et puis, ben, ouais, sanglier, quoi, c'est clair. Non, mais là, on ne parle pas des animaux. On parle juste de nous deux. Moi et Gérard, on n'est pas des animaux. On est des personnes humaines, tu vois, comme toi et moi. Moi, je pense qu'un enfant, ça vient quand ça vient, c'est tout. Maintenant, les animaux, ils font ce qu'ils veulent. S'ils ont envie d'avoir des petits, ben, ils font ce qu'ils veulent. Moi, ce que je dis, c'est qu'il faut peut-être chercher les causes de pourquoi le gamin, il n'a pas envie de venir. Est-ce que c'est une question d'hygiène ?
Cette non-envie de venir de la part du gamin ? Mais non, non, non, attends, attends, attends, Bertrand. Moi, je vais te dire une chose. Ça dépend de l'homme et la femme, d'accord ? Vous avez de quoi l'accueillir ? Ben oui, oui, oui, t'inquiète pas, t'inquiète pas. T'inquiète pas, il y a ce qu'il faut. Là-dedans, j'ai tout ce qu'il faut. Donc, si j'ai besoin de quelque chose, j'ai une roue de secours. Gérard, sur l'IRC, la plupart des gens comprennent parfaitement pourquoi l'enfant, il ne veut pas venir. Donc, s'il y en a qui...
qui pouvaient préciser sur l'IRC... Leur nom ? Non, mais qui nous disent à peu près ce qu'ils en pensent, eux. Ben, il y a le gérard masqué qui dit que t'as des couilles au cul, mais je vois pas le rapport. Non, mais ça, ça n'a rien à voir. Ça aide pas pour la reproduction. Comment ? Je dis que ça aide pas pour la reproduction d'avoir des couilles au cul. Non, mais tu sais, il y a bien des singes en voie de... De disparition. De disparition, donc ça fait comme des enfants. Ouais, c'est clair. Ouais, parce qu'il y a des enfants qui sont...
Ouais, ben écoute, merci du conseil. Ben, de rien. En conclusion, je voulais dire, vive l'avortement. Ben, ouais, ben... Moi, je vais te dire une chose. Là, je suis contre. Alors là, je vais te dire une chose. C'est terminé pour toi. Au revoir. Allez, salut. Non, non, attends. Pourquoi t'es contre, Gérard, l'avortement ? C'est le jeu de la vérité. Tu réponds, laisse-le parler. C'est vrai que moi aussi, je suis contre. Pourquoi vous êtes contre ? Moi, je suis pas d'accord parce que si tu veux un enfant, dans ce cas-là, c'est la personne qui le veut.
On s'amuse pas à se faire avorter. Mais c'est pas qu'une personne qu'ils veulent. C'est les deux personnes. C'est les deux personnes. C'est le couple. Ils sont à deux pour le faire. Donc, si on se fait avorter dans ces cas-là, moi, je suis pas d'accord. On tue un être humain. Donc, il est hors de question qu'on tue un être humain là-dessus. Voilà, on prend ses précautions avant. Il faut se protéger. Il y a des moyens pour se protéger. Il y a le préservatif et la pilule. Donc, c'est pour ça que je vais pas m'éterniser là-dessus. Voilà. Donc, Fildar, on s'écoute.
T'as sur l'IRC qui dit que si vous y arrivez pas, c'est qu'il y a incompatibilité gégétique. Ça, ça dépend parce que ça peut être très bien aussi... Ça peut provenir aussi bien de moi que de Sandy. Ah, OK. Mais moi, de toute façon, je suis bien placée sur la question parce que comme j'ai déjà eu un enfant, donc je sais ce que c'est. Et moi, je sais que je peux en avoir. Donc, voilà. Donc, on s'écoute. On s'écoute le TGV avec Va plus vite, il faut que j'arrive à l'heure.
Et on se retrouve tout de suite après pour le dernier... Le dernier... Auditeur. Le dernier auditeur pour le droit de réponse. Vous pouvez nous appeler au 0800 308 5000 0800 75 000 et toujours l'IRC www.rfr.radio pour les débats qui vont porter sur les routiers. Après... À tout de suite ! Et joyeux Noël à tous !
Et voilà, vous venez d'écouter... Le TGV va plus vite parce que je risque d'arriver en retard. Voilà. Donc, vous êtes au 0800 308 5000 et 0800 75 000 et toujours Manu qui vous attend en standard. Donc, W... Et puis, Rigaud qui vous attend sur l'Internet www.fr.radio. Tout à fait. Et on est combien, Rigaud, s'il te plaît, là, maintenant ? On est à peu près comme tout à l'heure. On est 4424,8. Oh, non, mais attends ! Il est minuit.
Il est 0h56. Ils sont encore à table, là. Faut les laisser le temps. Bah ouais, mais... J'ouvre une parenthèse simplement pour dire, puisque tu salues les gens de l'Internet, pour saluer les gens qui viennent nous voir. Bah oui, mais je sais... Qui viennent de partout. Il y a un routier qui est passé à l'instant. Bah oui, je l'ai vu. Et il y a encore des gens qui viennent devant la radio pour visiter les locaux. Il y a pas mal de personnes qui viennent. Et là, vous n'allez pas... Le macro qui est venu, là, spécialement, ils vont aller aux putes, mais ils sont venus de dire bonsoir. Il est de Cannes. C'est un mec, un ancien dealer.
Deux auditrices. Oh, la vache, elle lui fait la bise. Oh, la vache, t'as pas peur. Sandy. La belle Sandy. Il y a le bulldog mystère, là-bas. Le top modèle. Je t'en prie, Gérard. Bah, attends... À la tienne. Salut. Je t'en prie. Oh, bah quoi ? Ah, trop fort. Et alors ? Encore, vous avez pas vu. Moi, je suis là. Oh, la vache. Mais attends, c'est ce que je veux. T'es à moi, maintenant. Ouais, mais tu me fais mal aussi. Tu tapes trop fort.
Pas trop fort. Il y a une personne. Heureusement qu'elle est là. Elle est forte. Il y a une personne qui va... Bah, j'ai la pêche. Ah, la patate, hein. Voilà. Sans déconner. J'aimerais bien avoir la banane, aussi. T'as pas la banane ? C'est une patate. Non, non, j'ai pas la banane. C'est toi qui as la banane. Ah, la banane du curé. Merde. Elle est où ? Tu sais où ? Entre mes jambes ? Bah, voilà. Elle est trouvée. On y va, on y va. Allez. Il y a une personne qui va vous parler. C'est un de tes copains qui est venu ce soir ? Ouais, mais ça, tu sais très bien qui c'est.
C'est qui ? C'est le seul. C'est le seul qui a voulu venir pour fêter Noël avec nous. C'est le seul. Parmi tous les auditeurs. L'invité mystère, vas-y. Bonsoir. Ah. Et là, tout le monde l'a reconnu, bien sûr, c'est... Bonsoir. Alain Le Beig. Voilà. Bienvenue, Alain. C'est le seul. C'est le seul qui est venu parmi tous les habituels. C'est le seul qui pouvait, donc. Voilà. C'est tout ce qu'on pouvait dire, quoi. Vas-y, Alain.
N'aie pas peur. Arrête, arrête. Bonsoir. Donc, on va accueillir... Le dernier. C'est qui ? Alain. Alain, tu restes zen. Ouais, ouais, il reste zen, Alain. Bon, ouais. Tranquille, hein. Ouais, tranquille. Tranquille. Tranquille, hein. Enfin, ça me fait plaisir que tu sois y venu. Ça fait plaisir à Max. Et que tu sois resté, surtout.
On est que les trois à être là. Bah oui, mais... Hé, hé, Gégé. Mais non, mais non, mais Max, c'est pas pareil. Lui, c'est le chef. Mais non, mais lui, c'est le chef. Parmi tous ces habituels. Gérard. On est que les trois. Gérard. Oui. Tu dis qu'on est tous les trois, d'accord, mais il y a quand même Max, il y a quand même Manu, il y a quand même tout le monde. Mais non, mais... Et il y a tous ceux qui sont derrière le poste de radio, aussi. Ouais, mais il y a tous ceux qui nous écoutent, il y a tous ceux qui viennent nous faire un petit coucou. Ça, on les remercie. Oui, on vous remercie, là.
Donc... Du fond du cœur. Donc, venez. Venez encore nombreux, si vous voulez, jusqu'à 4h du matin, de toute manière. On va tenir jusqu'à 4h. Surtout sur Internet. Et l'Internet, Rigo, s'il te plaît. Oui, c'est moi. Ouais, donc, combien ? Pour bouger ? Si, si, ça n'arrête pas de monter. Là, on est à 4524 moins 2. Ça va, ça booste. Bon, bah, ça va. Donc, Rigo... Oui, c'est moi. Non, c'est Manu. Non, non, excuse-moi. Manu, c'est qui ? C'est Audrey, tu l'as devant toi. Audrey.
Bonsoir. Audrey, 19 ans de New York. Bonsoir, Audrey. Bonsoir, Gérard. Bonsoir, Sandy. Bonsoir, Alain. Bonsoir. Bonsoir. Alors, moi, c'est une question. Je voulais savoir si vous étiez déjà fait cocu. C'est-à-dire si Gérard avait fait cocu Sandy et Sandy avait fait cocu Gérard. C'est une très bonne question. C'est ce que j'allais dire. Bah, écoute, moi, non. Je pense pas que, tu vois, quand tu es dans un couple, ça se fait pas... Si t'es avec quelqu'un, c'est pas normal si tu vas voir ailleurs ou alors si t'aimes pas vraiment la personne.
Ouais, mais ça peut arriver des fois comme ça. Oui, c'est vrai que ça peut arriver. Tu peux flasher pour quelqu'un, mais pas forcément pour aller coucher tout de suite avec elle. Oh bah, pourquoi pas ? Sauf si la personne n'est pas visible. Non, je te demande. Moi, je vais te dire une chose, tu vois. Je suis fidèle à Sandy. Ça va faire un an qu'on est ensemble. Eh ouais, déjà. Ça va faire un an que je la supporte. Eh moi, je te supporte aussi. Gérard, est-ce que t'as déjà trompé Sandy avec elle ? Non. Jamais ? Non. Et moi, jamais non plus.
J'irai pas voir ailleurs. J'irai pas voir ailleurs parce que je l'aime de trop. Même pas si t'as un super canon. Non, non, non. Gérard, il y a Anonyme sur l'IRC qui dit que tu mens. Non, c'est faux. Elle se rappelle de toi. Qui ? Je la connais pas. Anonyme. Je la connais pas. Elle veut pas dire son nom. Elle veut pas dire son nom, elle est Anonyme. Moi, je te connais pas, Anonyme, sur l'IRC. Donc, voilà. Donc, Anonyme, si tu pouvais préciser, comme ça, je pourrais avoir des renseignements, quoi. Ok. Non, parce que Gérard,
moi, je me rappelle tous les deux... De quoi, de quoi, de quoi, de quoi, de quoi ? Bah, toi et moi. Ah bon ? Quand ? Quand, quand, quand, quand ? Bah, c'était le mois dernier. Ah, le mois dernier, ça m'étonnerait parce que j'étais encore avec Sandy. Ah bah, ça n'empêche, hein. Non, non, non, non, non. Là, tu dis des mensonges. Tu peux préciser le jour... Précise, précise, précise. Précise. Je précise, je précise. Précise le jour, la date et l'heure. Et où, comment ? Le jour, la date et l'heure, bah, c'était le 27.
Il était... Le 27 de quel mois ? Bah, du mois dernier. Donc, on est... Le mois de novembre. Le 27 novembre, vas-y. L'heure ? Il devait être une heure ou deux du matin, je ne sais plus. Pardon, pardon, pardon, pardon. Je me suis trompé de bouton. Et Gérard, en attendant, il y a Anonyme sur l'IRC qui dit que c'était le 18 06 98 nu dans sa piscine. Non, c'est faux. Donc, je ne la connais pas. Elle a des photos. Elle m'a dit qu'elle allait les afficher dans Suren. Ah bah, c'est bien.
Et puis en plus, c'était très bien. Ouais. Ouais, ouais, ouais. Non, non, moi je pense pas. Non, non, t'es une menteuse. Tu vois, moi j'ai confiance en Gérard et je pense pas qu'il me ferait une chose pareille. Là, tu mens. Et si par exemple, un jour, Gérard, tu vois, je sais pas, ça peut arriver, tu vois, il te trompe, est-ce que tu lui pardonnerais ou pas ? Non, je crois pas. Qu'est-ce que tu ferais ? Moi, je pardonne pas, moi. Tu te barres. Tu te casses, tu le laisses. Ouais, je prends mes affaires et je m'en vais, quoi. D'accord, bah fais gaffe à toi, Gérard. Moi, je suis comme ça. Non, mais t'as raison, c'est normal.
Alors, elle dit, là, devant des millions d'auditeurs, mais en fin de compte... Ah non, mais je te jure, je pardonne pas. Mais non, mais attends. J'ai même pas pris mon joker, alors tu vois. Et alors, t'as pas besoin de joker, tu réponds à toutes les questions. Bah oui, donc toi, t'as pris tes trois jokers et puis moi, j'ai pas pris mes jokers, donc... J'ai répondu à toutes les questions. Bah alors, tu prends tes clics et tes claques et tu te casses. Bon, bah c'est sympa, alors. Voilà, c'est tout. Bah alors, toi, c'est pareil. Tu prends tes clics et tes claques et tu t'en vas, comme la chanson de Mélilique,
c'est quoi déjà ? Bye bye. Hé, Mélilique ! Bye bye ! Ah, c'est Mélilique qui chante bye bye ? Bah oui. Non, bah si, il chante bye bye, mais si tu veux, dans la chanson, tu prends tes clics et tes claques et tu te casses. N'importe quoi, ça a jamais été Mélilique. Mais si, c'est Mélilique. C'est MC Solar. C'est MC Solar. Alors ? Mais non, c'est pas MC Solar. Mais c'est MC Solar. Non, non, non, non. Mais c'est MC Solar, on l'a encore vu ce matin à 7h à la...
à la télé. Attends, arrête de dire des bêtises. Non, parce que Mélilique, je le reconnais, c'est à coiffure, donc... Ah ouais, bah bien sûr, il est coiffé comme toi. Non, non, non, pas tout à fait. Non ? Ah, avec Léopatra. Juste avec des petites tresses, quoi. Ouais, avec Léopatra. Pas comme moi. Ouais, mais c'est vrai que t'es... Eh, c'est vrai, sans déconner. Ouais, sans déconner. Sans déconner, comme Max il dit. Sans déconner, c'est vrai que t'as une tête de Cléopatra, hein. Ouais. C'est quoi pour toi une tête de Cléopatra, Gérard ? Eh, Cléopatra, c'est celle qu'on voit, là, sans arrêt. Ah, oui, d'accord. C'est vrai, hein.
Comment la petite, là ? Audrey. Elle s'appelait Audrey. On a répondu à ta question, Audrey ? Bah ouais, ouais. Mais bon, Gérard, t'as pas dit la vérité, quoi. Bah moi, j'ai pas dit la vérité. Moi, je t'ai dit que je suis toujours fidèle à Sandy et j'y resterai. Bah ouais, mais... Jusqu'à la fin. Jusqu'à la fin. Jusqu'à la fin. Non, mais ça se trouve, c'était un autre Gérard. Tu t'es peut-être trompé. Non, non, mais attendez, attendez, attendez, attendez. Ouais, faut peut-être arrêter les conneries. Parce qu'il y a des gens qu'on a marre d'être... qui sont harcelés.
Qui sont harcelés. Attends, Gégé... Elle veut pas le dire. C'est perso. Non, non, non, mais vas-y. Tu l'as vu. Tu as eu un rendez-vous avec elle. Enfin, avec lui, pardon. Tu l'as vu et tout ça. Ah bon ? Ah bon ? C'est bon ? Avec elle. Avec elle, avec elle, avec elle. C'est bon. Alors, vas-y. Donc, tu peux préciser plus ta pensée, là ? De quoi ? Tu veux que je donne des détails ? Ouais. Attends, je peux donner des détails ? Non, c'est perso, ça. Attends. Non, moi, je suis d'accord avec elle. Si elle veut garder ça pour elle,
elle le fera dans neuf mois, au pire. Ouais, voilà. Parce que t'avais pas mis de capote, je te signale, et moi, je prends pas la pilule. Non, non, bon, allez, on va s'arrêter, là. Non, non, bah, allez, c'est bon. C'est bon, donc. Audrey ? Ouais ? Bah, on va te souhaiter de bonnes fêtes de fin d'année. Ouais, bah, OK. Ouais, bonnes fêtes. Et puis, bah, à l'année prochaine, si tout va bien. D'accord. OK ? Donc, on va se retrouver, là, maintenant, pour attaquer les débats. Ah, le débat, ouais. Donc, le débat sur les routiers. Donc, on va... Il y a Manu et...
Manu, qui est au standard. Ouais. Donc, qui vous attend, les bras ouverts. Donc, 0803 08 5000. Rigaud, toujours sur l'Internet, au www.fr. Donc, si vous voulez nous appeler, n'hésitez pas. On est là. Et si vous voulez toujours passer, voir comment ça se passe dans les studios, c'est fini, là. Je pense que... Le chef, il vient de me faire... Hop ! Le chef, il m'a fait... Hop ! Il m'a fait... Hop ! Ça fait trois jours que tu me dis.
Comment on va faire visiter, surtout, personne pendant tes débats ? Et maintenant, t'arrêtes pas de demander aux gens de venir pendant tes débats. Bah, alors ? Non, bah, non. C'est toi qui as demandé à ce qu'il y ait personne. Bah, alors ? Bah, dans ce cas-là, on laisse la porte ouverte. On relance pas une annonce. C'est bon. Bah, si. Bah, si. Maintenant, c'est les concerts. On va... Attends. Maintenant, c'est les débats. S'il y a des gens qui veulent venir... Débat sur les routiers. Et voilà. Donc, s'il y a des gens qui veulent venir, donc, ils peuvent venir. Mais pas trop nombreux dans les studios. C'est tout ce que je demande.
Attendez la pub. C'est... Ouais, bah, attendez longtemps. Ouais, d'accord. La pub. Vous attendez la pause musicale. Je viendrai vous dire un bonjour. D'accord, ok. Bon, ça, c'est notre problème. D'accord, ok. Bon, bah, alors, les débats sur... Enfin, le débat sur les routiers. Le débat sur les routiers. Trois heures de débat. Il y a... 120 questions. Il y a 23 questions. Et que de la bombe, hein. Ouais. Et c'est de la bombe bébé. Comme dirait... Je sais pas qui, là. Ça, c'est... Ayam. Ouais. Et donc... Ayam.
on va garder... Cléopatra est toujours là. Cléopatra va réagir quand même. La bombe bébé, c'est réciproque. Chicho. La bombe bébé, Chicho. Fais-moi plaisir. C'est Noël. C'est Noël. Faites la fête. On va mettre un petit remix. On le mettra tout à l'heure. Faites la fête maintenant. Faites la fête.
Faites la fête. Faites la fête. Faites la fête. Tu peux arrêter deux minutes ? Je propose un truc. Tant qu'il n'y a pas les 6500 connectés sur Internet, on ne le met pas. Non. Ça les forcera à venir. Ça les forcera à venir. Non, non, non. Ce n'est pas toi qui commandes, c'est moi. D'accord. On le met alors. C'est moi. On y va. On se retrouve dans un instant, c'est ça ? On se retrouve tout de suite après aux 0803, 085000 et 0875000. Il n'y a plus qu'une personne au standard, c'est Manu. Ce n'est pas grave. Oui, mais toi, tu vas y retourner. Oui, d'accord. D'accord, mon canard.
Ok. Ok. Et c'est quoi là qu'on s'écoute ? Naromix.
Comment ? Comment ? Alors là, c'est une très bonne question. Ah, bon ? D'accord, je vois. Celui qui fait du bruit derrière, arrête. Parce que ça commence à m'énerver. C'est moi qui commande. Mais non ! Hey, hey. Sans déconner. Sans déconner.
Non, non, non. Attends, je t'écoute. C'est moi qui t'écoute maintenant. Tu réponds à la question ou si tu réponds pas, on va te dire pas.
Bonne nuit. Bonne nuit à toi. Allez, celui-là, dégage. Fais gaffe là-bas parce que j'ai l'air de faire avaler tes lunettes si tu fais le con. Mais attends, tu te fous de moi, toi ? Quoi ? Quoi ? Parle un petit peu plus fort devant ton combiné parce que j'ai un téléphone de merde. Toi, tu as l'air de faire sodomiser, toi. Sans déconner.
Remix ! Remix ! Remix ! Remix !
Remix ! Remix ! Remix !
Remix !
Il y a Gilbert, il y a Patrick, il y a pas mal de gens. Il y a pas mal de gens, donc je remercie tous les gens. Et il y a d'autres personnes encore qui sont en haut à l'accueil. C'est des routiers, hein ? Ouais. Il y a des triplés routiers, en plus. Derrière, juste derrière. Bon, toi, pour l'instant, tu as de terre et c'est tout. Non, mais c'est une routière qui est venue spécialement. Elle va livrer bientôt dans la Haute-Savoie. Elle est venue te dire bonsoir. Ouais, mais de toute manière, en fin de compte... Ah, les canons, hein, si t'étais célibate, si t'étais pas maqué. Non, mais je sais bien.
Moi, j'ai mon bébé. J'ai mon bébé rose. Je le garde, mon bébé rose. Non, s'il te plaît. Excuse-moi, là, je me porte en faux. C'est pas ton bébé rose, merci. Attends, toi, t'étais bien contente ? Ouais, bébé rose, c'est moi. Donc, toi, c'est bébé vert, bébé marron, bébé ce que tu veux, mais bébé rose, c'est moi. Ouais, mais t'étais bien content quand t'avais Aurélie, là, dans les studios, hier. Mais Aurélie, je lui ai rien dit, moi, Aurélie. C'est rigolo, hein ? Menteur ! Menteur, menteur.
Allez, sans déconner. Allez, sans rancune. On y va. 1h17, c'est parti. On accueille sans problème 20 ans de Niort. On écoute Fun Radio sur 93.3. Bonjour, Gérard. Bonjour. Joyeux Noël à toi. Bon anniversaire. Ah bah, d'accord. Toi, t'es vachement en avance. À l'avance, à l'avance. Chute 19 ans de Laval, 102.3. Oui, tout à fait. Salut, joyeux Halloween à tous. Salut à bébé gros.
Comment ? J'ai dit salut à bébé gros. Euh... Là, tu vas te calmer, toi. Allez, hop. C'est Noël, on écoute. Ouais, c'est Noël, Gégé. Allez-vous, allez-vous. Tranquille. Non, non, hé. Tu me l'attrapes et tu me le calmes déjà, lui. Ça y est, il commence déjà à faire sa somme dictature, le latin. Allez ! Hop. Couille de loup, 23 ans de Toulouse. On écoute Fun Radio sur 105.9. Bonsoir. Bonsoir. Petit téton, 18 ans.
Presse, 98.9. Oui, bonsoir et joyeux Noël. Eh ben, de même à toi. Euh... Raisin sec, 25 ans d'Alès. Bonsoir, joyeux Noël. 96.5. 65. Euh... 96.6, pardon. 65, genre. 96... 96... 95.6. OK. On écoute Fun Radio sur 95.6. Oui, si tu veux. Allez, hop. Allez, hop, il dégage, celui-là. Allez. Oh ! Vous avez vu, calmez.
La suite, Gégé. Eh... Poil de nez. Oui, bonsoir. 20 ans de Nantua. 99.4. Bonsoir, Paris. Bonsoir, Goumaud. Salut à toi. Parle bien dans ton téléphone, hein, Poil de nez. Ouais. Pardon ? Ouais, parle un peu mieux dans ton téléphone et... D'accord, mais je suis dans une cabine en pleine campagne, donc ça, c'est pas nouveau. Oh là là là là là ! C'est un portable, c'est un portable ! Non, non, c'est pas un portable. C'est ici, c'est un portable. C'est pas nouveau, bon. Oh, vous vous calmez, c'est pas vous qui commandez, c'est moi. OK, on y va, Gégé. OK.
Donc, c'est le débat sur les routiers, hein. Tu le rappelles, voilà. Donc, la question, excuse-moi, parce que j'ai pas écouté. Bon, la question, de toute manière, t'as pas besoin de l'écouter, toi. Ah, d'accord, bon. Toi, tu fais la réalisation, tu me donnes les fiches avec les titres de chansons. D'accord. OK. Rigaud, oui ? Oui. Bonsoir. Bonsoir. Débat sur les routiers, oui, tout à fait. Donc, y avait pas une petite question avant qu'on...
Spoutnik qui te demande comment il doit faire pour manger sa dinde de Noël avec des baguettes au resto chinois. Ah, là, je sais pas. Là, je sais pas du tout. Donc, la question, donc, un routier peut-il conduire 24h sur 24 sans s'arrêter ? Allez, hop ! Non, mais merci, Fildar. Mais ils sont là, les auditeurs, Gérard. Non, mais bravo, Fildar, tu commences. Bravo, Fildar. Bravo ! Bravo ! Bravo ! Bravo ! Bravo !
Je pense qu'il n'y avait aucun auditeur. Un routier peut-il conduire 24h sur 24 sans s'arrêter ? Impossible. On va demander à 100 problèmes. Pas de problème. Impossible. 24h sur 24, c'est impossible. Il y a quelqu'un qui mange. Non, mais... Non, mais ça dépend. Il dort, mais qu'il fasse autre chose.
Attendez, déjà, pas tous en même temps, parce qu'on ne comprend rien, s'il vous plaît. Vous coupez la radio. Qui c'est qui a une radio pourrite, là ? Elle est pourrite, ta radio, en plus. Pas moi non plus. Pas moi non plus. Qui c'est qui a une radio ? Je remercie celui qui met le son, parce que j'ai l'image, je n'avais pas le son. Gérard, il met de Goldorak, Manu... C'est bon, c'est bon, il gère, Manu.
Vas-y, Gérard. Alors, chute. Chute, à toi. C'est bon, je le calme. Bon, d'accord. C'était chute qui mettait Goldorak, c'est pour ça. C'est parce que je suis fan, je suis fan. Alors, tu peux... J'ai connu des routiers qui conduisaient beaucoup plus que 24h d'affilée, ça dépend à quoi ils tournent. Et moi, je dis, il y a des routiers qui ne respectent pas les consignes de sécurité, qui conduisent beaucoup plus que ce qu'ils devraient. Parce qu'il y a des accidents, comme d'habitude. D'accord. Oh, on se tait !
Si on est du routier qui tourne aux enfaites, je vais dire, ça sera conduit 72h, 96h de suite sans problème. Ils partent de Amsterdam, ils vont jusqu'à Tomboucou direct. D'accord. De toute manière, ce n'est pas la question. Bah si, il est routier, c'est quand même... Non, non, mais ce n'est pas la question, d'accord ? C'est international. Ce n'est pas la question ! Oh là là. C'est pas le thème du débat. Oh, le grand stratégaire ! Oh yes ! Oh là là ! Oh là là ! Eh putain, vous ne me faites pas là ! Oh, Manu, Manu, Manu. Bon, allez, stop. C'est bon.
Allez, Gérard. Oh, euh... Faut... Faut peut-être que tu te calmes, Manu. Gérard, sur IRC, il y a Sardine, le vrai de Marseille, qui te dit que s'il n'y a pas de feu rouge sur l'autoroute, il peut ne pas s'arrêter pendant au moins 120h, le routier. Non, mais attends, les feux rouges, je ne vois pas le rapport avec... Un routier peut-il conduire 24h sur 24h ? Bah si. Non, mais je ne vois pas le rapport avec les feux rouges. Ah si, s'il n'y a pas de feux rouges, il ne peut pas s'arrêter de rouler. Bah ouais, mais attends. Un routier qui conduit 24h sur 24h,
déjà, je n'en ai jamais vu. Bah alors, c'est quoi ta question ? Justement, c'est une question que je pose. C'est une question con. Bah ouais, si tu sais que ce n'est pas vrai, pourquoi tu poses la question ? Parce que... Parce que cette question-là, elle n'a jamais été posée lors qu'on a fait les débats sur les routiers. Donc c'était important de la poser, parce que comme ça n'avait jamais été fait... Gérard, sur IRC, on me demande si c'est que des questions à la con, comme ça, pendant tout le débat. Si ça ne leur plaît pas, c'est qui qui te demande ça ? C'est un peu tout le monde.
Fais gaffe, parce que si tu leur dis à tous de se casser, on va être mal. Donc, on va demander à Chut. Ouais. Bah écoute, moi je voulais te dire que des routiers qui conduisent plus de 24h, comme je t'ai dit tout à l'heure, il n'y a aucun problème. Ouais. Si Manuel Générix fout la main, si tu prends Steve Austin, il conduit largement plus de 24h. C'est pas moi l'arrière. Si tu prends Steve Austin, il peut conduire largement plus de 24h. Lui, c'est un show aussi, quoi. Ah bah ouais, non, mais je veux dire, ça, c'est du super routier, quoi. Ah, c'est clair.
Ouais, bah ouais, d'accord, t'as raison. Tu ne prends pas parti des ports, toi ? Ils ne prennent pas l'avion, Gérard. Non, non, mais tu ne prends pas parti des ports ? C'est important que tu transportes les cochons, alors, en France. Pourquoi tu veux tout de suite citer le nom de Manu ? Ah ! Tu n'as pas parlé de Manu, je t'ai demandé comment t'avais fait la fête. Manu, je l'ai vu en live, il n'est pas gros. Comment t'avais affrété ta meuf ?
Dégage-moi ce abruti, là. Ok, ça y est. Ah, tu vas voir, toi. On va s'occuper de toi, hein. Je vais savoir qui c'est. Qui c'est qui s'amuse à parler de Sandy ? C'est Robert. Non, il n'y a pas de Robert. On n'a pas de Robert, là, sur la liste. Gérard, à propos de Sandy, il y a Olio qui te demande combien de temps tu roules sans t'arrêter.
Je ne roule pas, je t'assure, mais bon, je ne peux pas te répondre à cette question. Tu flottes, alors, si tu ne roules pas. Donc, je prends un joker. Ce n'est pas le jeu de la vérité, c'est les débats. Alors, couille de loup. Moi, tu vois, je pense que ça dépend. En fait, s'il a pris du speed, il peut aller rouler plus de 24 heures. Je ne sais pas s'il roule plus vite aussi, ça dépend de la vitesse, en fait. Ça dépend à quelle vitesse il roule. Non, mais attends.
Facilement, plusieurs heures. Moi, je vais te dire une chose. Tu as déjà vu à combien ils sont limités, les routiers ? Ah ben non, moi, je ne suis pas routière. Non, tu n'es pas routière. 20, 30 à l'heure, je crois. Oui, c'est ça. Qui c'est qui vient de dire ça ? Chaudreau, Chaudreau. Qui ? Ils sont limités à combien, Gérard ? Toi, tu peux peut-être leur dire. Alors, limitation de vitesse. Manu, tu vas me faire du bon boulot.
S'il te plaît, pour la dernière. Gérard ! Il y a des routiers, ce soir. Il y a des routiers avec toi, en plus. Ils vont confirmer. Oui, je l'ai vu. Donc, il pourra le confirmer. Donc, je pense que les routiers sont limités à 80. Tu peux le confirmer ou pas ? 60, 80, voire 90, pas plus. C'est faux ! 90 sur autoroute. C'est faux ! Non, non, laisse-le réagir. Laisse-le s'exprimer. Non, non, mais c'est un vrai routier. 90 sur autoroute.
Ce n'est pas vrai ! C'est une honte ! Ce n'est pas vrai ! Attends, toi. Toi, avec ton vélo, tu roules à combien ? 91. 91 km heure. Tu fais moins le malin. Mais attends, ton vélo, on te le prend entre deux camions, tu n'as plus de vélo. C'est une boîte à conserve. Oui, mais moi, je prends ton camion entre deux vélos. C'est moins le malin. Mon camion entre deux vélos, tu as raison. Prends... Ouais. Donc, petit téton. Oui, bien sûr, il peut conduire...
Oh, ta gueule, toi ! Ça s'appelle des routiers somnambules. Ah, d'accord. Des routiers somnambules. Tu as vu jouer ça dans Spirou Magazine ou dans Tintin Milou ? Non, dans Mickey. Ah, dans Mickey. Moi, je crois que j'ai vu jouer ça dans L'île aux enfants avec Casimir. Ne cherche pas à être drôle, Gérard. Ça ne marche pas, Gérard. Gérard, sur IRC, il y a Sean qui te demande de répéter la question. Ah non, je ne répète plus les questions, maintenant. On accélère. Raisin sec.
Alors, les routiers, ils sont limités à 230, normalement, non ? Bien sûr. Pourquoi pas 250 km heure aussi ? La dernière fois, j'étais à 140, je me suis fait doubler par un camion. Alors, je ne comprends plus, maintenant. Euh, Gégé ? Ouais ? Si son problème, ça ne te dit pas, on fait une petite pause pendant un quart d'heure et on met le son de Goldorak. Non, non, non, non, non, non. Alors, son problème, terminé pour toi. Est-ce qu'il joue de la guitare, là ? Non, personne ne joue de la guitare. Non, non, Actarus. Euh, Poil Donné.
Tu n'as pas répondu à ma question. Qui ? Raisin sec. Alors, vas-y. Je t'ai demandé comment ça se faisait que j'étais à 150 sur le tour de route et qu'un camion m'a doublé. Non, mais attends. Tu étais avec quoi ? Avec ma voiture. Gérard, ça peut rouler au maximum à combien, un camion, un semi ? Un camion, de toute manière, on a confirmation, c'est limité à 90. Non, mais c'est limité. Mais si ça dépasse la limite, ça peut rouler à combien ? Non, il n'y a pas de si il dépasse la limite. Il y a son mouchard.
Il y a un petit voyant rouge. Donc, le mouchard, pour préciser, pour ceux qui ne sont pas routiers, qui n'ont pas l'habitude de le faire, et là, on a deux... Ils peuvent confirmer. On a des routiers qui sont là, qui peuvent confirmer. Donc, le mouchard, c'est là où qu'on met le disque pour savoir à combien qu'on roule et tout ça. Donc, c'est un boîtier comme un... Attends, parce que tu dis que ce n'est pas un lecteur CD pour mettre le disque, c'est un radio cassette. Non, mais c'est à peu près comme ton disque.
Oui, c'est ça. Tu as le disque qui tourne... C'est un lecteur cassette, CD. Même, non. On appelle ça des mouchards. Oui, les mouchards, ce sont ceux qui disent des... Non, non, non. Comme les Kleenex, des trucs comme ça ? Mais non, attends, toi... C'est exactement ce qu'on demande à un salarié. Non, non, non. Là, on a des routiers. Donc, on peut confirmer. Les mouchards, c'est un truc où tu mets ton disque. Tu mets ton nom. Ton disque CD ou vinyle ? Mais non, tu mets un disque normal. Tu prends ça.
C'est faux ! Mais arrêtez vos conneries, putain ! Mais moi, c'est ce que je dis. Alors, toi, tu t'écrases, ok ? Ouais, non, mais attendez. Un disque, c'est un genre de truc comme ça. Ah, une feuille de papier. Non, mais qui est trouée là. Montre bien, parce que les gens ne voient pas bien, peut-être. Là, tu as tout ça. Tout ça, c'est un disque. Et tout de suite... Ah, tu fais une horloge, comme une radio. C'est une horloge. Mais si tu n'as pas d'horloge, tu peux mettre quoi ? Non, tu ne peux pas.
Tu ne peux pas. Réveil ! Non, non, tu ne peux pas. Pas de réveil ? Non, non. Non. Ah bon. Tu ne peux pas machiner là-dessus. Ah, tu ne peux pas machiner, surtout. Alors... Je voulais dire quand même que les routiers, c'est des grosses balances, quand même. Ta gueule, là, toi. Toi, la balance, tu sais où tu vas terminer, toi ? Là. Ah ouais, ah ouais, ah ouais. Gérard ? Excuse-moi. Vas-y, Manu, vas-y. À la place de sans problème, on accueille n'importe quoi. Euh... Je vais te dire une chose. Attends, tu permets sans problème ? Euh... Il n'est plus là, il n'est plus là. Il est parti sans problème.
C'est n'importe quoi. N'importe quoi. Ouais. Je vais te dire une chose, Manu. Ouais. Pas comme toutes les semaines. Ah, excuse-moi. Dis plus rien, parce que sinon, ça fera plus d'une chose. Là, tu ne peux pas dire... Tu ne peux pas dire sur les 24 lignes, parce qu'il n'y en a plus que 12, mais... Ouais, ouais, non, mais je voudrais qu'on prenne un peu, là. Sur les 12 lignes, Manu. Donc, c'est comment, son nom ? N'importe quoi. N'importe quoi. Attends, Gérard, j'ai lutté pour essayer de vous joindre. Ouais, donc, tu peux répondre à la première question ? Bah, j'ai pas entendu, j'étais au standard avec Manu. Alors, la première question, donc, je la rappelle,
parce que tout le monde a à peu près fait le tour. Donc, n'importe quoi pour toi. Je répète. Un routier peut-il conduire 24 heures sur 24 sans s'arrêter ? Euh... Si c'est mon argent. Oui, je pense, oui. S'il prend de la caféine. C'est ça, t'as raison. Et celui qui dit « fais chier maman », c'est ton... C'est mon argent. Ouais, c'est ça. Et celui qui fait le porc, c'est pareil. Il n'y a personne qui peut m'enregistrer l'épisode de Goldo en DVD ? Non, non, non, non, il n'y a personne qui peut t'enregistrer Goldo en DVD.
Il est monté sur moi, c'est tout. Oh... Gérard, tu parlais des mouchards. Moi, je voulais savoir quelle est ta théorie sur le Morbac. Non, il n'y en a pas. Alors, comment s'organise un routier ? Attends, Paul Donnet, il n'a pas répondu. Non, vas-y. Bon, alors, tu parlais de... C'est quoi déjà la question ? Oh, allez, tu me prends pour un con, là. Allez, va retirer tes poils de nez. Allez, hop. Hop, terminé. Va retirer tes poils de nez. Je m'en souviens. Non, non, c'est bon, c'est bon. Joyeux Noël à toi.
Va retirer tes poils de nez. Hop, terminé pour toi. Alors, comment s'organise un routier quand il s'ennuie ? On va demander ça à n'importe quoi. Je pense qu'il se tape une grosse branlette. Alors, tu peux... Vas-y. Rigo, attends, attends. Justement, à ce propos, il y a un misto sur l'IRC qui dit que 99% des routiers se branlent quand ils se font chier et l'autre pour cent sont des neuneux. Alors, là, je vais te dire une chose. Qui c'est qui a dit ça sur l'IRC ? Misto. Misto.
Je vais te dire une chose que là, tu as ouvert la réponse dans peu de temps parce qu'il y a des routiers qui sont là. Toi, tu ne peux pas répondre. Ils peuvent confirmer. C'est bon. Ils peuvent confirmer que c'est faux. Non, non, non, c'est faux. Il ne faut pas déconner. Attendez. Il ne faut pas. N'importe quoi. Putain, il fait la transformation. Excuse-moi. Donc, Gérard. Bon, allez, hop. Attends, il fait la transformation. Non, non, non, non, non. Non, non, ouais. Je ne sais pas d'où ça vient.
Gérard. Gérard. Allez, allez, allez. Manu. Manu, bosse un peu. Putain, autrement, tu dégages. Rigo. Non, non. Tu le tais, toi. Non, il y a juste Misto qui dit que si tu ne fais pas partie des 99% qui se branlaient, c'est que tu étais un neuneu. Et alors ? Tous les routiers ne se branlent pas dans leur camion. Attends. Tous les routiers ne sont pas neuneux. 99%. Tous les routiers ne sont pas des cochons comme la question va être posée. Donc, je...
Je sais qu'il n'y en a pas beaucoup qui sont sur les routes, malheureusement. Ah, pourquoi ? C'est les fêtes. Quoi, il y a du gel ? Eh non, mais... Ça gèle ? Non, mais il n'y a pas de routiers. Ouais, vas-y, toi. Je voulais juste te dire qu'à la place de Poil Donné, on accueillait Sandrine, c'est tout. Alors, Sandrine, bonsoir. Non, non, c'est bien, ça. Oui, bonsoir, Gérard. Salut, Sandrine. Salut, Sandrine. Bonsoir, c'est Sandrine de France. Ouais, c'est ça, Travelo. Bon, vous fermez un peu vos gueules. Ok, super. Merci.
Ah, on va peut-être plus avoir de confirmation, mais c'est pas grave. Salut, les routiers. Salut, les routiers. Salut à vous. Bonne route, vous êtes sympas. Bonne bourre. Bonne bourre et prudence sur les routes. Ouais. Passez la deuxième, quand même, des fois. Sortez couverts, les mecs. Gérard. Oui ? C'est Sandrine. Est-ce que je peux avoir la question ? Parce que Manu m'a pris sur le standard. Ouais, ouais, ouais. En plus, il est sourd. Oh, tu te tais, toi. Ferme-toi, s'il te plaît. Moi, ça va. Alors, comment s'organise un routier quand il s'ennuie ? Oh, putain, mais vous me faites ça, mec !
Bon, moi, j'arrête à 3 heures, hein. Allez, hop ! Allez, allez, allez. Manu, c'est quoi, ce bordel ? C'est nul. Nul, nul, nul, nul. Faut me mettre à l'aréa, moi, je pense. Allez, on va s'écouter, Sacha, avec Fête la Fête et La Grosse. Et on se retrouve après pour la deuxième question. Comment s'organise un routier quand il s'ennuie ? A tout de suite.
Sous-titrage Société Radio-Canada
...
...
...
... ... ... ... ... ... ... ... ... ... ... ...
... ... ...
... Et voilà, c'était Saga avec Fête la Fête et... Saga Africa ? Non, c'est Saga avec Fête la Fête à La Grosse. Donc, c'était dédié pour... La Grosse ? Pour ma petite femme que j'aime de tout mon cœur. Avant de recommencer avec les auditeurs, j'ai un petit sondage sur l'Internet.
Alors, c'est de paradoxe. Alors, attention, parce que ça défile très vite. Alors, sondage reçu par l'AFP. 15% des routiers sont des maniaco-dépressifs. 23,78% sont en proie à de gros problèmes sexuels. 36% prennent du Viagra. 3% sont sans emploi. Et 90,3% auraient préféré être CRS. Parce qu'ils ont le même QI. Euh... CRS, non, je vois pas trop le rapport.
N'importe quoi, bonsoir. Bonsoir, Gérard, comment vas-tu ? Re-bonsoir. Chut, derrière, vous fermez vos gueules. Oh putain, mais... Oh, Manu ! Faut gérer un peu, là, parce que ça commence à bien faire. Chut. Il y a un mec qui fait le malin, derrière. Oh là là, Goldorak, Manu ! Ça vient pas de chez moi ! Oh, moi, j'en ai ras-le-bol, là !
Mais y a personne ! Regarde un peu, y a personne en air ! Putain, tu as bossé comme il faut, toi ! Mais y a personne, ça vient pas de moi, hein ! Si t'as pas envie de bosser, ce soir de Noël, tu retournes voir ton bébé rose ! Mais y a personne ! Tu nous fais chier, là ! Ouais, c'est vrai. D'accord, retournez voir ton bébé rose ! Ouais, d'accord. Ouais, Gérard, on y va, on y va. Euh, chut ! Ouais. Ouais, d'accord, euh... Couille de loup ! Ouais. Re-bonsoir. Bonsoir. Petit téton. Oui. Re-bonsoir.
Raisin sec ! Raisin sec ! Oui ! Ouais. Oh, tu travailles ou quoi, là ? Excuse-moi, ça va ! Eh, Sandrine ! Dis le trableau ! T'es sourd ! C'est-à-dire GG. Moi, je kiffe bien sur tes pantoufles internes. Bon, alors... Celui-là... Il dégage ! Il dégage ! C'est Pedro qui a dit ça ! Bon, vous fermez ! Maintenant, vous allez vous la fermer ! Ok. Allez, hop ! Eh, Gérard ! De quoi ?
Comment ? Tu voudrais être routier ? C'est qui ? Petit téton. Petit téton ? Ben, tu retournes voir Manu, il va... Il va... Gérard, elle te pose la question. Est-ce que t'aimerais redevenir routier ? Non. Pas pour l'instant. Pourquoi ? Parce que j'ai une bonne place. C'est tout. Alors, maintenant, comment s'organise... Comment s'organise un routier quand il s'ennuie ? Sandrine. Alors, Sandrine, vas-y, le trableau. Alors, la question de facilité, ce serait de dire, bon, la branlette, mais à mon avis, c'est pas ça.
Donc, un routier, qu'est-ce qu'il va faire ? Il va chez Ypres. Je donne pas la marque de la station au service. Ouais. Il va acheter des cassettes de cul. Ou alors, des calendriers de cul, de la bouffe, et tout ça. C'est quoi, ça ? C'est la solvée. Et voilà. Merde en figure ! Putain, Manu, Manu, Manu ! Voilà, Gérard. J'essaie de gérer, ça y est. Non, mais si tu veux, on peut arrêter à 3h.
Parce que c'est ce qu'on va faire, on va pas faire les deux débats. Parce que là... Non, mais moi, ça m'emmerde pas. C'est toi que ça emmerde. Parce que toi, pour l'instant, t'es en train de me foutre de la merde. Ça se voit que c'est le dernier débat de l'année. Parce que t'es pas avec ton bébé rose. Et moi, je suis pas... Moi, elle est là, mais on n'a pas fait de réveillon encore. Gérard, pour revenir au débat, il y a Chandler, le vrai, sur l'IRC, qui te demande qu'est-ce qu'il faut faire comme étude pour devenir routier.
Justement, ça, c'est dans le deuxième débat. Donc, c'est pas maintenant. Gérard ? Oui ? C'est Sandrine, donc j'ai pas fini. Ouais, vas-y. Parle dans ton téléphone, Sandrine. Pardon ? Parle dans ton téléphone. Ouais, mais attends, attends, Sandrine. Toi, tu recommences pas ce que tu viens de faire. Parce que c'est toi qui t'amuses à... Non, c'est pas moi qui mets Goldorak. Non, non, tiens. Ah, tu vois, c'était pas moi. Tiens, tiens, tiens, tiens. C'est pas parce que je mets main là que je mets Goldorak. Parce que tu veux que je te le mette, Goldorak, tu vas avoir un autre son, regarde. Ah, ouais, ouais.
Ça, c'est Goldorak. C'est mon Goldorak, c'est pas l'auditeur, là. Ouais, ouais, ouais. Tu vois ? Ouais, ouais, c'est ça, allez. Laisse-le. Toi, il y a une différence. Bon, allez. Bon, Gérard, c'est de la bombe, c'est un épisode. Gérard ! C'est Sandrine, j'ai pas fini, donc. Bon, alors, dépêche-toi. Le routier, s'il s'ennuie vraiment, à mon avis, ils peuvent même aller jouer aux flippers, style Sugar Ray, par exemple, les flippers qui marchent pas, ou la PlayStation. D'accord. Gérard, résin sec. Ouais. Alors, je voulais dire que, bon, les routiers, quand ils s'ennuient,
ils peuvent appeler leur famille, hein. Ils sont pas tout seuls, ils doivent avoir des enfants, aussi, les routiers. Non ? Ben, à mon avis, s'ils sont sur la route, ils peuvent pas être chez eux, hein. Non, mais ils peuvent avoir un portable pour appeler de leur route. Petit téton ! Ben, ils écoutent la radio. Ah, d'accord, carrément, toi. Ben, écoute, c'est une réponse intelligente, hein. Ah, ouais, ben, je vois. Euh, couille de loup. Non, moi, je pense qu'il doit se taper une grosse.
Gérard ! Ah, ta gueule. Oh ! Oh, vous gâlez un peu ! Ouais. Bon, allez, vas-y, cochon. Couille de loup ! Attends, la cochonne, attends, merde, toi ! C'est pas une cochonne, c'est une salope ! Oh ! Oh, tu calmes tes nerfs, toi, ou je te calme ? Ouais, c'est clair, arrêtez. Ben, heureusement que je suis pas marié avec lui ! Parlez pas comme ça aux chiennes, mec. Oh ! Gérard, on pourrait revenir un peu dans le débat avec les auditeurs, parce que c'est n'importe quoi. Ouais, mais c'est n'importe quoi, tu demanderais,
t'es à l'hôte, là. Manu, on pourrait revenir dans le débat, parce que c'est n'importe quoi, là. Non ! Gérard, à propos du débat, reviens dans le débat, Gérard, s'il te plaît. Tu m'écoutes ? Oui, Rigo. Il y a Rainbow, le vrai arc-en-ciel, qui te demande si un routier a une prime pour Noël s'il travaille pour le réveillon. Ah, c'est une bonne question, ça. Voilà la question que je m'attendais. Mais ça, c'est dommage qu'il soit parti. Ah, ils peuvent plus approuver, là.
Une prime, non, mais être payé double, oui. C'est faux. Attends, toi, tu fermes ta... ta gueule, hein ? Tu fermes ta gueule, et tu me fais du boulot correct, ok ? C'est tout ce qu'on te demande, Manu, merde. C'est tout ce que je te demande, avant que je te mette une claque dans... Dans le museau. Fais le con.
Fais le con. Tu vas voir tout à l'heure. Tout à l'heure, tout à l'heure, tu vois ce qu'il reste de coca ? Allez, on y retourne, Gérard. On y va, on y va, on y va. Alors... Chut ! Ah, on n'est plus en antenne, c'est bon. Chut ! J'ai pas répondu, ouais. Allô, Gérard ? Oh, ta gueule, toi. Oh, putain, ferme-la, couillon. Ouais, Gégé, on va... Ta gueule, un peu. Voilà. Gégé, c'est chute ? Ouais. Moi, je voulais te dire que j'ai connu des routiers qui, quand ils s'emmerdaient, bah, tout simplement, ils classaient, ils avaient des collections de calendriers de cul. Allô, Gérard ?
Ils classaient leurs calendriers de cul, bah, quand ils se faisaient chier, quoi, pour couper. Et je voulais savoir si tu confirmais. Oui. Gérard, t'as même pas écouté la question. Ouais, c'est pas poli, Gérard. Tu sais, j'ai très bien compris, et je vais te dire une chose. Vas-y, dis ta chose. Vas-y, dis une chose, Gérard. Moi, je peux vous dire une chose, que les routiers n'ont pas de calendriers de femmes à poil dans leurs camions. C'est faux ! Vous mentez tous ! Vous êtes tous des menteurs ! Vous êtes tous des menteurs ! C'est faux !
C'est faux ! C'est faux ! N'importe quoi ! C'est pas pareil ! Je suis là, je suis là, je suis là ! Qu'est-ce qu'il y a, Gégé ? Tu réponds à la question ? J'ai déjà répondu tout à l'heure, donc, voilà, quoi. Je t'ai déjà dit que, quand ils se faisaient chier, ils se tapaient des petites pignoles dans leur cabine. Non, ça dépend. S'ils sont à deux, ils s'en couillent. S'ils sont à deux, ils s'en couillent. S'ils sont à deux, ils s'en couillent. Troisième question.
Allez, Gérard ! Allez ! Allez ! Attendez, Gérard est en train de dealer un truc. Mais non, il n'y a pas Tony ! Arrête tes conneries ! Il n'y a pas Tony ! Gérard, pour calmer le débat, il y a Scone sur l'IRC qui souhaite un joyeux Noël à tout le monde, quand même. C'est sympa. C'est bien, on te souhaite un joyeux Noël aussi, à toi. Moi, je t'emmerde, toi. Peut-on tricher sur les puces de paille d'un routier ? Ta gueule ! Tu peux m'écouter ? Peut-on quoi ? Peut-on tricher sur une puce de paille d'un routier ? Tout à fait.
Alors, n'importe quoi. Oui, je pense. C'est possible. C'est possible, non ? Tu pirates ton salaire, et c'est bon, il n'y a pas de problème après. Tu gagnes le pognon que tu veux par mois. D'accord. Chut ! Moi, je pense qu'on ne peut pas tricher sur une puce de paille d'un routier. Tu peux préciser ? Vu les sommes qu'il y a, je crois qu'il n'y a pas de quoi tricher. De 1 franc, tu passeras à 2 francs. Oui, mais ça ne fait pas tricher. Couille de loup !
Oui, non, moi, je ne pense pas, parce qu'ils ne doivent pas avoir le QI assez élevé pour pouvoir piger comment on fait. De quoi ? Non, je dis, je ne crois pas qu'ils doivent être assez intelligents pour comprendre comment on fait pour falsifier la feuille. Non, mais attends. Peut-on tricher ? Peut-on tricher sur les puces de paille d'un routier ? Je vais te dire une chose, c'est que c'est le patron qui triche. Ce n'est pas le routier, d'accord ? C'est faux ! Toi, Manu, tu fermes ta gueule, maintenant. C'est faux ! Bon, Manu, tu dégages, tu pousses le camp à l'arrière. D'accord !
Non, non, non, non, non. Si, si, si, si, si, si. Non, mais attends. Non, mais c'est bon, attendez. Faites un débat correct, on verra après. Non, non, mais attends, pour l'instant, il est en train de me foutre de la merde. Euh, petit téton. Eh, tu viens chez moi, après, Gérard. Ta gueule ! Je peux parler ? Oui, ben, je ne sais pas du tout répondre. Non, mais, eh ! Oh ! Quoi, qu'est-ce qu'il y a, Gérard ? Oh, Max ! Eh, tu lui demandes qu'il me passe du bon boulot, là,
pour la dernière de l'année, ou pas ? J'étais pas là, moi. Non, t'étais pas là. T'étais où, bâtard ? T'étais où ? J'ai arrêté ma cassette vidéo, là. Ouais, t'as arrêté ta cassette vidéo. Moi, de toute manière, on ne va pas durer jusqu'à 4h du matin. Eh, tu viens chez moi, après, Gérard. Bon. Qui c'est qui a donné tout ça aux auditeurs ? J'ai personne. J'ai personne à l'antenne. Non, non, non, non, non. C'est pas possible, là. Allez, hop.
Hop, envoie-moi la musique. Attends, j'ai pas de disque, là, Gérard. Envoie ! Envoie ! Je m'en fous, je veux pas le savoir. Envoie la musique. Allez, hop. Envoie la musique. Bah, attends, je vais en trouver, alors. Je veux pas le savoir, tu te démerdes. Tu m'envoies un truc. Attends, attends, moi, j'ai des questions pour toi, pour calmer le débat, auxquelles tu peux répondre. Alors, il y a... Attends que je retrouve. Il y a Chandler, le vrai sur l'IRC, qui te demande combien représente le salaire d'un routier. Bah, justement, ça...
On se calme, les gars, on se calme un peu. La question, on n'en est pas là. Non, mais réponds, réponds. La question, combien... Non, mais Gérard, à chaque fois que je te pose une question, tu dis, c'est pas la question, on viendra plus tard. Réponds tout de suite. Combien gagne un routier ? Voilà. Bon, un routier, à l'heure actuelle, si tu veux, gagne entre 10 000 et 15 000 francs. Donc, selon là où il s'en va. Oh là là ! Bon, toi, toi,
tu vas me faire du bon boulot. Mais, Fildar... Attends, je cherche. Non, non, mais tu cherches, tu vas pas chercher longtemps, parce que sinon, sinon, le débat, il s'arrête et on va laisser Rousseau. Ouais, attends deux secondes, j'ai trouvé un truc super, là. Non, non, mais je m'en fous. On peut pas laisser Rousseau, il joue à la PlayStation. La disco ? Tu veux de la disco ? Bah, je m'en fous, tu mets ce que tu veux, mais moi, soit que Yannin, il fait du bon boulot. Non, mais si Manu faisait du bon boulot, il n'y aurait pas de problème. Soit qu'on fait du bon boulot, on continue.
Soit que j'arrête maintenant. C'est simple. Gérard ? Et si j'arrête maintenant, on est combien ? Non, mais non, on n'arrête pas, là. On est presque 5 000, on est 4 852 moins 4. C'est très bien, j'aimerais bien qu'on booste bien. Les gars ! Et il y a quelqu'un, je me rappelle plus qui c'est, sur l'IRC, qui te demandait le salaire, ça fait combien en euros ? C'est pas la question. En euros, là, je peux pas trop lui répondre, parce que l'euro, il est à 6... Non, il est à 5,57. Non, 6,50.
6,50, oui, pardon. Il est à 6,50, ça devrait faire 6 500 euros. Oui. À quelque chose près. Il y a des milliers d'euros, de soi. Au lieu de dire que je sais pas et de bouffer ton gobelet quand Maxi parle, tu la fermes et tu me calmes les auditeurs. Avant que moi, je te calme. Bon, alors les gars, on refait de réunion. Gérard, qu'est-ce que t'as à dire ? Pour un cent... Eh oui, eh oui, filard, fais du bon boulot. Pour un cent.
Oui. Rigaud, c'est bon. Mais l'autre, parce qu'il est pas avec son bébé rose, il fout de la merde. Il est en train de nous foutre de la merde. Non, c'est pas vrai, je te bosse bien. Mais si, mais si, mais si. Non, je fais du bon taf. Mais non, pour un cent, t'es en train de me faire de la merde, on est à la troisième question, et il y a 23 questions en tout. Eh ben, on a le temps jusqu'à 4 heures. Ouais, ben, tu crois que je vais durer jusqu'à 4 heures ? Ça m'étonnerait. Bah si. Je crois pas. Parce que c'était prévu qu'avec Maxi, ça se passait mal,
t'es à 3 heures, et je pense que je vais arrêter à 3 heures. C'est bien, là, pourtant, parce que... Alors, on va s'écouter Moby Dick avec des prouts. Des prouts en plus, et on se retrouve aussitôt après.
Pour ceux qui sont encore en plein réveillon, ben, bon réveillon de Noël. Ça m'étonnerait qu'il y en ait encore à 2 heures qui mangent la dinde. Ah bon ? T'inquiète pas, il y en a encore. On peut la manger jusqu'à quelle heure, la dinde ? Je sais pas. Il y a peut-être des mecs qui baisent. Manu ! T'éteins ton micro pour deux mots maintenant, et tu t'écrases. D'accord ! Je disais, il y a peut-être des mecs qui baisent ! La dinde ! Bon, tu t'écrases, c'est tout. D'accord ! Donc, je sais qu'il y en a...
qui sont sur les routes. Ouais. Donc, prudence à eux. Ils font réveillon sur la route ? Non, peut-être pas. Non, non. Oui, Rigaud. Oui, je voulais juste dire qu'on a dépassé les 5000. Ouais. On est à 5123,4. Ouais. Donc, si tu peux les remercier. Ben, je remercie tous ceux qui sont... C'est pas assez. Tous ceux qui sont sur l'Internet. Donc, je vous souhaite un joyeux Noël. C'est pas assez, hein, 5000 fois. Et une bonne et heureuse année 99, parce que j'aurais pas l'occasion de... de vous avoir pour le réveillon.
Ouais. Donc, ben... Voilà. Voilà ce que je peux vous dire. Donc, on récupère n'importe quoi. Eh, tu viens chez moi, après, Gérard ? Ah, ta gueule, à toi ! Oh là là ! Ouais, c'est moi. N'importe quoi. Ah, je vais passer à l'entrée, d'ailleurs, là, dans 5 minutes. Oh là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là là Et je baisse dans une demi-heure. Et moi, je t'emmerde. Je t'emmerde. Bon, allez, on se dépêche. Bon, n'importe quoi. Eh, tu viens chez moi, après, Gérard ?
Bonsoir, Gégé ! Joyeux Noël à toi ! Chut ! Ouais, salut. Bon 14 juillet à tous. Ouais, c'est ça. Joyeux Pâques. Couille de loup. Ouais, salut. Petit téton. Salut. Raisin sec. Non, excuse-moi, il est parti. On n'a que Jean-Pul, à la place. Non, mais alors, attends. Manu ! Ouais ? Un conseil que je te donne. Ouais. Tu vois, tu fais une chose, tu me prends,
sur les 12 lignes qui sortent. Ce que j'ai fait, c'est un nouveau. Non, non, non, non, non, non. Bah si, je suis désolé. Tu prends sur les deux lignes. Alors, c'est comment ? Jean-Pul. Jean-Pul. Ouais, mais attends. Jean-Pul. Ouais. Non, Jean-Pul. Bon, alors, tu te démerdes, tu me fais une fiche propre. Ouais, une fiche propre, Gérard. Quand même. Alors, la question, ben, peut-on tricher sur les fiches de pays d'un routier ? Donc, je pense que vous avez réfléchi. Ouais. Donc, ben... Oui ? Oui, tu m'as oublié. Ben,
je t'écoute. Rebonsoir, Gérard. Ben, rebonsoir à toi. Donc, allez-y, posez... Ouais, c'est chute. Ouais, chute. Ouais, moi, ce que je voulais dire, c'était que si les routiers, il fallait qu'ils trafiquent leurs fiches de pays, il faudrait déjà qu'ils sachent compter. Non, mais attends. Attends, attends. Attends, chute. Chute, chute, chute, chute. Chute. Chute. Écoute-moi bien. Oui, chute. Peut-on tricher sur les fiches de pays d'un routier ? Oui, ben, justement. S'il faut qu'ils trichent... Attends, celui qui rentre derrière, arrête ! Jean-Pul. Jean-Pul.
Il faudrait qu'ils sachent compter. Et je pense, bon, je me permets d'émettre un léger doute, quoi, tu vois. Mais je croyais que ça se faisait par ordinateur, maintenant, les fiches de paye. Ouais, mais de toute manière, il faut se dire une chose, qu'il y a certains patrons qui trichent quand même sur certaines fiches de paye. Ouais, mais sur les leurs, pas sur celles de leurs employés, si. Jean, à peine. Ils retirent de l'argent sur leurs payes, alors ? Bon, alors. Mais comment ça se passe ? Un routier, c'est payé au kilomètre ? Comment ? Non, c'est pas payé au kilomètre, en fin de compte.
Comme une personne... Oh, t'as de jolle ! D'accord, c'est... Maintenant, tu m'emmerdes, toi. Ouais. Voilà. Donc, tu disais, GG ? Non, mais, en fin de compte, c'est pas payé... Au kilomètre ? Au kilomètre, c'est payé comme toi et moi. Non, mais c'est payé comme toi et moi. D'accord. Par exemple, le mec, il va rester... De nuit, ça va être payé un peu plus cher. Et ainsi de suite. D'accord. En fait, il doit faire...
Il doit faire 39 heures par semaine, comme un employé... Ah, non, non, non ! Non, c'est pas 39 heures ? Non, non, parce qu'il faut se dire une chose, que les routiers, à l'heure actuelle, passent plus de temps sur les routes que chez eux. Donc, il faut bien se dire... Il faut bien se mettre à la place d'un routier. Je y ai été. Donc, je peux savoir ce que c'est. D'accord. Et je vais te dire une chose, que... Bon, j'ai pas fait de la route. Ouais. Mais ceux qui font de la route ne sont pas tout le temps là. Ah, d'accord. Gérard ? Oui, Rigaud ? Il y a Sardine de Marseille qui te demande
des routiers abandonnés par leur camion sur les aires de repos de l'autoroute. Euh... Des routiers abandonnés... Des routiers qui font du stop pour rentrer chez eux les week-ends, oui. Mais des routiers abandonnés, non. Jamais. Ouais. Gégé ? Oui ? Oui, je voulais savoir... On m'a dit qu'être routier, c'était un métier qui nécessitait de la sueur. On disait que c'était un métier dur, qu'il fallait transpirer et tout. Et je voulais savoir si c'est pour ça que, dès tout jeune, tu avais trouvé ta vocation dans ce milieu-là. C'est clair. Euh...
Ouais. Laquelle ? Laquelle ? Laquelle ? Laquelle ? Oh ! Tu te tais, toi ! Ouais, vas-y, j'ai répondu. Un routier. Donc, c'est toi qui viens de poser la question. C'est comme... C'est chute, c'est chute. C'est chute. Ouais. Donc, ta question, tu peux me la reposer, s'il te plaît ? Ouais, donc, je te disais, il paraît qu'être routier, c'est un métier qui demande de la sueur et de la transpiration. Et je voulais savoir si c'est ça qui, dès ton enfance, t'avais quand même donné ta vocation pour savoir ce que t'allais faire plus tard. Alors, moi, je vais te dire une chose. Qu'un routier transpire beaucoup,
ça, c'est vrai. Parce qu'il faut se dire une chose, que certains routiers sont obligés de décharger. Pas tous. C'est clair. Mais certains. Ouais. Donc, d'autres, quand ils arrivent, ils sont dans la cabine, ils dorment et... Oh là là ! Celui-là, il va se faire virer une fille, non ? Manu ! Non, mais continue, Gégé, continue. Manu, tu fais ton boulot correct ou pas ?
Tu fais ton boulot correctement ou pas du tout ? Ou tu pires ? Ah, correctement, correctement. Ou tu retournes voir ton bébé rose ? Ouais. Gégé, t'en étais au problème de décharger. Donc, t'as certains routiers qui sont obligés de vider leur camion, d'autres, non. Pourquoi ? Parce que quand ils arrivent, ils se mettent hackés, ils sont dans leur cabine et ils dorment. Ouais, mais pour... Oh là là ! Pour le problème de la douche, Gégé, ils font comment, les routiers ? Parce qu'il y a un lit à l'arrière du camion, mais il n'y a pas de douche. Non, mais ça...
Ça, pour les douches et tout ça, ils s'arrêtent dans... Bon ! Je réponds à Chut. Ça, pour cette histoire de se laver, ils peuvent s'arrêter dans des aires de repos. Il y a des douches, spécialement, qui sont dans les aires de repos, qui peuvent se laver et tout. Ouais, mais ils ne se lavent pas souvent, du coup. Si, si, si, si, si. Et je voulais savoir si, toi, pourquoi, depuis que t'avais arrêté le métier, t'avais quand même gardé des manières de routier, quoi ?
Même si t'es plus dans le métier, je veux dire, tu transpires encore beaucoup et tu ne te laves pas souvent et tu décharges pas mal. Non, non, mais attends, je transpire beaucoup parce que là, il n'y a même plus de ventilation dans les studios, je ne sais pas pourquoi. Ils ont déménagé la ventile, hein. Ouais, mais là, ça devient inadmissible. Euh... Gérard ? Ouais. Gérard, il y a le vrai canard vissé sur l'IRC qui te demande pourquoi les routiers pissent sur le long des routes et pas sur les aires de repos. Attends, attends. Ça, c'est complètement faux.
Euh... Ouais. Non, non, non, non, non, non. Chute, tu t'es, chute, tu t'es. C'est une anecdote. Non, non, mais je réponds. Je peux prévenir tout de suite, là. Je réponds à canard vissé que c'est faux qu'il n'y ait aucun routier qui s'arrête sur les bandes d'arrêt d'urgence. Non, non, non, non, non. Les bandes d'arrêt d'urgence, ça fait pourquoi ? Pour les arrêts d'urgence. Alors, vas-y, vas-y. Le mec, il n'était pas arrêté sur la bande d'arrêt d'urgence, il était garé en triple fil sur l'autoroute et donc, il y pissait. C'est ça. Tu ne prendras pas les...
Tu ne prends pas les gens pour des cons, toi ? Non, mais c'est réel. Non, tu les laisses. C'est réel. Que transporte un routier en fin de journée ? Que transporte un routier en fin de journée ? Que transporte un routier en fin de journée ? Que transporte un routier en fin de journée ? Oui, oui. Gérard, tu m'excites avec tes moustaches. Ta gueule ! Tu m'excites avec tes moustaches. C'est n'importe quoi, Gégé, je vais répondre. Gérard, tu m'excites avec tes moustaches. Vas-y, jouis. Oui, oui, oui, Gérard. Gégé. Chute, chute, chute.
Vas-y. Je voulais te dire qu'un routier, après avoir déchargé toute la journée, à mon avis, à la fin de la journée, il est vide, quoi. Oui, mais... Il t'enrôde un sec. Ah, attends, là. Pour toi, il est vide. Ah oui, il est vide. Il t'enrôde un sec. Moi, je pense qu'à mon avis, il repart recharger pour aller vider quelque part d'autre. Ah non, il faut qu'il s'arrête, quand même. Non, non, mais attends. Tu ne peux pas décharger si tu ne récupères pas au moins un quart d'heure ou une demi-heure entre deux décharges. Non, non, mais attends, ce n'est pas un quart d'heure ou une demi-heure. Tu t'épuies si tu ne fais pas une petite pause. Ce n'est pas un quart d'heure.
Une demi-heure qui prend, c'est deux heures de repos maximum. Tu vois, donc il faut bien se reposer entre deux décharges. Maximum. OK. OK. Alors, n'importe quoi ? Oui, à part transporter des dindons et des cachalots, je ne vois pas ce qui... Bon, alors, n'importe quoi, c'est terminé. Ce n'est pas méchant. Dindons et cachalots, moi, je t'emmerde. Ce n'est pas pour toi, Gégé. Moi, je t'emmerde. Mais je te kiffe. Je t'emmerde. Hop, terminé pour lui. Bon, allez, hop, au standard. Hop. Non, non, mais c'est bon pour lui. Allez, chute.
Standard. C'est pas chute, hein. Merci, c'est chute qui a dit ça. Oh, gamin. Bon, Gégé, c'est bon. Voilà. Voilà. Lui, c'est terminé. Au revoir. Au revoir. Alors, chute. Ah, ben non, je viens de te répondre, Gégé. Je viens de te répondre, mon Gégé. Ah, tu viens de répondre ? Ah, oui, oui. Coup de loup. Tu répètes la question, s'il te plaît ? Allez. Alors, c'est la dernière fois que je répète la question. Que transporte un routier en fin de journée ? Gérard ? Oui. En attendant, il y a un rainbow, le vacancier sur l'IRC, qui te demande quand tu étais routier,
t'as été attaqué par le gang des chasseurs de routiers sur l'autoroute. Non. Des mecs qui volent les cargaisons. Ouais. Ça, c'est vrai, ça s'est produit en Russie, je crois. Il y a un routier qui s'est fait... qui s'est fait agresser. Ils lui ont piqué carrément son camion, plus la cargaison, carrément. Ouais, ouais, ouais. Ça coûte cher, un camion ? Un camion, je peux te dire une chose, c'est dommage qu'on n'aille pas,
tous là, les routiers, mais un camion, ça vaut plus de 150 000 francs. C'est vrai ? Carrément ? 150 000 francs ? 150 000, hein. Ah bah, ça va. C'est pas trop cher, hein. Ouais, bah, attends, ça dépend, ça dépend ce que tu prends comme camion, hein. Donc, euh... Oui, Rigo ? Excuse-moi, j'avais éteint mon micro. Sinon, il y a Chantelor qui te demande comment fait un routier, puisque tu disais qu'ils s'arrêtent pas... ils s'arrêtent qu'aux aires de repos pour faire leurs besoins, mais comment ils font quand ils ont la diarrhée et qu'ils sont dans leur camion ?
Ben, ils peuvent s'arrêter, mais dès qu'ils trouvent une aire de repos, hein. Ben, ça, justement, c'est des questions... Elles vont venir après, les questions, j'ai l'impression qu'internet, ils ont des questions... Non, non, non, non, non, non, non. Attends, euh... Fildar, c'est moi qui... C'est mes débats, donc c'est moi qui commande. Ok. Donc, euh... Là, pour te dire une chose, en fin de compte, on va... Oh ! Oh, t'es pas dans un salon de thé, là ? Eh ! Oh, on n'est pas dans un salon de coiffure,
c'est papa-maman, là, hein ! Bon, on s'affirme quand je parle un peu. Alors ? J'ai fermé la porte, alors, ouais. Oh, ça veut dire quoi, là ? Vous jettez dehors et c'est tout ? Ok. Vous allez jeter dehors ? Ouais, tu vas voir, tout à l'heure, toi, je vais te kiffer, moi. Je vais te mettre une bombe dans... Moi, je vais te mettre une bombe, tu vas voir. Une bombe de routier, tu vas voir ce que ça donne. Bon, ouais. Alors ? Je vais te faire une petite marque, mais bon... Fais gaffe ! Alors, on était où, nous ? On parlait de quoi, là ? Euh... Des questions, si on est...
Ah, ouais. Ouais, donc, les questions, là, sur Internet, donc, je vous en supplie, répondez aux premières questions, parce que le deuxième... Non, ils répondent pas, ils t'en posent. Bah, ouais, mais c'est la suite. Ça fera le deuxième. Tu vois, il y a Sardine de Marseille qui te demande si t'as déjà posé pour un calendrier de routier. Mais non, mais ça... Ça, là-dessus, non. Moi, je voudrais... Combien qu'on est, maintenant, sur Internet ? Allez.
5288. Oh, ça baissait, là ! Non, non, non. Non, non, non. Non, non, non. 5144, on est. Ah, d'accord. 5200. Ah, d'accord. Euh... Excusez-moi. Ouais ? À la place de n'importe quoi, on accueille Billy. Allô ? Allô, quoi ? Salut, Billy. Salut, Billy. Salut, Billy. Salut, Billy. Salut, Billy. Alors, euh... Bon, la question, que transporte un routier en fin de journée, Billy ? Tu peux répéter la question ? Merde ! Ah, ça va répondre.
Non, non, t'es en antenne, là, connard ! Bon, laissez parler le gamin, là. Allez, le gamin, là, accouche. Ouais, moi, je pense qu'il se transporte des cadeaux pour aider le Père Noël. Hein ? Tu vois pas ? Non, mon ami, je pense pas. Non, je pense que le Père Noël, il va se transporter des cadeaux, et voilà. Non, mais ça va, le mec, avec son klaxon de mariage, tranquille ? Ça, c'est un klaxon de routier, ça, hein ?
Attends, Billy, tu dégages. Ah, Gérard, Gérard, Gérard ! Au revoir, au revoir, au revoir, au revoir, au revoir ! Allez, euh... Coup de loup. Tu peux répéter la question ? Non. Mais Gérard, Gérard, c'est pas pour toi ! Gérard, attendez, parce que Billy a foutu la merde. Oh là là, oh là là, oh là là, Manu ! Gérard ? Manu ! Gérard, calme-toi, il y a Scone sur l'IRC qui te demande si les conducteurs de J9 font partie des routiers. Alors, J9, c'est des véhicules légers.
T'as une tartine ? Non, mais, euh, ça y est, ça... Merci, Cathy. Tu veux une tartine, Gégé ? Tu veux une tartine ou pas ? T'as l'air, je t'en mets tout une tartine, moi ! Tu vas l'avaler ! Ouais, deux, trois tartines, ce serait bien. Tu peux répéter la question ? Oh là là, oh, putain, vous commencez à me casser les couilles, hein ? Allez, on enchaîne. Billy, il a mis la merde, alors on n'a pas entendu. Non, couille de loup ! Ouais, ben, je pense qu'il transporte...
d'autres trucs. Tu peux préciser ? Ben, je sais pas, moi, il a déchargé, après, il remballe d'autres machins, et puis, bah, il continue sa tournée. Ah, ben, voilà, enfin ! Ah, ben, alors ! Voilà, enfin, une bonne question ! Bon, je pense qu'on a une bonne réponse, plutôt, ouais. Ben, ouais ! Ben, voilà ce que j'attendais ! Petit piéton ! Petit piéton ! Gérard, t'es beau ! Ta gueule ! Il peut tout transporter ! Allô ? Ben, je sais pas, moi, n'importe quoi ! Tu te reviens un petit peu ?
Petit piéton, là ? Ouais. C'est quoi, ça ? C'est un gros piéton ! Allez, dégage-la, allez ! Allez, hop ! Hop, hop, hop, hop, hop ! Euh, Jean-Pulle ! C'est beau ! Jean-Pulle ! Ouais, je suis là, je suis là, je suis là ! Eh ben, je sais pas, c'est pas mal ! Oh, non ! Comme un camion ! Allô ? Oh, là, là, là, là, là, là ! Bon, allez, moi, j'attaque le deuxième, hein ! Hop, terminé ! Attends, j'ai un... Ouais, Rigo ! Il y a... Attends, j'ai un... Voilà, c'est Oxyd sur l'IA3.
Qui te demande par où rentre le Père Noël dans les camions, vu qu'il n'y a pas de cheminée ? Le pot, le pot. Par, euh... Au déchagement. Par les portes. Ah, ok. Voilà. Euh, Puldar ! J'aimerais répondre. Puldar ! Il est parti chercher sa tartine. Sinon, Gérard, il y a Turcontine sur l'IA3 qui te demande pourquoi tous les routiers sont-ils vulgaires ? Euh, pourquoi que les routiers sont tous vulgaires, t'en as certains, mais pas tous. Donc, euh... Oui, mais pourquoi ? Non, non.
Non, non, il y a... Tous les routiers ne sont pas vulgaires, ça, c'est faux. Ouais, mais pourquoi ils sont vulgaires ? Non, non, non, non, non, non. C'est faux ! Non, non, il y a... Non, mais tu dis pas non quand je te demande pourquoi. Pourquoi ils sont vulgaires ? Voilà. En fin de compte, euh... On n'a jamais été vulgaires vis-à-vis des gens. Non, mais est-ce que vous êtes grossier, alors ? Euh... C'est quoi ? Est-ce que vous êtes grossier ? Euh... Dans quel sens que tu veux... Non, parce qu'il y a aussi le pape, le vrai pape, sur l'IA3, qui me dit que...
Un routier, quand tu le regardes, il fait une sale gueule, toujours. Au feu rouge ou sans être en route. Ouais, non, mais attends. On a toujours l'impression qu'un routier, c'est malheureux. Bah ouais. C'est vrai ou pas ? Bah, pourquoi ? Bah, bien sûr, ils sont malheureux. Pourquoi ? Parce qu'ils passent trop de temps sur les routes. Non, mais c'est leur métier. Bah oui, mais... De toute manière, tout le monde a... Comme je l'ai dit, euh... Dans... Dans un best-of, dans ton livre. Non, non, dans un best-of, chacun... Chacun fait... Bois midi à sa porte. Le routier, il a choisi de faire...
Faire ça, c'est son boulot. Donc... Faux ! Oh, putain, mais t'as gueule à toi ! J'ai rien dit ? Donc, euh... Les routiers... Ouais. Ont choisi leur boulot, c'est leur... C'est leur métier. Maintenant, s'ils veulent pas faire ça, bah... Ils le font parce qu'ils peuvent rien faire d'autre. Ouais, mais attends. Un routier, s'il choisit, c'est sa vocation. S'il choisit de faire ça, c'est sa vocation. Ouais, donc... Un routier, pour moi, c'est quelqu'un de...
Qui est né pour faire de la route. Qui est né pour faire de la route, dans un sens, si tu veux, oui. Mais, en fin de compte, il peut très bien changer, après. Si ça, il peut plus, il peut changer. Ah, il peut faire quoi, des chemins ? Non, mais... Il peut... Il peut changer. Il peut... Il peut se retrouver employé de bureau ou animateur radio. Ah, oui. Comme moi. Ah, oui. Voilà. T'as gueule. Donc, on s'écoute. Euh... Oh, c'est bon. Euh... Oui, alors...
Il y a Nassim qui te demande pourquoi tous les routiers ont-ils une moustache ? Si oui, est-ce que cela leur sert d'airbag ? Non. Alors, tous les routiers... Il y a des routiers qui ont des moustaches, mais ça leur sert pas d'airbag pour... Quand ils ont un accident. Donc, voilà la réponse. Sinon, il y a Sardine sur l'IRC qui dit que comme tous les routiers sont des pédés, est-ce que les lesbiennes ont le droit d'être routières ? Ah... Une bonne question. Alors, tous les routiers ne sont pas des pédés. Déjà, une pour commencer.
Non. Non. Ça, c'est faux. C'est faux. C'est faux, c'est faux, c'est faux. Voilà, c'est tout. Euh... On s'écoute. Ah, tu m'as posé une question avant quand même qu'il réfléchisse. Alors, que pensez-vous ? Pensez-vous que les routiers sont des vieux cochons ? Non, monsieur. Allez, on s'écoute. Non, non, non. Ah, bah, non, mais vas-y. Ben, couche. Mais ça, mais ton boulot, au lieu de bouffer, là, il devrait être fait. Il devrait être fait.
Les numéros de téléphone, l'Internet... Donc, alors, vous pouvez toujours nous appeler au 0870 5000 et 0803 75 000. Non, non, non. C'est pas ça du tout. Quoi ? Dis les numéros correctement. On les dit pas. Attends, je les dis pas. Je les dis pas, abruti. Non, mais les dis pas. Tu dis n'importe quoi. C'est pas ça, le bon numéro. Dis le bon numéro. Quoi ? C'est 0870 5000 et 0803 75 000 ? Non, 0803 08 5000. Eh ben, alors ? Eh ben, t'as qu'à les annoncer, toi. Ben, tu me donnes ta paye.
Et Rigo vous attend. Et Rigo, tu peux nous dire combien qu'on est, là ? Ouais, dis-le, dis-le. Ça monte, ça monte. 5 432. Ouais. Aïe, aïe, aïe. J'ai l'impression qu'avant 4 heures du matin, on va aller à 10 000. C'est faux ! Oh, arrête. 4 heures, j'ai fait une barbe, ça va être faux. Alors, on s'écoute les petits poussins avec des verres dans la raie et on se retrouve tout de suite après.
Vous venez d'écouter les petits poussins avec... Des verrues. Des verrues dans la raie. Et vous êtes toujours sur pleine radio. Il est 2h19 du matin. Donc, joyeux Noël à tous. Malgré qu'on ne l'a pas assez annoncé. Ah oui, peut-être que je ne l'ai pas assez dit. J'ai dit au moins 200 fois déjà. Ah ouais, mais alors, c'est normal. Donc, ouais, tu voulais dire quoi ? Je voulais dire qu'à la place de Billy, que t'as dégagé sauvagement, on accueille Marcel et c'est un routier.
Ah, enfin ! Marcel, bonsoir. D'accord. Salut, Marcel. Bonsoir, c'est bon. Salut, Marcel. Salut, bien. Le 27 ? Oui. Ok. Je t'appelle. Eh, qui c'est qui regarde les textes avoués, là ? Non, mais tu le calmes, là, ou quoi ? J'ai rien à calmer, moi. Non, mais ça va pas. Alors, la question... Ouais. Gérard. Allez, hop.
Oh là là ! 5 630,2. Et je salue Ice-T. Ok. Eh ben, on salue tous les gens. Eh, bousclez un peu, là. Il en manque 500, là. On salue tous les gens ? Ok. Alors, on salue... Non, mais... On salue Seb, on salue Tony. On salue... Non, il n'est pas là, il est à Lille. C'est marrant, on le salue quand même. On salue Acta, on salue Canard WC, Chamicha, Chand, Chocapic, Lisenne, Geoffroy, Ouls, Ice-T, je viens de le citer,
Le Pape, Malcolm X, Le Vrai, Ressuscité, Miss Lover, Nassim, No Live, Paradox, Sardine, Scorpion, Shun, Symbol, Thanatos, Ben non, c'est... Ça sert à rien, mais bon, c'est pas grave. Titos, Turpentine, Zirt, Keneda, Steph, Redox, Olio, Acide, Inc. Ça y est, c'est bon. C'est bon, Régo. C'est bon, ça y est. Ouais. C'est Marcel. Il y a quelque chose que je comprends pas. Ouais, vas-y. Sur mon ordinateur, je tape www.fr,
mais je n'arrive pas à aller sur le Channel Fun Radio. Alors, le Channel Fun Radio, c'est www.frfunradio. D'accord ? Merci, merci. Ok. D'accord. Alors, en de bon entendeur, salut, si tu veux pas participer au débat. Mais bien sûr que si, mais c'était juste pour me renseigner. Bah, et t'es qui, toi ? Je suis Marcel. Bon, bah alors... Alors, pensez-vous que les routiers sont de vieux cochons ? On va demander, ben...
Ouais, bah écoute, moi, je suis tout à fait d'accord pour dire que c'est des gros pervers. Ouais. Je crois qu'on peut pas nier quand même que ça se tignole dans les cabines. Et tout à l'heure, il y avait le pape, je crois, sur Internet qui demandait pourquoi il faisait la grimace. Bah, tout simplement parce qu'ils sont concentrés sur leur banlette, c'est tout. D'accord. Ok. Euh... Couille de loup ? Ouais, moi, je pense qu'il y en a plein, ouais. Il faut les voir, ils roulent toute la journée, alors forcément... Non, mais tu peux préciser le point de ta pensée ?
Oui. La façon de ma pensée, oui, c'est qu'il y en a. Jérôme ? Euh... Oui, Rigo ? Ouais, il y a Sardine de Marseille sur l'IRC qui te demande si tu peux faire une pause parce qu'il voudrait aller aux toilettes et qu'il a pas la radio aux toilettes. Copyright, copyright. Non, non, euh... Non, non. Pause caca. Non, non, il y a pas de pause. C'est plus de pause, là. Là, la prochaine pause, c'est pas avant 3h. Euh... Non, 2h30, 3h moins le quart, à peu près. Et c'était de qui, le copyright ? Oh, mec, je sais pas, je comprends pas. Bon, ok. C'est pas grave. Euh...
Ouais. Euh... Petit Tétron ? Ouais, moi, je trouve que c'est les plus délicieux et à mon avis, ils ont des photos pernos dans leur camion. Ouais. Non, moi, je te démends. Je démends ! Non, Gégé, Gégé. C'est qui ? C'est Mortel. Ouais, bah, pour l'instant, c'est pas toi que je m'adresse. Euh... J'en pulle. J'en pulle une fois, j'en pulle deux fois, j'en pulle trois fois. Au revoir ! Il est là, Gérard. Il est là, si tu croyais. Non, non, si tu croyais pas, tu l'entendrais.
Eh, Gérard, crie pas, tu fais mal aux oreilles. Ouais, bah, si tu te fais mal aux oreilles, t'es avec un wetman ? Non, non, non. Non ? T'es avec la main de ma soeur dans la chouette dans ce web ? Ouais... Tu t'en t'en pulls et on cule ta soeur ? Ok, le comique. Alors, j'en pulle. Euh... Bah, je suis d'accord. D'accord. Alors, toi, t'es d'accord sur la question ? C'est tout ce que t'as à me dire ? Euh... Bah, ouais, je suis d'accord avec toi. Ah, bah, c'est bien. Ah, bah, Sardine. C'est bien, si t'es d'accord. Sardine. Sardine.
Ouais, Sardine. Ouais, ça fait un moment que je gueule parce que j'étais pas à l'antenne. Ouais. Euh... Ouais, je pense que oui. Je pense que ce sont des gros dégueulasses et qu'ils mettent plein de poupées espagnoles dans leur... Je sais de quoi je parle. Euh... Tu peux préciser le point que t'as pensé ? Bah... En tant qu'agent de l'OT, quand ils prennent leur retrait chez eux, ils mettent des poupées espagnoles sur leur armoire. Et... Voilà. Alors, Marcel ?
D'ailleurs, je vais faire aller CTX avec la simile. Il y a tout le monde qui te salue, hein. Non, mais... Tu réponds à la question, s'il te plaît. Bah, en fait... Ouais, bon... Faut pas dire que les routiers sont des pervers. Bon, moi, j'ai quelques magazines. Mais, euh... Ça va pas à plus de 400 pignoles par jour. Donc, voilà, quand même, hein. Au revoir. Le 28, sinon. Ouais, non, mais... Je t'écoute. Il y en a un tout à l'heure... Il y en a un tout à l'heure qui va se prendre une bouteille de coca, ça va lui faire tout drôle.
Il va prendre facilement dans la gueule, ouais. Hein ? J'aime pas, Gégé. J'aime pas, Fildar. Gérard, est-ce que t'as mangé le pâté qu'un auditeur t'a offert, là ? Mais qu'est-ce que ça peut te foutre, à toi ? Non, non, parce que j'ai pas... Combien gagne un routier en euros ? N'importe quoi ! Combien gagne un routier en euros ? N'importe quoi ! Manu ! C'est la dernière fois que je te demande de faire ton boulot ! Ok. Sinon, tu sais ce que tu fais.
Tu prends tes clics et tes claques, et tu vas avoir ton bébé rose. D'accord. Ok ? Ok. Et on va mettre Sandi à ta place au standard. Ok, mais je commence à ronger, alors. Ouais. Ouais, tu peux, tu peux. C'est de la place, c'est de la place. Tu peux, tu peux. Tu peux commencer à ronger, si ça va pas. C'est de la place, Manu. Non, non, mais tu peux. Attends, attends, merde, le Sandi, d'accord ? C'est de la place, Manu. Ouais, bah attends, toi, tu dégages. Le boulot mystère. Allez, hop. C'est quoi ? Faut vider le studio, là, si t'as bien le rang. Ouais, bah, tu peux commencer à ronger.
Bah ouais. Ouais, bah, t'inquiète pas. Tu peux commencer, là. C'est la table. Manu, Manu, Manu. Eh, Manu. Ouais. Tu peux commencer à ronger, je crois. Je suis en train, je suis en train. Tu vas dégager vite fait, bien fait. Enlevez la table dans le couloir, vite. Tu vas vite fait dégager. Ouais, ouais. J'ai l'impression. Ouais. Vite fait, vite fait, hein. Vite, vite, vite. Vite, parce qu'on va mettre Sandi, là. Non, non. Fais de la place, alors. Combien gagne un euro ?
Un euro en routier. Combien gagne un routier en euro ? Sandrine. Sandrine. Je sais pas très bien, en fait. Déjà, je connais pas très, très bien ton salaire de routier, donc en euro, je peux pas trop convertir, en fait. Ouais. Alors, je vais te dire une chose, que l'euro, il est à 6,50. Ouais. D'accord ? C'est faux. Oh là là. 6,50. C'est pas moi qui dis ça. Arrête d'halluciner un peu. Toi, tu commences à me les gonfler.
Ouais. Donc, Sandrine ? 6,50, tu dis mieux. Alors, le euro, il est à 6,50, hein, Gérard. Oui, il y a Titeuf. Il y a Titeuf sur l'IRC qui te demande dans quel pays il paye en euros. Ah ouais ? Non, mais ça va, toi, si t'as envie de bailler. Non, tu te bailles pas, je fais ah oui. Non, mais attends, parce que j'ai pas trop compris la question. Rigo, tu peux me la... C'est bizarre que Gérard comprenne pas les questions. On te demande.
Dans quel pays on paye en euros ? Ben, pour l'instant, l'euro, d'une part... Bon, toi, tu... Tu t'écrases ? D'accord. Ok. Hein ? Pour l'instant, l'euro, il sort qu'à partir de... Ben, nulle part. De 6 jours. Non, putain que... Toi, t'éteins ton micro, je te dis que... Je te dis que tu prends tes clics, etc., que tu passes, tu vas voir ton bébé rose. Ok. Et tu nous fais pas fier. Hein ? Hein ? Donc, l'euro sort pas avant 6 jours.
En fait, au début de l'année. Il sort au début de l'année 99. Ouais. C'est-à-dire, pour le premier janvier 99, ce qui va se produire, c'est qu'on va avoir des pièces euros, mais on n'aura pas encore les billets. Parce que les billets sont... Ta gueule ! Merci. Donc, je disais, donc, ça va être en pièces. Les billets seront pas avant 2001, voire 2002.
Donc, pour l'instant, ça sera uniquement qu'en pièces. D'accord. En plus, il y a Canada qui dit que c'est faux. Ah bon ? Ben... N'importe quoi ! Eh ben, dans ces cas-là, si c'est faux, qu'elle écoute bien les informations, parce qu'ils arrêtent pas d'en parler, que maintenant, c'est dans moins de 6 jours qu'on a l'euro en pièces. Les billets sont pas avant l'an 2000 ou 2002. Bon, enfin. Bref. Passons. Donc, Marcel. Ouais.
Euh... J'étais en antenne. J'étais là, et Manu m'ont calmé, ou je sais pas qui c'était. Non, mais pour l'instant, tu réponds à la question. J'ai pas très bien entendu la question. Justement. Tu réponds... C'est bien que le salaire d'un routier en euros, c'est ça ? Voilà. Ok. Alors, ouais, ça doit être... Ça doit tourner aux alentours de 15, 20 euros, un truc comme ça. Voilà, Michel. Alors, c'est tout à deux. Il y en a un qui entend le calmer, c'est Manu, parce que...
Pour l'instant, il est en train de... Il est en train de me foutre du boulot de merde ! Qu'est-ce qu'il fait, Manu ? Bon, Manu... Non, il disait les routes viraux rouges, les heures à éviter, tout ça, pour les bouchons. Ça, c'est du journal en plein débat, ça. Ça doit être intéressant. Non, mais... À part ça, après... Après, il va dire... Ah ouais, mais moi, j'ai fait du bon boulot ! C'est faux. Alors que c'est faux. Pour l'instant, il me fait de la merde. Non, c'est bien, moi, je trouve. Ouais, et qui c'est qui met sa musique, là ? Bah, je sais pas, j'ai pas d'auditeur à l'antenne. Ah non, t'as pas d'auditeur. Ah non, regarde.
J'ai pas d'auditeur. Euh, Jean-Pul ! C'est moi, c'est moi ! Jean-Pul ! Y a personne, là. Non, c'est Manu. Regarde, là, c'est là. Regarde. C'est bien Gérard. C'est bien Manu. Il y avait encore de la musique. Non, y a pas de musique. C'est faux. Ils sont tous en attente, là. C'est faux. Tu vois ? Alors, tu me les mets tous en l'air et tu le suites. Allez, Manu ! Mais pas des auditeurs, la musique. Allez, Manu ! Je suis perdu. Jean-Pul ! Oui, c'est moi. Donc, c'est à toi. Euh...
- Je vais lui donner un coup de Tokyo Rock en revanche. - 4 euros ? - Oui, mais c'est peu. - A mon avis, ça m'étonnerait. - Ah non ! - Eh, attends, je veux dire... - J'en pull. - Toujours le même rang au gueule. - J'en pull. - Oui, ça sûrement. - Je veux dire une chose, ça m'étonnerait qu'un routier gagne 4 euros, parce que pour 4 euros, il travaillera pour un mec. Bon. Allez, hop. Qu'est-ce qu'il y a, Gérard ?
- Tu vas où, là ? - C'est de la faute de fil d'or, encore. - Mais non, justement, reviens. - Gérard ! - Oh là là. - Gérard, attends. Bon, Manu. - Ouais ? - C'est toi qui as foutu la merde, tu vas le chercher. - Ah, ça va pas, non ? - Attends, tu vas le chercher, toi tu combles. Ouais, parce que là, regarde, maintenant, on est... Bon, les auditeurs, vous patientez, parce que là, en fait, Gérard est sorti du studio, je sais pas pourquoi. Attendez, alors, voilà. Non. Assis. Assis, il y a Max et il y a Gérard. Allez, Gérard, assis-toi. Mais tu le calmes. J'ai rien fait, là, Gérard. Non, non, tu ne fais rien, tu ne fais même pas ton boulot.
- C'est terminé, toi. - Non, mais c'est bon, je vais le calmer. Je vais le calmer deux secondes. - Non, non, non. - Manu. Tu me demandes de le calmer, tu me demandes pas de le zapper. - Non, non, mais ouais, est-ce qu'on continue pas... - Alors, donc, silence. - Ah... - Manu. Manu. - Ouais, ouais, ouais. - Tu te calmes. - OK. - Non, mais... - Merci, chef, de m'avoir calmé comme ça. Et là, il va être calmé, hein. - Mais je m'en fous, moi. - Mais je m'en fous.
Je m'en fous, il fait son boulot correctement. Pas du tout. - Mais pense au gamin défavorisé qui écoute la radio. - Mais attends, il fait un boulot de merde. - T'as fait un peu la cité de la 94. - Mais attends. - T'es un peu le père Noël du 94, toi. - Mais attends, il fait du boulot de merde, là. - C'est quoi, ce bordel ? - Attends, c'est quoi, ce bordel ? Il me reprend même pas. Les auditeurs, il met une message de non. - Non, c'est pas vrai, j'ai un routier. - Non, non, non, il n'y a pas de routier.
- Non, c'est tout. - C'est un routier. - Non, c'est un boulot au standard. - Ouais, allez, au standard. - Ah non. - Hop, t'envoies la musique, t'es terminé. Allez, hop, passe ça. Allez, hop, deux heures et demie, pause. Comme on est là jusqu'à quatre heures, pause. Hop, pause. - Pause quoi ? - Pause, je t'envoie un vide. Je t'ai même pas donné le disque. Tu mets, tu l'annonceras. Allez, on fait une pause, allez, hop. On l'annonce après, alors. T'envoies, et c'est tout. D'accord.
Alors, donc, on récupère... Qu'est-ce qu'on a ? On a Marcel, pute, couille de loup, petit téton, j'en pue les cendrilles. Bon, vous fermez un peu vos jolles. Oh, putain, mais ta gueule, toi, mec, Gérard ! Oh, Gérard ! Tu me commences à me casser les couilles. Putain, mais, tu vas les calmer, là. Oh, merde !
Gérard ! Gérard ! Gérard ! Je t'avais dit, Fildar, avec tes pauvres sons, là, j'ai tout le monde. T'as l'air égoûté, gros. T'as l'air chiant, les auditeurs, parce que tu regardes les Gérards avec tes mauvais, quoi. T'abuses, Fildar, ils nous ont fait calmer, là. Fildar, honnêtement, arrête. Non, mais... Ah, il y a rien... Ils arrêtent pas, là, mais ils vont te calmer, ou quoi ? Bah oui. Calmez-vous, les auditeurs. Non, non, arrête, arrête. Mais donc, tu l'as arrêté, ok ? Mais quoi ? J'ai rien fait.
Mais ça, ça, là ! C'est quoi, là ? Ça, là ! Mais c'est un remix ! Oui, alors ? Oui, alors, c'est toi qui t'amuses ? Mais non, c'est un remix ! C'est un remix de... C'est des remixes de la... Mais moi, ils sont très calmes, les auditeurs, là. Non, mais ça, je vais écouter, je vais surveiller. Le premier qui fait une merde, il jarte ! Ça, c'est un general ball ! Mais attends, mais ça, c'est pas quand même connecté. 5 940, j'aimerais bien qu'on arrive à... 5 60, merde ! 5 60 pour arriver à 6 000, Gérard, à 6 000.
Allez ! Allez, bonsoir ! Ça, moi, je commence à me... Rêve de ta gueule ! Ça a tombé par aussi ! Rêve ! Rêve ! Rêve ! Rêve ! Rêve ! Rêve ! Rêve ! C'est bon, Gérard, t'es prêt, là ? Parce que ça fait une heure. Non, il a pété son casque ! Oh, merde ! Non, c'est bon, il le répare, Gérard. Tu peux quand même commencer à...
reprendre les auditeurs avec tout ça, hein. Ouais, ouais. C'est bon ? T'es là, encore, hein. Ah, là, là, là. Non, merci, chef. Ah, ouais. Alors, là, je vais écouter le premier qui fait une merde, il dégage. Non, mais là, maintenant, il... Non, mais je vais surveiller Manu, je vais surveiller Manu. Parfait. Eh, ensuite... Oui, je suis là, oui. Petit Delou. Oui ? Petit Téton. Eh, mais merde ! Mais ils sont là, Gérard. Mais attends, il n'est pas là, Jean-Pulle ! Qu'est-ce que tu demandes ?
Ah, tu ne m'as pas appelé ? Non, à peine ! Tu me prends pour un con, là ! Ça va pas, non ? Mais non ! Sandrine ! Oui, je suis là. Et Marcel ! Alors, la question... Pensez-vous que les routiers sont des vieux cochons ? Oui. Alors, qui, oui ? Banane. Banane. Attends, Banane, elle sort d'où ? Eh, je ne sais pas quoi elle a à faire ! Je ne sais pas, je ne sais que la tête à gueule !
Je ne sais pas d'où elle sort. Putain de merde ! Je ne sais pas. Tu me fais quoi, là ? Ben, je ne sais pas d'où elle sort, je vais la trouver. Putain, c'est pas vrai, hein ! Eh, merde, il y a un gourmet qui l'a mangé. C'est le pâle qui t'a mangé. Voilà ! Voilà, continue ! Laissez-le dire des conneries ! Ben, c'est toi qui... Oh, tu mets ta cop, là ! Arrête ! Hop, allez hop ! C'est écrasé !
C'est quoi, ce bordel ? C'est quoi ? C'est quoi, ce bruit ? Quel bruit ? Ouais, tu as mon cul ! Oui, je suis là. Salut à tout le 94 et spéciale dédicace à la prison de freine. Allez, hop, dégage pour toi ! Hop, au revoir ! Hop, au revoir ! Ok, Michel ! Hop, écoute Delou ! Ouais ? Tu réponds ? Eh ben, ouais. J'ai déjà répondu tout à l'heure. Non, tu n'as pas répondu à la question. Si ! Alors, ouais,
ce sont tous des cochons, ouais. D'accord. Et pourquoi c'est des cochons ? C'est ça qu'il faut savoir. Est-ce qu'il y a un cochon ? Oui, c'est un cochon. Mais pourquoi il est cochon ? Ben, parce qu'ils n'ont rien d'autre à foutre dans leur camion toute la journée. Ouais. Ils pensent à ça. Ouais, mais attends. Tu crois que le routier, il n'en a pas marre de passer... Je ne crois pas en penser au cul, mais je ne crois pas, non. Non, mais tu crois qu'il n'en a pas marre d'être sur la route constamment 24 heures sur 24 en pensant...
{{AutoCat}}
k48taocy1jmpbds4ekiyja9g05hh3cc
Fonctionnement d'un ordinateur/Les architectures à pile et mémoire-mémoire
0
82239
762875
744220
2026-04-04T13:41:58Z
Mewtow
31375
/* La densité de code */
762875
wikitext
text/x-wiki
Les chapitres précédents nous ont appris l'existence des architectures à accumulateur, qui se distinguent des architectures à registres généraux (qui ont des registres généraux ou spécialisés pour stocker temporairement des données). Dans ce chapitre, nous allons voir d'autres architectures qui se distinguent à la fois des architectures à registres généraux, et à accumulateur. Elles ont pour particularité qu'elles n'ont pas de registres pour les données, seulement un ''program counter'' et quelques registres dans le genre. Elles sont elles-mêmes subdivisées en architecture mémoire-mémoire et à pile, pour des raisons qu'on expliquera dans ce chapitre.
L'absence de registre a de nombreuses conséquences. La première est qu'elle impacte les instructions d'accès mémoire. Toutes les architectures précédentes disposent d'instructions d'accès mémoire, mais elles ne sont pas les mêmes selon l'architecture canonique considérée. Par exemple, les instructions LOAD et STORE n'existent que sur les architectures avec au moins un registre, à savoir les architectures à accumulateur et à registre. Les autres architectures n'ont pas d'instruction LOAD/STORE.
{|class="wikitable"
|-
! Classe d'architecture
! Nombre de registres pour les données
! LOAD et STORE
|-
| Architecture mémoire-mémoire
| rowspan="2" | Aucun.
| rowspan="2" | Non
|-
| Architecture à pile
|-
| Architecture à accumulateur
| Un registre appelé l'accumulateur.
| Oui, accumulateur adressé implicitement
|-
| Architecture à registres
| Plusieurs registres dits généraux et/ou spécialisés.
| Oui, registres adressés explicitement
|}
Maintenant que ces préliminaires ont été abordés, voyons dans le détail les architectures mémoire-mémoire et à pile.
==Les architectures mémoire-mémoire==
[[File:Ismem2mem.png|vignette|Architecture mémoire-mémoire.]]
Les toutes premières machines n'avaient pas de registres pour les données, pas de registres généraux. Attention, cependant : le ''program counter'' existe toujours, de même que le registre d'état et le pointeur de pile. Les instructions n'accédaient qu'à la mémoire RAM ou ROM : on parle d''''architectures mémoire-mémoire'''.
Le défaut des architectures mémoire-mémoire est qu'elles font beaucoup d'accès mémoire, du fait de l'absence de registres. Aussi, la performance dépendait grandement de la performance de la mémoire RAM. Au début de l'informatique, le processeur et la mémoire RAM avaient des performances similaires, ce qui rendait ces architectures viables. Mais depuis que la mémoire est devenue très lente comparé au processeur, ce genre d'architectures est tombé en désuétude.
Un autre défaut de ces processeurs est que leurs instructions de calcul effectuent plusieurs accès mémoire. Une instruction dyadique fait trois accès mémoire : un par opérande, un pour enregistrer le résultat. Et il faut séquencer ces accès mémoire à l'intérieur de l'instruction, ce qui est complexe et demande d'ajouter des registres internes au processeur qui sont cachés du programmeur.
===La microarchitecture d'une architecture mémoire-mémoire===
La microarchitecture d'une architecture mémoire-mémoire est assez simple. Elle contient une unité de calcul, des registres d’interfaçage avec la mémoire et une unité de contrôle. Elle n'a pas de registres, à part un ''program counter'' intégrés au séquenceur. La seule difficulté est d'incorporer de quoi gérer les opérations dyadiques et l'adressage mémoire indirect.
[[File:Chemin de données sans support des pointeurs.png|centre|vignette|upright=2|Chemin de données sans support des pointeurs]]
[[File:Chemin de données à un seul bus.png|vignette|Chemin de données d'une architecture mémoire-mémoire.]]
La première difficulté est que les opérations dyadiques lisent deux opérandes en RAM et écrivent le résultat en RAM. Mais le bus de donnée ne permet qu'une seule lecture ou écriture à la fois. Les accès mémoire doivent donc s'exécuter l'un après l'autre et doivent être séquencés. Les opérations mémoire-mémoire dyadiques s'exécutent donc en plusieurs micro-opérations. En effet, lire deux opérandes dans la mémoire se fait forcément en deux micro-opérations mémoire consécutives, sans compter les micro-opérations pour calculer le résultat et l'enregistrer en RAM.
Le séquenceur est conçu pour, mais il reste une difficulté : un seul registre d'interfaçage ne permet que le transfert d'un opérande. Lire une seconde opérande en RAM demande de rajouter un second registre d'interfaçage, qui est relié à l'autre entrée de l'ALU. Écrire le résultat en mémoire est géré en rajoutant un troisième registre d'interfaçage, relié à la sortie de l'ALU. Le séquenceur relie le registre d’interfaçage adéquat au bus mémoire à chaque étape d'une instruction.
La seconde difficulté est la gestion des pointeurs. Pour gérer les pointeurs, ces ordinateurs utilisent le mode d'adressage absolu indirect, absolument nécessaire sur des architectures. Avec ce mode d'adressage, l'instruction incorpore une adresse mémoire, mais ce n'est pas l'adresse de la donnée voulue : c'est l'adresse du pointeur, qui lui pointe vers la donnée. Il était systématiquement supporté sur toutes les architectures mémoire-mémoire. Elles supportaient aussi ses variantes à pré– ou post-incrément, où le pointeur était incrémenté/décrémenté automatiquement à chaque accès.
Avec ce mode d'adressage, La lecture de l'opérande se fait en deux étapes. Premièrement, le processeur extrait l'adresse de l'instruction et effectue une lecture pour récupérer le pointeur. Deuxièmement, la donnée lue, le pointeur, est envoyée sur le bus d'adresse pour récupérer la donnée. Le tout se fait en faisant communiquer les registres d’interfaçage de donnée et d'adresse, quelques multiplexeurs suffisent.
[[File:Architecture mémoire-mémoire avec adressage indirect mémoire.png|centre|vignette|upright=2|Architecture mémoire-mémoire avec adressage indirect mémoire]]
===L'exemple de l'ordinateur AT&T Hobbit===
Un cas intéressant d'architecture de ce genre est celle du processeur AT&T Hobbit. L'origine de ce processeur se trouve dans un projet de processeur abandonné par AT&T. Le processeur en question, la C-machine, était un processeur spécifiquement conçus pour le langage de programmation C. Et pour coller le plus possible à ce langage, le processeur n'utilisait pas de registres, seulement des adresses mémoires.
Vu que les programmes codés en C manipulent beaucoup la pile d'appel, le processeur intégrait un '''cache de pile''', spécialisé pour les accès à la pile d'appel. Il contenait 64 données de 4 octets. Il s'agit bien d'un cache, le processeur accède à la pile d'appel en mémoire RAM, mais le cache de pile en a une copie partielle et il intercepte les accès à la RAM, c'est lui qui fournit la donnée demandée s'il la contient. L'usage d'un cache de pile est assez spécifique aux architectures mémoire-mémoire et aux architectures à pile, même s'il doit exister quelques exceptions.
==Les architectures à pile==
[[File:Exemple d'une machine à pile qui code ses entiers sur 4 Bytes.png|vignette|Exemple d'une pile/file d'opérandes, chaque opérande étant codée sur 4 Bytes.]]
Les architectures à pile, aussi appelées '''machines à pile''', sont un cas particulier d'architectures mémoire-mémoire. Leur nom trahit le fait qu'elles gèrent nativement une pile semblable à la pile d'appel, sauf qu'elle mémorise les opérandes des calculs et leur résultat. Une instruction de calcul prend les opérandes qui sont au sommet de la pile. L'instruction dépile automatiquement les opérandes qu'elle utilise et empile son résultat. Le processeur peut copier des opérandes dans la pile ou en retirer grâce à des instructions PUSH et POP qu'on analysera sous peu.
===La séparation entre pile d'opérande et pile d'appel===
Sur les machines à pile, il faut distinguer la pile d'appel et la pile d'opérande. La première est la pile pour les adresses de retour des fonctions, l'autre est une pile séparée utilisée pour les opérandes des instructions.
Il a existé des machines à pile avec une pile unique, qui servait à la fois de pile d'opérande et de pile d'appel. Elles étaient assez peu performantes. Mais la plupart des designs existants utilisent deux piles séparées, complètement distinctes. En clair, la pile d'appel est gérée à part de la pile d'opérande. La pile d'opérande est en mémoire RAM, sauf optimisation, pas forcément la pile d'appel. La pile d'appel est soit placée dans une mémoire séparée, soit placée dans la mémoire RAM principale. Elle peut être intégrée au processeur, bien que ce soit un cas assez rare.
Le cas le plus simple à étudier est celui d'une pile d'appel ayant sa propre mémoire, séparée de la mémoire pour les opérandes. La pile d'appel mémorise alors uniquement les adresses de retour pour les fonctions. Les deux piles n'ont pas forcément la même taille, à savoir que la pile d'appel est souvent plus petite que la pile des opérandes. Les appels de fonction, même si nombreux, utilisent assez peu de mémoire pour les adresses de retour. Vu qu'il y a deux piles, il y a deux pointeurs de pile. Un pointeur de pile pour la pile d'appel, un autre pour la pile des opérandes. Et vu qu'elles n'ont pas la même taille, les deux pointeurs n'ont pas forcément la même taille eux aussi. Ils sont gérés à par par le séquenceur.
===La pile d'opérande : instructions et modes d'adressage===
Les opérandes sont ajoutés ou retirés de la pile grâce à deux instructions nommées PUSH et POP.
* L'instruction PUSH permet d'empiler une donnée. Elle prend l'adresse de la donnée à empiler, charge la donnée, et met à jour le pointeur de pile.
* L'instruction POP dépile la donnée au sommet de la pile, la stocke à l'adresse indiquée dans l'instruction, et met à jour le pointeur de pile.
[[File:Instruction Push.png|centre|vignette|upright=2.5|Instruction Push.]]
[[File:Instruction Pop.png|centre|vignette|upright=2.5|Instruction Pop.]]
Un défaut lié à l'absence des registres est qu'il est impossible de réutiliser une donnée chargée dans la pile. Vu qu'une instruction dépile ses opérandes, on ne peut pas les réutiliser. Ceci dit, certaines instructions ont été inventées pour limiter la casse : on peut notamment citer l'instruction DUP, qui copie le sommet de la pile en deux exemplaires. On peut aussi citer l'instruction SWAP, qui échange deux données dans la pile. Mais ces instructions sont des opérations à faire en plus, comparé aux autres architectures. Les autres classes d'architectures n'ont pas à copier des données dans une pile, les empiler, et les déplacer avant de les manipuler.
{|
|[[File:Instruction Dup.png|centre|vignette|upright=2|Instruction Dup.]]
|[[File:Instruction Swap.png|centre|vignette|upright=2|Instruction Swap.]]
|}
Les instructions de calcul manipulent les opérandes qui sont au sommet de la pile. Les opérandes sont retirés de la pile par l'instruction et le résultat est placé au sommet de la pile. C'est du moins le cas sur les machines à pile dites "pures", mais d'autres architectures permettent de préciser la position des opérandes dans la pile. Une instruction peut indiquer qu'elle veut utiliser les opérandes situés 2, 3 ou 5 cases sous le sommet de la pile. Si les opérandes sélectionnés ne sont pas toujours retirés de la pile (tout dépend de l'architecture), le résultat est lui toujours placé au sommet de la pile. Ces jeux d'instruction n'utilisent pas la pile comme une mémoire LIFO, ce qui lui vaut le nom d'architecture à pseudo-pile.
Les machines à pile que je viens de décrire ne peuvent manipuler que des données sur la pile. Toutefois, des machines à pile plus évoluées ajoutent des instructions ''load-op'', qui lisent la seconde opérande en mémoire RAM, avec une adresse mémoire ou un mode d'adressage pour les pointeurs. L'avantage est que la seconde opérande n'a pas à être placée sur la pile pour être utilisée. Mais de telles instructions sont assez peu utilisées.
Sur les machines à pile, l'adressage indirect utilise le sommet de la pile. L'adresse à lire est placée au sommet de la pile, elle est envoyée sur le bus d'adresse. Pour l'instruction STORE indirecte, la donnée à écrire est placée sous l'adresse, donnée et adresse sont dépilées par l'instruction STORE. Pour l'instruction LOAD indirecte, l'adresse à lire est dépilée au sommet de la pile, la donnée lue est empilée au sommet de la pile. Il est possible d'implémenter un adressage de type base + indice, il suffit de placer l'adresse de base et l'indice au sommet de la pile.
===Les mémoires reliées à une machine à pile===
L'implémentation d'une architecture à pile n'est pas la même si une seule pile est utilisée, ou si la pile d'appel est séparée de la pile d'opérande. Ajoutons que les machines à pile peuvent être de type Harvard ou Von Neumann. La pile d'appel contient des copies passées sur ''program counter'', ce qui fait que la pile d'appel est alimentée par le séquenceur, directement.
[[File:Architecture à pile avec deux piles séparées.png|centre|vignette|upright=2|Architecture à pile avec deux piles séparées]]
Enfin, il arrive que les machines à pile utilisent deux RAM séparées : une pour la pile d'opérande et une pour les structures de données complexes, comme les tableaux. La première est une mémoire LIFO digne de ce nom, l'autre est une mémoire RAM tout ce qu'il y a de plus normale. La mémoire RAM pour les tableaux était accédée via des modes d'adressage spéciaux, les instructions de calcul pouvaient préciser l'adresse d'une donnée dans la RAM. Et les instructions LOAD et STORE pouvaient copier une donnée de la RAM vers la pile d'opérande ou inversement. Les architectures de ce type avaient souvent des registres d'indices pour faciliter les calculs d'adresse. Un exemple d'architecture de ce type était celui des ''mainframes Burroughs Large Systems''.
[[File:Architecture à pile avec une mémoire séparée pour les tableaux.png|centre|vignette|upright=2|Architecture à pile avec une mémoire séparée pour les tableaux]]
Dans le meilleur des cas, une seule mémoire est utilisée pour les deux piles et le programme. Il y a des versions où la pile d'appel est intégrée dans le séquenceur, laissant la mémoire pour le programme et la pile d'opérande. Il faut dire que la pile d'appel ne contient que des adresses de retour, elle est assez petite. Assez pour être intégrée dans le processeur.
===La microarchitecture d'une machine à pile===
Dans ce qui va suivre, nous allons supposer que la pile d'appel est intégrée au séquenceur. Les architectures à pile de ce type peuvent être implémentées de plusieurs manières, la plus simple utilisant une architecture mémoire-mémoire améliorée, la plus complexe utilisant une architecture à registres sous-jacente.
La première implémentation utilise une architecture mémoire-mémoire sous-jacente, toute la difficulté de l'implémentation étant déportée dans le séquenceur. La pile d'opérande est placée en mémoire RAM, les instructions lisent leurs opérandes en RAM et empilent le résultat en RAM. Les instructions PUSH et POP font des copies en mémoire RAM pour empiler et dépiler les données. Pour cela, elles passent par l'intermédiaire d'un registre d’interfaçage, comme sur les architectures mémoire-mémoire.
[[File:Architecture à pile basée sur une architecture mémoire-mémoire.png|centre|vignette|upright=1.5|Architecture à pile basée sur une architecture mémoire-mémoire]]
Le séquenceur est adapté de manière à gérer une pile d'opérande, les instructions PUSH/POP/autres, et quelques autres détails. Le pointeur de pile est géré par le séquenceur, au même titre que le ''program counter''. Il est incrémenté/décrémenté par l'unité de calcul d'adresse, qui est partagée avec le ''program counter''.
Une telle implémentation intègre souvent un '''cache de pile''', qui mémorise les données au sommet de la pile. Il s'agit réellement d'un cache, dans le sens où il contient une copie du sommet de la pile d'appel, qui est aussi en RAM. La pile est donc en RAM, totalement, et seules les portions utilisées de la pile sont maintenues dans le processeur. La gestion du débordement se fait en utilisant le remplacement des lignes de cache naturellement incorporé dans tout cache digne de ce nom.
[[File:Organisation interne d'une architecture à pile.png|centre|vignette|upright=2|Organisation interne d'une architecture à pile]]
Une autre implémentation ajoute un registre pour mémoriser l'opérande au sommet de la pile. Le registre agit comme un registre accumulateur. En effet, le sommet de la pile est le dernier résultat calculé par une instruction. De plus, il sera utilisé comme opérande de la prochaine opération. Du moins, tout cela est valable tant qu'on n'utilise pas d'instruction DUP ou SWAP, qui changent la position des opérandes dans la pile. L'implémentation n'est ni plus ni moins qu'une architecture à accumulateur au séquenceur modifié.
[[File:Implémentation d'une machine à pile.png|centre|vignette|upright=2|Implémentation d'une machine à pile avec une machijne à accumulateur]]
Une dernière implémentation place tout ou partie de la pile dans le processeur, pas seulement le sommet de la pile. Pour cela, elles utilisent une architecture registre-accumulateur améliorée, où le banc de registre est remplacé par une mémoire LIFO. Le sommet de la pile est stocké dans un registre accumulateur, le reste de la pile est dans une mémoire tampon de type LIFO, construite en améliorant un banc de registre. La mémoire LIFO ne permet de lire qu'un seul opérande, le second opérande situé sous le sommet de la pile.
: Il est techniquement possible d'implémenter la LIFO avec deux ports de lecture, ce qui fait que l'intérieur du processeur ressemble à une architecture LOAD-STORE avec des circuits en plus. Mais de telles implémentations sont rares.
Si jamais la LIFO est totalement remplie, le processeur peut gérer la situation de plusieurs manières. Avec la première, les données au bas de la pile débordent en mémoire RAM. Si la LIFO est déjà pleine au moment d'un PUSH, l'opérande au fond de la pile est alors envoyé en mémoire RAM. Reste qu'implémenter la gestion du débordement de la pile est quelque peu complexe. Une autre solution est de déléguer les débordements au logiciel. Un PUSH dans une pile pleine déclenche une exception matérielle, dont la routine gère la situation.
[[File:Machine à pile avec LIFO intégrée au CPU.png|centre|vignette|upright=1.5|Machine à pile avec LIFO intégrée au CPU]]
===Exemple : la Harris RTX 2000===
Une architecture à pile assez réputée est la NC4016. Elle avait comme particularité d'être connectée à trois mémoires : une pour la pile d'appel, une autre pour la pile d'opérande, une autre pour la mémoire programme (architecture Harvard). Son successeur est la Harris RTX 2000, une ancienne architecture à pile qui a eu un petit succès dans les cours d'architecture des ordinateurs.
Elle disposait de deux piles intégrées au processeur : une pile d'appel de 256 adresses de retour et une LIFO de 256 opérandes. Les deux piles n'avaient aucune protection en cas de débordement, à savoir pour vérifier si elles sont pleines ou non. La pile était donc intégrée dans le processeur, qui était en réalité un microcontrôleur. C’était une architectures Harvard, avec un bus relié à une mémoire pour le programme, et un G-bus pour les périphériques.
[[File:Harrys figura1.jpg|vignette|upright=1.5|Microarchitecture de la Harris RTX 2000.]]
Sa microarchitecture est illustré ci-contre. Rassurez-vous, nous n’allons pas l'étudier en détail, pour une raison simple : le grand nombre d'interconnexions rend son étude très compliquée. Remarquons qu'il y a deux bus internes : un bus Y et un bus T. Le bus Y est connecté sur une entrée de l'ALU et on comprend facilement qu'il récupère la seconde opérande pour une instruction de calcul. Le bus T, quant à lui, prend en entrée le résultat et l'envoie à destination.
Les registres sont mine de rien assez nombreux. En premier lieu, on trouve le ''program counter'' noté PC et le registre d'instruction noté IR. Le sommet de la pile est mémorisé dans un registre dédié. Mais on trouve aussi des registres MD, SR et CR dédiés à des opérations spécifiques. Le registre MD est utilisé pour les multiplications, afin de mémoriser la seconde opérande. Le registre SR est utilisé pour le calcul de la racine carrée, car le processeur supporte cette opération dans son jeu d'instruction. Il y avait aussi un registre d'indice I.
Niveau circuits de calcul, il y avait une unité de calcul assez complexe, un circuit incrémenteur pour le ''porgram counter'' et un circuit décrémenteur pour gérer les pointeurs de pile.
===Le support de plusieurs piles pour la multiprogrammation===
Les ordinateurs Burroughs Large Systems étaient des machines à piles optimisées pour exécuter plusieurs programmes les uns à la suite des autres. C'est plus ou moins ce qui est fait sur les ordinateurs modernes, quand on veut exécuter plus de programmes qu'on a de coeurs. On change de programme régulièrement, chaque programme est interrompu pour laisser la place à un autre, et ainsi de suite. C'est le système d'exploitation qui se charge de changer d'un programme à un autre.
Pour cela, ils géraient nativement plusieurs piles, une par programme en cours d'exécution. Une pile fusionnait pile d'appel et pile d'opérande, elle servait les besoins pour un programme. De plus, ces processeurs avaient des instructions dédiées pour changer d'un programme à un autre.
==Les architectures à pile de registres==
Dans le chapitre précédent, nous avons parlé des architectures à accumulateur, et vu qu'il existait des architectures hybrides accumulateur-registres. Quelque chose d'équivalent existe pour les machines à pile. Il s'agit de processeurs qui ont plusieurs registres, mais les utilisent comme une pile d'opérande. En clair, de tels processeurs ont une pile d'opérande intégrée dans le processeur, de petite taille, typiquement 3 à 16 registres maximum. La pile de registres est gérée par le programmeur, qui a conscience qu'il y a une RAM séparée de la pile d'opérande intra-CPU.
===L'extension flottante x87 des CPU x86===
Un bon exemple est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des coprocesseurs x87. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Les avantages de l'absence de registres==
Les architectures mémoire-mémoire et à pile se distinguent des autres sur un point : l'absence de registres. En comparaison, les architectures à accumulateur ont un registres, celles à registres généraux en ont plusieurs. La présence de registres réduit grandement le nombre d'accès mémoire par instruction, ce qui améliore grandement la performance. Au début de l'informatique, mémoire et processeur étaient tout aussi rapides, ce qui fait que les architectures à registre n'avaient pas d'avantage évident en termes de performances. Mais depuis, l’absence de registres est devenu un désavantage global.
{|class="wikitable"
|-
! Classe d'architecture
! Nombre d'accès mémoire par opération dyadique
|-
! Architecture à pile
| rowspan="2" | Trois accès mémoire par opération : un par opérande, un pour le résultat
|-
! Architecture mémoire-mémoire
|-
! Architecture à accumulateur
| Un accès mémoire par instruction, pour lire la seconde opérande
|-
! Architecture à registres
| Zéro si les opérandes sont dans les registres, un pour les opérations ''load-op'', LOAD et STORE.
|}
L'absence de registre a cependant des avantages, voyons lesquels.
===La rapidité des interruptions/appels de fonction===
L'absence de registre a des avantages pour la gestion des procédures. Pas besoin de sauvegarder les registres du processeur à chaque appel de fonction, ni de les restaurer à la fin. La gestion de la pile est ainsi grandement simplifiée : pas de sauvegarde/restauration des registres signifie pas besoin d'instructions pour échanger des données entre registres et cadres de pile. Les programmes avec beaucoup d'appels de fonction économisent ainsi beaucoup d’instructions, ils étaient plus petits. L'avantage est d'autant plus important que les procédures/fonctions sont petites (une large partie des instructions est alors dédiée à la sauvegarde/restauration des registres) et nombreuses.
En conséquence, les architectures mémoire-mémoire et les architectures à pile ont un avantage pour ce qui est des appels de fonction. L'avantage concerne aussi les interruptions, qui sont des appels de fonction comme les autres. Ce qui fait que les architectures sans registres de données sont parfois utilisés comme processeurs pour gérer les entrées-sorties, vu que ces processeurs doivent fréquemment gérer des interruptions matérielles. Ils sont aussi très adaptés pour des processeurs faible performance dans l'embarqué, dans des cas d'utilisation où les interruptions matérielles sont fréquentes.
Les architectures à accumulateur sont aussi dans ce cas. Avec elles, il n'y a qu'un seul registre accumulateur en plus comparé aux architectures sans registres, ce qui ce qui rend la sauvegarde/restauration des registres très rapide. Et encore, dans quelques situations, l'accumulateur n'a pas à être sauvegardé. Et tout cela vaut aussi pour les interruptions. Aussi, beaucoup de processeurs embarqués à faible performance, qui doivent gérer un grand nombre d'entrées-sorties, sont des architectures à accumulateur. Leur simplicité de conception, leur facilité de programmation, leur parfaite adaptation aux interruptions fréquentes, les rend idéaux pour ce genre d'applications.
===La densité de code===
Un autre avantage des architectures à pile est la '''densité de code''', à savoir la taille des programmes. Au début de l'informatique, la mémoire avait des performances similaires à celles du processeur, mais elle était de petite taille. Aussi il était avantageux d'avoir des programmes assez petits. Les architectures se distinguaient sur la densité de code. La taille d'un programme dépend de deux choses : le nombre d'instructions et la taille de celles-ci. Les architectures à pile se distinguent par des instructions très courtes, qui prennent peu de place en mémoire.
La taille des instructions est avant tout une question d'encodage des instructions. Pour rappel, une instruction contient un opcode qui encode l'opération, éventuellement un champ pour préciser le ou les modes d'adressage, et des références qui pointent vers l'opérande. La référence est soit une adresse mémoire, soit un nom, de registre. Et cela nous amène à la distinction entre architectures 0, 1, 2 et 3 adresses. Notons que ce qui nous intéresse ici est le cas des instructions dyadiques uniquement, car les autres instructions ont un encodage similaire d'une architecture à l'autre.
Les architectures à pile n'ont pas besoin de préciser de références, car les opérandes sont adressées implicitement. Et cela vaut pour les instructions dyadiques comme monadiques. En conséquence, elles sont aussi appelées '''architectures à zéro adresse''' par abus de langage. Les instructions se limitent généralement à un opcode, sauf pour les instructions de calcul et les branchements. Quelques architectures à pile ont des instructions annexes qui précisent l'adresse mémoire du second opérande, mais elles sont assez peu utilisées, la majorité des instructions adressent toutes les opérandes au sommet de la pile.
Les autres architectures ont besoin d'encoder des références, ce qui fait que leurs instructions sont beaucoup plus longues. Sur les architectures à accumulateur, les instructions se résument à un opcode couplé à une adresse mémoire, vu que l'accumulateur est adressé implicitement. Les architectures à registre doivent encoder deux à trois références, en plus de l'opcode. Par contre, les références sont généralement des noms de registre, ce qui fait que leurs instructions sont plus courtes que pour une architecture à accumulateur. Mais dans les deux cas, les instructions sont plus longue que sur une machine à pile.
: Les architectures mémoire-mémoire encodent deux/trois adresses mémoires en plus de l'opcode. Elles ont les instructions les plus longues.
Les développements précédents nous parlent de la taille des instructions, mais il faut aussi tenir compte du nombre d'instructions d'un programme. Pour rappel, ce nombre est appelée l'''instruction path length'' et il est influencé par le jeu d'instruction du processeur. Et à ce petit jeu, les machines à pile ont un nombre d'instructions par programme plus élevé que sur les autres architectures, en grande partie à cause des instructions POP et PUSH. On doit PUSH les opérandes sur la pile avant de les utiliser, là où les autres opérandes peuvent les lire directement, via adressage explicite.
Par contre, ce désavantage est sur-compensé par les instructions plus courtes. Si on compare les différents types d'architectures, on s’aperçoit que c'est surtout la taille des instructions qui compte en premier lieu, suivi par le nombre d'instruction. Les machines à pile ont la meilleure densité de code, suivies par les architectures à registre, puis par les architectures à accumulateur, et enfin par les architectures mémoire-mémoire.
: Les architectures à registre ont un désavantage théorique lié à la gestion des procédures. Elles doivent sauvegarder les registres lors d'un appel de fonction et les restaurer quand la fonction termine. Cela implique des échanges avec la mémoire réalisée avec des instructions LOAD-STORE ou PUSH/POP. Plus les fonctions sont fréquentes et petites, plus le désavantage est important. Mais elles ont malgré un ''instruction path length'' plus favorable que pour les architectures à pile. Les architectures à accumulateur doivent aussi sauvegarder l'accumulateur lors des appels de fonction, et le restaurer après. Mais le désavantage est vraiment mineur, car elles ont moins de registres à sauvegarder.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures à accumulateur
| prevText=Les architectures à accumulateur
| next=Les processeurs 8 bits et moins
| nextText=Les processeurs 8 bits et moins
}}
</noinclude>
h0uczbcmf1w1dyyl552bthc2ukam4rh
762881
762875
2026-04-04T14:00:53Z
Mewtow
31375
/* Les architectures à pile de registres */ Déplacement dans un chapitre plus adapté.
762881
wikitext
text/x-wiki
Les chapitres précédents nous ont appris l'existence des architectures à accumulateur, qui se distinguent des architectures à registres généraux (qui ont des registres généraux ou spécialisés pour stocker temporairement des données). Dans ce chapitre, nous allons voir d'autres architectures qui se distinguent à la fois des architectures à registres généraux, et à accumulateur. Elles ont pour particularité qu'elles n'ont pas de registres pour les données, seulement un ''program counter'' et quelques registres dans le genre. Elles sont elles-mêmes subdivisées en architecture mémoire-mémoire et à pile, pour des raisons qu'on expliquera dans ce chapitre.
L'absence de registre a de nombreuses conséquences. La première est qu'elle impacte les instructions d'accès mémoire. Toutes les architectures précédentes disposent d'instructions d'accès mémoire, mais elles ne sont pas les mêmes selon l'architecture canonique considérée. Par exemple, les instructions LOAD et STORE n'existent que sur les architectures avec au moins un registre, à savoir les architectures à accumulateur et à registre. Les autres architectures n'ont pas d'instruction LOAD/STORE.
{|class="wikitable"
|-
! Classe d'architecture
! Nombre de registres pour les données
! LOAD et STORE
|-
| Architecture mémoire-mémoire
| rowspan="2" | Aucun.
| rowspan="2" | Non
|-
| Architecture à pile
|-
| Architecture à accumulateur
| Un registre appelé l'accumulateur.
| Oui, accumulateur adressé implicitement
|-
| Architecture à registres
| Plusieurs registres dits généraux et/ou spécialisés.
| Oui, registres adressés explicitement
|}
Maintenant que ces préliminaires ont été abordés, voyons dans le détail les architectures mémoire-mémoire et à pile.
==Les architectures mémoire-mémoire==
[[File:Ismem2mem.png|vignette|Architecture mémoire-mémoire.]]
Les toutes premières machines n'avaient pas de registres pour les données, pas de registres généraux. Attention, cependant : le ''program counter'' existe toujours, de même que le registre d'état et le pointeur de pile. Les instructions n'accédaient qu'à la mémoire RAM ou ROM : on parle d''''architectures mémoire-mémoire'''.
Le défaut des architectures mémoire-mémoire est qu'elles font beaucoup d'accès mémoire, du fait de l'absence de registres. Aussi, la performance dépendait grandement de la performance de la mémoire RAM. Au début de l'informatique, le processeur et la mémoire RAM avaient des performances similaires, ce qui rendait ces architectures viables. Mais depuis que la mémoire est devenue très lente comparé au processeur, ce genre d'architectures est tombé en désuétude.
Un autre défaut de ces processeurs est que leurs instructions de calcul effectuent plusieurs accès mémoire. Une instruction dyadique fait trois accès mémoire : un par opérande, un pour enregistrer le résultat. Et il faut séquencer ces accès mémoire à l'intérieur de l'instruction, ce qui est complexe et demande d'ajouter des registres internes au processeur qui sont cachés du programmeur.
===La microarchitecture d'une architecture mémoire-mémoire===
La microarchitecture d'une architecture mémoire-mémoire est assez simple. Elle contient une unité de calcul, des registres d’interfaçage avec la mémoire et une unité de contrôle. Elle n'a pas de registres, à part un ''program counter'' intégrés au séquenceur. La seule difficulté est d'incorporer de quoi gérer les opérations dyadiques et l'adressage mémoire indirect.
[[File:Chemin de données sans support des pointeurs.png|centre|vignette|upright=2|Chemin de données sans support des pointeurs]]
[[File:Chemin de données à un seul bus.png|vignette|Chemin de données d'une architecture mémoire-mémoire.]]
La première difficulté est que les opérations dyadiques lisent deux opérandes en RAM et écrivent le résultat en RAM. Mais le bus de donnée ne permet qu'une seule lecture ou écriture à la fois. Les accès mémoire doivent donc s'exécuter l'un après l'autre et doivent être séquencés. Les opérations mémoire-mémoire dyadiques s'exécutent donc en plusieurs micro-opérations. En effet, lire deux opérandes dans la mémoire se fait forcément en deux micro-opérations mémoire consécutives, sans compter les micro-opérations pour calculer le résultat et l'enregistrer en RAM.
Le séquenceur est conçu pour, mais il reste une difficulté : un seul registre d'interfaçage ne permet que le transfert d'un opérande. Lire une seconde opérande en RAM demande de rajouter un second registre d'interfaçage, qui est relié à l'autre entrée de l'ALU. Écrire le résultat en mémoire est géré en rajoutant un troisième registre d'interfaçage, relié à la sortie de l'ALU. Le séquenceur relie le registre d’interfaçage adéquat au bus mémoire à chaque étape d'une instruction.
La seconde difficulté est la gestion des pointeurs. Pour gérer les pointeurs, ces ordinateurs utilisent le mode d'adressage absolu indirect, absolument nécessaire sur des architectures. Avec ce mode d'adressage, l'instruction incorpore une adresse mémoire, mais ce n'est pas l'adresse de la donnée voulue : c'est l'adresse du pointeur, qui lui pointe vers la donnée. Il était systématiquement supporté sur toutes les architectures mémoire-mémoire. Elles supportaient aussi ses variantes à pré– ou post-incrément, où le pointeur était incrémenté/décrémenté automatiquement à chaque accès.
Avec ce mode d'adressage, La lecture de l'opérande se fait en deux étapes. Premièrement, le processeur extrait l'adresse de l'instruction et effectue une lecture pour récupérer le pointeur. Deuxièmement, la donnée lue, le pointeur, est envoyée sur le bus d'adresse pour récupérer la donnée. Le tout se fait en faisant communiquer les registres d’interfaçage de donnée et d'adresse, quelques multiplexeurs suffisent.
[[File:Architecture mémoire-mémoire avec adressage indirect mémoire.png|centre|vignette|upright=2|Architecture mémoire-mémoire avec adressage indirect mémoire]]
===L'exemple de l'ordinateur AT&T Hobbit===
Un cas intéressant d'architecture de ce genre est celle du processeur AT&T Hobbit. L'origine de ce processeur se trouve dans un projet de processeur abandonné par AT&T. Le processeur en question, la C-machine, était un processeur spécifiquement conçus pour le langage de programmation C. Et pour coller le plus possible à ce langage, le processeur n'utilisait pas de registres, seulement des adresses mémoires.
Vu que les programmes codés en C manipulent beaucoup la pile d'appel, le processeur intégrait un '''cache de pile''', spécialisé pour les accès à la pile d'appel. Il contenait 64 données de 4 octets. Il s'agit bien d'un cache, le processeur accède à la pile d'appel en mémoire RAM, mais le cache de pile en a une copie partielle et il intercepte les accès à la RAM, c'est lui qui fournit la donnée demandée s'il la contient. L'usage d'un cache de pile est assez spécifique aux architectures mémoire-mémoire et aux architectures à pile, même s'il doit exister quelques exceptions.
==Les architectures à pile==
[[File:Exemple d'une machine à pile qui code ses entiers sur 4 Bytes.png|vignette|Exemple d'une pile/file d'opérandes, chaque opérande étant codée sur 4 Bytes.]]
Les architectures à pile, aussi appelées '''machines à pile''', sont un cas particulier d'architectures mémoire-mémoire. Leur nom trahit le fait qu'elles gèrent nativement une pile semblable à la pile d'appel, sauf qu'elle mémorise les opérandes des calculs et leur résultat. Une instruction de calcul prend les opérandes qui sont au sommet de la pile. L'instruction dépile automatiquement les opérandes qu'elle utilise et empile son résultat. Le processeur peut copier des opérandes dans la pile ou en retirer grâce à des instructions PUSH et POP qu'on analysera sous peu.
===La séparation entre pile d'opérande et pile d'appel===
Sur les machines à pile, il faut distinguer la pile d'appel et la pile d'opérande. La première est la pile pour les adresses de retour des fonctions, l'autre est une pile séparée utilisée pour les opérandes des instructions.
Il a existé des machines à pile avec une pile unique, qui servait à la fois de pile d'opérande et de pile d'appel. Elles étaient assez peu performantes. Mais la plupart des designs existants utilisent deux piles séparées, complètement distinctes. En clair, la pile d'appel est gérée à part de la pile d'opérande. La pile d'opérande est en mémoire RAM, sauf optimisation, pas forcément la pile d'appel. La pile d'appel est soit placée dans une mémoire séparée, soit placée dans la mémoire RAM principale. Elle peut être intégrée au processeur, bien que ce soit un cas assez rare.
Le cas le plus simple à étudier est celui d'une pile d'appel ayant sa propre mémoire, séparée de la mémoire pour les opérandes. La pile d'appel mémorise alors uniquement les adresses de retour pour les fonctions. Les deux piles n'ont pas forcément la même taille, à savoir que la pile d'appel est souvent plus petite que la pile des opérandes. Les appels de fonction, même si nombreux, utilisent assez peu de mémoire pour les adresses de retour. Vu qu'il y a deux piles, il y a deux pointeurs de pile. Un pointeur de pile pour la pile d'appel, un autre pour la pile des opérandes. Et vu qu'elles n'ont pas la même taille, les deux pointeurs n'ont pas forcément la même taille eux aussi. Ils sont gérés à par par le séquenceur.
===La pile d'opérande : instructions et modes d'adressage===
Les opérandes sont ajoutés ou retirés de la pile grâce à deux instructions nommées PUSH et POP.
* L'instruction PUSH permet d'empiler une donnée. Elle prend l'adresse de la donnée à empiler, charge la donnée, et met à jour le pointeur de pile.
* L'instruction POP dépile la donnée au sommet de la pile, la stocke à l'adresse indiquée dans l'instruction, et met à jour le pointeur de pile.
[[File:Instruction Push.png|centre|vignette|upright=2.5|Instruction Push.]]
[[File:Instruction Pop.png|centre|vignette|upright=2.5|Instruction Pop.]]
Un défaut lié à l'absence des registres est qu'il est impossible de réutiliser une donnée chargée dans la pile. Vu qu'une instruction dépile ses opérandes, on ne peut pas les réutiliser. Ceci dit, certaines instructions ont été inventées pour limiter la casse : on peut notamment citer l'instruction DUP, qui copie le sommet de la pile en deux exemplaires. On peut aussi citer l'instruction SWAP, qui échange deux données dans la pile. Mais ces instructions sont des opérations à faire en plus, comparé aux autres architectures. Les autres classes d'architectures n'ont pas à copier des données dans une pile, les empiler, et les déplacer avant de les manipuler.
{|
|[[File:Instruction Dup.png|centre|vignette|upright=2|Instruction Dup.]]
|[[File:Instruction Swap.png|centre|vignette|upright=2|Instruction Swap.]]
|}
Les instructions de calcul manipulent les opérandes qui sont au sommet de la pile. Les opérandes sont retirés de la pile par l'instruction et le résultat est placé au sommet de la pile. C'est du moins le cas sur les machines à pile dites "pures", mais d'autres architectures permettent de préciser la position des opérandes dans la pile. Une instruction peut indiquer qu'elle veut utiliser les opérandes situés 2, 3 ou 5 cases sous le sommet de la pile. Si les opérandes sélectionnés ne sont pas toujours retirés de la pile (tout dépend de l'architecture), le résultat est lui toujours placé au sommet de la pile. Ces jeux d'instruction n'utilisent pas la pile comme une mémoire LIFO, ce qui lui vaut le nom d'architecture à pseudo-pile.
Les machines à pile que je viens de décrire ne peuvent manipuler que des données sur la pile. Toutefois, des machines à pile plus évoluées ajoutent des instructions ''load-op'', qui lisent la seconde opérande en mémoire RAM, avec une adresse mémoire ou un mode d'adressage pour les pointeurs. L'avantage est que la seconde opérande n'a pas à être placée sur la pile pour être utilisée. Mais de telles instructions sont assez peu utilisées.
Sur les machines à pile, l'adressage indirect utilise le sommet de la pile. L'adresse à lire est placée au sommet de la pile, elle est envoyée sur le bus d'adresse. Pour l'instruction STORE indirecte, la donnée à écrire est placée sous l'adresse, donnée et adresse sont dépilées par l'instruction STORE. Pour l'instruction LOAD indirecte, l'adresse à lire est dépilée au sommet de la pile, la donnée lue est empilée au sommet de la pile. Il est possible d'implémenter un adressage de type base + indice, il suffit de placer l'adresse de base et l'indice au sommet de la pile.
===Les mémoires reliées à une machine à pile===
L'implémentation d'une architecture à pile n'est pas la même si une seule pile est utilisée, ou si la pile d'appel est séparée de la pile d'opérande. Ajoutons que les machines à pile peuvent être de type Harvard ou Von Neumann. La pile d'appel contient des copies passées sur ''program counter'', ce qui fait que la pile d'appel est alimentée par le séquenceur, directement.
[[File:Architecture à pile avec deux piles séparées.png|centre|vignette|upright=2|Architecture à pile avec deux piles séparées]]
Enfin, il arrive que les machines à pile utilisent deux RAM séparées : une pour la pile d'opérande et une pour les structures de données complexes, comme les tableaux. La première est une mémoire LIFO digne de ce nom, l'autre est une mémoire RAM tout ce qu'il y a de plus normale. La mémoire RAM pour les tableaux était accédée via des modes d'adressage spéciaux, les instructions de calcul pouvaient préciser l'adresse d'une donnée dans la RAM. Et les instructions LOAD et STORE pouvaient copier une donnée de la RAM vers la pile d'opérande ou inversement. Les architectures de ce type avaient souvent des registres d'indices pour faciliter les calculs d'adresse. Un exemple d'architecture de ce type était celui des ''mainframes Burroughs Large Systems''.
[[File:Architecture à pile avec une mémoire séparée pour les tableaux.png|centre|vignette|upright=2|Architecture à pile avec une mémoire séparée pour les tableaux]]
Dans le meilleur des cas, une seule mémoire est utilisée pour les deux piles et le programme. Il y a des versions où la pile d'appel est intégrée dans le séquenceur, laissant la mémoire pour le programme et la pile d'opérande. Il faut dire que la pile d'appel ne contient que des adresses de retour, elle est assez petite. Assez pour être intégrée dans le processeur.
===La microarchitecture d'une machine à pile===
Dans ce qui va suivre, nous allons supposer que la pile d'appel est intégrée au séquenceur. Les architectures à pile de ce type peuvent être implémentées de plusieurs manières, la plus simple utilisant une architecture mémoire-mémoire améliorée, la plus complexe utilisant une architecture à registres sous-jacente.
La première implémentation utilise une architecture mémoire-mémoire sous-jacente, toute la difficulté de l'implémentation étant déportée dans le séquenceur. La pile d'opérande est placée en mémoire RAM, les instructions lisent leurs opérandes en RAM et empilent le résultat en RAM. Les instructions PUSH et POP font des copies en mémoire RAM pour empiler et dépiler les données. Pour cela, elles passent par l'intermédiaire d'un registre d’interfaçage, comme sur les architectures mémoire-mémoire.
[[File:Architecture à pile basée sur une architecture mémoire-mémoire.png|centre|vignette|upright=1.5|Architecture à pile basée sur une architecture mémoire-mémoire]]
Le séquenceur est adapté de manière à gérer une pile d'opérande, les instructions PUSH/POP/autres, et quelques autres détails. Le pointeur de pile est géré par le séquenceur, au même titre que le ''program counter''. Il est incrémenté/décrémenté par l'unité de calcul d'adresse, qui est partagée avec le ''program counter''.
Une telle implémentation intègre souvent un '''cache de pile''', qui mémorise les données au sommet de la pile. Il s'agit réellement d'un cache, dans le sens où il contient une copie du sommet de la pile d'appel, qui est aussi en RAM. La pile est donc en RAM, totalement, et seules les portions utilisées de la pile sont maintenues dans le processeur. La gestion du débordement se fait en utilisant le remplacement des lignes de cache naturellement incorporé dans tout cache digne de ce nom.
[[File:Organisation interne d'une architecture à pile.png|centre|vignette|upright=2|Organisation interne d'une architecture à pile]]
Une autre implémentation ajoute un registre pour mémoriser l'opérande au sommet de la pile. Le registre agit comme un registre accumulateur. En effet, le sommet de la pile est le dernier résultat calculé par une instruction. De plus, il sera utilisé comme opérande de la prochaine opération. Du moins, tout cela est valable tant qu'on n'utilise pas d'instruction DUP ou SWAP, qui changent la position des opérandes dans la pile. L'implémentation n'est ni plus ni moins qu'une architecture à accumulateur au séquenceur modifié.
[[File:Implémentation d'une machine à pile.png|centre|vignette|upright=2|Implémentation d'une machine à pile avec une machijne à accumulateur]]
Une dernière implémentation place tout ou partie de la pile dans le processeur, pas seulement le sommet de la pile. Pour cela, elles utilisent une architecture registre-accumulateur améliorée, où le banc de registre est remplacé par une mémoire LIFO. Le sommet de la pile est stocké dans un registre accumulateur, le reste de la pile est dans une mémoire tampon de type LIFO, construite en améliorant un banc de registre. La mémoire LIFO ne permet de lire qu'un seul opérande, le second opérande situé sous le sommet de la pile.
: Il est techniquement possible d'implémenter la LIFO avec deux ports de lecture, ce qui fait que l'intérieur du processeur ressemble à une architecture LOAD-STORE avec des circuits en plus. Mais de telles implémentations sont rares.
Si jamais la LIFO est totalement remplie, le processeur peut gérer la situation de plusieurs manières. Avec la première, les données au bas de la pile débordent en mémoire RAM. Si la LIFO est déjà pleine au moment d'un PUSH, l'opérande au fond de la pile est alors envoyé en mémoire RAM. Reste qu'implémenter la gestion du débordement de la pile est quelque peu complexe. Une autre solution est de déléguer les débordements au logiciel. Un PUSH dans une pile pleine déclenche une exception matérielle, dont la routine gère la situation.
[[File:Machine à pile avec LIFO intégrée au CPU.png|centre|vignette|upright=1.5|Machine à pile avec LIFO intégrée au CPU]]
===Exemple : la Harris RTX 2000===
Une architecture à pile assez réputée est la NC4016. Elle avait comme particularité d'être connectée à trois mémoires : une pour la pile d'appel, une autre pour la pile d'opérande, une autre pour la mémoire programme (architecture Harvard). Son successeur est la Harris RTX 2000, une ancienne architecture à pile qui a eu un petit succès dans les cours d'architecture des ordinateurs.
Elle disposait de deux piles intégrées au processeur : une pile d'appel de 256 adresses de retour et une LIFO de 256 opérandes. Les deux piles n'avaient aucune protection en cas de débordement, à savoir pour vérifier si elles sont pleines ou non. La pile était donc intégrée dans le processeur, qui était en réalité un microcontrôleur. C’était une architectures Harvard, avec un bus relié à une mémoire pour le programme, et un G-bus pour les périphériques.
[[File:Harrys figura1.jpg|vignette|upright=1.5|Microarchitecture de la Harris RTX 2000.]]
Sa microarchitecture est illustré ci-contre. Rassurez-vous, nous n’allons pas l'étudier en détail, pour une raison simple : le grand nombre d'interconnexions rend son étude très compliquée. Remarquons qu'il y a deux bus internes : un bus Y et un bus T. Le bus Y est connecté sur une entrée de l'ALU et on comprend facilement qu'il récupère la seconde opérande pour une instruction de calcul. Le bus T, quant à lui, prend en entrée le résultat et l'envoie à destination.
Les registres sont mine de rien assez nombreux. En premier lieu, on trouve le ''program counter'' noté PC et le registre d'instruction noté IR. Le sommet de la pile est mémorisé dans un registre dédié. Mais on trouve aussi des registres MD, SR et CR dédiés à des opérations spécifiques. Le registre MD est utilisé pour les multiplications, afin de mémoriser la seconde opérande. Le registre SR est utilisé pour le calcul de la racine carrée, car le processeur supporte cette opération dans son jeu d'instruction. Il y avait aussi un registre d'indice I.
Niveau circuits de calcul, il y avait une unité de calcul assez complexe, un circuit incrémenteur pour le ''porgram counter'' et un circuit décrémenteur pour gérer les pointeurs de pile.
===Le support de plusieurs piles pour la multiprogrammation===
Les ordinateurs Burroughs Large Systems étaient des machines à piles optimisées pour exécuter plusieurs programmes les uns à la suite des autres. C'est plus ou moins ce qui est fait sur les ordinateurs modernes, quand on veut exécuter plus de programmes qu'on a de coeurs. On change de programme régulièrement, chaque programme est interrompu pour laisser la place à un autre, et ainsi de suite. C'est le système d'exploitation qui se charge de changer d'un programme à un autre.
Pour cela, ils géraient nativement plusieurs piles, une par programme en cours d'exécution. Une pile fusionnait pile d'appel et pile d'opérande, elle servait les besoins pour un programme. De plus, ces processeurs avaient des instructions dédiées pour changer d'un programme à un autre.
==Les avantages de l'absence de registres==
Les architectures mémoire-mémoire et à pile se distinguent des autres sur un point : l'absence de registres. En comparaison, les architectures à accumulateur ont un registres, celles à registres généraux en ont plusieurs. La présence de registres réduit grandement le nombre d'accès mémoire par instruction, ce qui améliore grandement la performance. Au début de l'informatique, mémoire et processeur étaient tout aussi rapides, ce qui fait que les architectures à registre n'avaient pas d'avantage évident en termes de performances. Mais depuis, l’absence de registres est devenu un désavantage global.
{|class="wikitable"
|-
! Classe d'architecture
! Nombre d'accès mémoire par opération dyadique
|-
! Architecture à pile
| rowspan="2" | Trois accès mémoire par opération : un par opérande, un pour le résultat
|-
! Architecture mémoire-mémoire
|-
! Architecture à accumulateur
| Un accès mémoire par instruction, pour lire la seconde opérande
|-
! Architecture à registres
| Zéro si les opérandes sont dans les registres, un pour les opérations ''load-op'', LOAD et STORE.
|}
L'absence de registre a cependant des avantages, voyons lesquels.
===La rapidité des interruptions/appels de fonction===
L'absence de registre a des avantages pour la gestion des procédures. Pas besoin de sauvegarder les registres du processeur à chaque appel de fonction, ni de les restaurer à la fin. La gestion de la pile est ainsi grandement simplifiée : pas de sauvegarde/restauration des registres signifie pas besoin d'instructions pour échanger des données entre registres et cadres de pile. Les programmes avec beaucoup d'appels de fonction économisent ainsi beaucoup d’instructions, ils étaient plus petits. L'avantage est d'autant plus important que les procédures/fonctions sont petites (une large partie des instructions est alors dédiée à la sauvegarde/restauration des registres) et nombreuses.
En conséquence, les architectures mémoire-mémoire et les architectures à pile ont un avantage pour ce qui est des appels de fonction. L'avantage concerne aussi les interruptions, qui sont des appels de fonction comme les autres. Ce qui fait que les architectures sans registres de données sont parfois utilisés comme processeurs pour gérer les entrées-sorties, vu que ces processeurs doivent fréquemment gérer des interruptions matérielles. Ils sont aussi très adaptés pour des processeurs faible performance dans l'embarqué, dans des cas d'utilisation où les interruptions matérielles sont fréquentes.
Les architectures à accumulateur sont aussi dans ce cas. Avec elles, il n'y a qu'un seul registre accumulateur en plus comparé aux architectures sans registres, ce qui ce qui rend la sauvegarde/restauration des registres très rapide. Et encore, dans quelques situations, l'accumulateur n'a pas à être sauvegardé. Et tout cela vaut aussi pour les interruptions. Aussi, beaucoup de processeurs embarqués à faible performance, qui doivent gérer un grand nombre d'entrées-sorties, sont des architectures à accumulateur. Leur simplicité de conception, leur facilité de programmation, leur parfaite adaptation aux interruptions fréquentes, les rend idéaux pour ce genre d'applications.
===La densité de code===
Un autre avantage des architectures à pile est la '''densité de code''', à savoir la taille des programmes. Au début de l'informatique, la mémoire avait des performances similaires à celles du processeur, mais elle était de petite taille. Aussi il était avantageux d'avoir des programmes assez petits. Les architectures se distinguaient sur la densité de code. La taille d'un programme dépend de deux choses : le nombre d'instructions et la taille de celles-ci. Les architectures à pile se distinguent par des instructions très courtes, qui prennent peu de place en mémoire.
La taille des instructions est avant tout une question d'encodage des instructions. Pour rappel, une instruction contient un opcode qui encode l'opération, éventuellement un champ pour préciser le ou les modes d'adressage, et des références qui pointent vers l'opérande. La référence est soit une adresse mémoire, soit un nom, de registre. Et cela nous amène à la distinction entre architectures 0, 1, 2 et 3 adresses. Notons que ce qui nous intéresse ici est le cas des instructions dyadiques uniquement, car les autres instructions ont un encodage similaire d'une architecture à l'autre.
Les architectures à pile n'ont pas besoin de préciser de références, car les opérandes sont adressées implicitement. Et cela vaut pour les instructions dyadiques comme monadiques. En conséquence, elles sont aussi appelées '''architectures à zéro adresse''' par abus de langage. Les instructions se limitent généralement à un opcode, sauf pour les instructions de calcul et les branchements. Quelques architectures à pile ont des instructions annexes qui précisent l'adresse mémoire du second opérande, mais elles sont assez peu utilisées, la majorité des instructions adressent toutes les opérandes au sommet de la pile.
Les autres architectures ont besoin d'encoder des références, ce qui fait que leurs instructions sont beaucoup plus longues. Sur les architectures à accumulateur, les instructions se résument à un opcode couplé à une adresse mémoire, vu que l'accumulateur est adressé implicitement. Les architectures à registre doivent encoder deux à trois références, en plus de l'opcode. Par contre, les références sont généralement des noms de registre, ce qui fait que leurs instructions sont plus courtes que pour une architecture à accumulateur. Mais dans les deux cas, les instructions sont plus longue que sur une machine à pile.
: Les architectures mémoire-mémoire encodent deux/trois adresses mémoires en plus de l'opcode. Elles ont les instructions les plus longues.
Les développements précédents nous parlent de la taille des instructions, mais il faut aussi tenir compte du nombre d'instructions d'un programme. Pour rappel, ce nombre est appelée l'''instruction path length'' et il est influencé par le jeu d'instruction du processeur. Et à ce petit jeu, les machines à pile ont un nombre d'instructions par programme plus élevé que sur les autres architectures, en grande partie à cause des instructions POP et PUSH. On doit PUSH les opérandes sur la pile avant de les utiliser, là où les autres opérandes peuvent les lire directement, via adressage explicite.
Par contre, ce désavantage est sur-compensé par les instructions plus courtes. Si on compare les différents types d'architectures, on s’aperçoit que c'est surtout la taille des instructions qui compte en premier lieu, suivi par le nombre d'instruction. Les machines à pile ont la meilleure densité de code, suivies par les architectures à registre, puis par les architectures à accumulateur, et enfin par les architectures mémoire-mémoire.
: Les architectures à registre ont un désavantage théorique lié à la gestion des procédures. Elles doivent sauvegarder les registres lors d'un appel de fonction et les restaurer quand la fonction termine. Cela implique des échanges avec la mémoire réalisée avec des instructions LOAD-STORE ou PUSH/POP. Plus les fonctions sont fréquentes et petites, plus le désavantage est important. Mais elles ont malgré un ''instruction path length'' plus favorable que pour les architectures à pile. Les architectures à accumulateur doivent aussi sauvegarder l'accumulateur lors des appels de fonction, et le restaurer après. Mais le désavantage est vraiment mineur, car elles ont moins de registres à sauvegarder.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures à accumulateur
| prevText=Les architectures à accumulateur
| next=Les processeurs 8 bits et moins
| nextText=Les processeurs 8 bits et moins
}}
</noinclude>
ppggezrdta57sljmnom3vj5i4k0kzji
Fonctionnement d'un ordinateur/Les processeurs 8 bits et moins
0
82384
762872
753566
2026-04-04T13:40:29Z
Mewtow
31375
/* Le HP Nanoprocessor : un processeur sans ALU */
762872
wikitext
text/x-wiki
Nous avons déjà abordé la notion de processeur 8, 16, 32, 64 bits. Elle désigne la taille des registres généraux, ou de l'accumulateur. De nos jours, les processeurs 32 et 64 bits sont la norme, mais les premiers micro-processeurs étaient des processeurs 4 et 8, avant de passer rapidement au 16 bits. La raison est que leur budget en transistor limité faisait qu'on ne pouvait pas utiliser une ALU trop grande : une ALU 8 bit prend deux fois moins de place et de transistors qu'une ALU 16 bits. Cependant, les processeurs 8 bits avaient de sérieuses limitations qui étaient compensées par diverses solutions. Dans ce chapitre, nous allons faire une revue rapide des processeurs 8 bits et de leurs fonctionnalités.
La principale limitation des CPU 8 bits était l'adressage : des registres de 8 bits limitaient l'espace d'adressage à seulement 256 adresses, soit à peine 256 octets ! Intuitivement, on se dit que 256 octets est purement impraticable, on ne peut rien faire d'intéressant avec seulement 256 de RAM + ROM. Et c'est partiellement vrai. L'adage veut que 16 bits est la taille minimale intéressante, la limite à partir de laquelle on a assez de mémoire RAM/ROM pour coder des applications intéressantes. Mais 256 octets de RAM est largement suffisant sur de nombreux systèmes embarqués simples s'en accommodent : des caisses enregistreuses, des systèmes de régulation de feu de circulation, etc.
Pour les applications demandant plus de mémoire RAM, les CPU de l'époque contournaient la limitation de 256 octets de RAM avec de nombreux stratagèmes. Dans ce qui va suivre, nous allons séparer les CPU 8 bits selon qu'ils utilisent une architecture Harvard ou une architecture Von Neumann. La raison est qu'une architecture Harvard permet en soi de contourner partiellement ce problème d'adressage. Les choses sont plus compliquées avec une architecture Von Neumann.
==Les processeurs 8/16 bits à architecture Harvard ==
La première solution est d'utiliser une architecture Harvard. Le processeur 8 bit a alors deux espaces d'adressage : un pour la RAM, un autre pour la ROM. Et les deux utilisent des adresses de taille différente. La ROM est reliée à un bus d'adresse de 16 bits, alors que la RAM est elle connectée à un bus d'adresse de 8 bits. La RAM est donc limitée à 256 octets, alors que la ROM peut monter jusqu'à 64 kibioctets. Mine de rien, faire ainsi est largement suffisant.
Les processeurs de l'époque intégraient parfois les 256 octets de RAM directement dans le processeur. Beaucoup en implémentaient moins, avec par exemple seulement 64 octets de RAM, ou 32 octets, ou 128 octets. L'avantage est que cela éliminait le bus d'adresse des données et ne laissait que le bus d'adresse pour la ROM. On économisait ainsi beaucoup de broches sur le circuit intégré du CPU. Et pour les applications demandant plus de RAM, on pouvait ajouter un circuit séparé qui permettait d'adresser uen RAM plus grande. Mais cela sera plus clair avec un exemple.
===Le Fairchild F8 et la console de jeu Fairchild Channel F===
Un exemple de système 8 bits avec une architecture Harvard est le Fairchild F8 de la défunte entreprise Fairchild Semiconductor. Il incorpore un processeur 8 bits, c'est à dire que le processeur fait des calculs sur des entiers de 8 bits maximum, une mémoire RAM de 64 octets, ainsi qu'une mémoire ROM de 1 kibioctet. Les 64 octets de RAM sont certes très peu, mais c'est suffisant pour certaines applications simples, comme les caisses automatiques de l'époque, ou des applications embarquées. Et de toute façon, il est possible d'ajouter de la mémoire RAM supplémentaire si les 64 octets de RAM intégrée ne suffisent pas. Le système était donc modulaire, adaptable selon les besoins, peu cher pour son implémentation minimale sans RAM en plus.
Vu qu'il s'agit d'un des tout premiers ordinateurs, il est sorti à une époque où la technologie était rudimentaire. À cette époque, le processeur était composé de pièces détachées qu'il fallait souder ensemble pour obtenir un processeur fonctionnel. Ce n'est que plus tard qu'est apparu le micro-processeur, qui regroupe un processeur complet dans un seul circuit intégré. Le résultat est que le processeur du Fairchild F8 est coupé en deux, l'unité de calcul et l'unité de contrôle sont placés dans des pièces détachées séparés.
Le microcontrôleur est composé de trois à quatre pièces détachées, certaines étant optionnelles. La première est le '''3850 CPU''', qui regroupe l'unité de calcul et la mémoire RAM intégrée. La seconde est le PSU (''3851 Program Storage Unit''), qui regroupe la mémoire ROM et l'unité de contrôle, ''program counter'' inclut. S'il y a besoin d'utiliser plus de RAM, il faut ajouter un circuit d’interface mémoire, qui est au choix le ''3852 Dynamic Memory Interface'' (DMI) ou le ''3853 Static Memory Interface'', le premier étant connecté à une mémoire de type DRAM, l'autre à une SRAM (nous verrons ce que sont les DRAM et les SRAM dans le prochain chapitre).
[[File:Fairchild F8.png|centre|vignette|upright=2|Fairchild F8]]
Le système minimal est composé d'un PSU et d'un 3850, sans les circuits d'interface mémoire. Le tout donne un système avec un processeur 8 bit, 64 octets de RAM et 1 kibioctet de ROM, les deux mémoires étant intégrées dans le "processeur". Le processeur gérait 4 entrées-sorties, chacune étant reliée avec un bus de 8 bit au processeur. Au passage, en 1977, Mostek a créé un microcontrôleur qui regroupe un PSU et un 3850 : le Mostek 3870. Le système minimal n'avait pas de bus d'adresse, vu que la RAM était intégrée au processeur. C'est les 3852 et 3853 qui ajoutaient un bus d'adresse. Ils ajoutent un bus d'adresse de 16 bits, ce qui permet d'adresser 64 kibioctets de RAM.
[[File:Fairchild-Channel-F.jpg|vignette|un Fairchild Channel F]]
Le Fairchild F8 a été utilisé dans la Fairchild Channel F, une des toute première console de seconde génération, à savoir des consoles qui utilisaient des cartouches de jeu. Avant les consoles de seconde génération, les consoles étaient non-programmables. Elles étaient conçues pour faire tourner un jeu précis, aucun autre, le jeu étant implémenté dans leurs circuits.
La Fairchild Channel F est composé du système minimal, auquel on a ajouté une carte son rudimentaire et 2 kibioctets de mémoire vidéo. La mémoire vidéo sert uniquement pour afficher des images à l'écran : on écrit l'image à afficher dedans, un circuit vidéo se charge de l'afficher à l'écran automatiquement. Le processeur ne fait qu'écrire dans cette RAM vidéo, il ne peut pas en lire le contenu. De la RAM supplémentaire peut cependant être ajoutée dans les cartouches de jeu.
===L'usage d'une architecture Harvard modifiée : les consoles 8 bits===
Pour encore améliorer la situation, il est possible d'utiliser une architecture Harvard modifiée, qui permet de lire des données depuis la mémoire ROM. Cela réduit encore plus les besoins en mémoire RAM. Les constantes manipulées par le programme sont mémorisées en ROM, lues depuis la ROM, au lieu d'être chargées en RAM. Les consoles de jeu utilisaient beaucoup de stratagème.
L'exemple type est celui des consoles 8 bits avec des graphismes en 2D. La cartouche de jeu contenait une ROM, qui mémorisait le code du jeu, les niveaux, les sprites et autres données graphiques. Leur carte graphique lisait directement les ''sprites'' depuis la mémoire ROM, sans avoir à les charger en mémoire vidéo. La mémoire vidéo se contentait de mémoriser le reste des informations graphiques, ainsi que des pointeurs vers les ''sprites'' en ROM. En conséquence, les consoles 8 bits n'avaient pas besoin de beaucoup de RAM, vu qu'une grande partie des données utiles étaient dans une ROM directement accessible par le processeur. A l'opposé, les micro-ordinateurs devaient copier les données d'un jeu depuis une disquette dans la mémoire RAM, ce qui demandait d'avoir plus de RAM.
Le passage au support CD sur les consoles 32 bits a eu la même conséquence. Le processeur ne pouvant pas lire directement le CD à sa guise, il fallait copier les données du CD en RAM. D'où l'apparition de temps de chargement assez longs, inexistants sur support cartouche.
Avec ce genre de stratagèmes, 256 octets de RAM est largement suffisant sur de nombreux systèmes, à condition qu'on ait assez de ROM pour coder un programme digne de ce nom. Par exemple, de nombreux systèmes embarqués simples s'en accommodent : des caisses enregistreuses, des systèmes de régulation de feu de circulation, etc.
===Le HP Nanoprocessor : un processeur sans ALU===
Un dernier exemple est celui du processeur HP Nanoprocessor, de l'entreprise HP. Il a été commercialisé en 1974, en même temps que les premiers micro-processeurs d'Intel. Tous les processeurs de l'époque étaient des processeurs 8 bits et le HP Nanoprocessor ne faisait pas exception. Ce n'était pas un processeur haute performance, il était destiné à des applications d'informatique industrielle ou embarquée. D'ailleurs, il utilisait des transistors de type metal-gate, peu performants, là où ses contemporains utilisait des transistors en silicium, plus performants.
Mais une caractéristique qui rend cela encore plus claire est qu'il n'y a pas d'ALU ! En effet, ce processeur est incapable de faire des additions, des soustractions ou autres opérations simples ! Il est cependant capable d'effectuer des incrémentations et décrémentations, des décalages, des opérations logiques comme des ET/OU/NON/XOR et bien d'autres. Il supporte en tout 48 instructions, avec un support limité des modes d'adressage indirects. Les instructions de branchement étaient des instructions SKIP, il n'y avait pas d'instructions de branchement généralistes.
Pour ce qui est des registres, il disposait de 16 registres de 8 bits et d'un accumulateur. Niveau mémoire, il était relié à une mémoire ROM, rien de plus. Il n'avait de RAM supplémentaire qu'on pouvait lui adjoindre, il devait se débrouiller avec seulement ses registres. Et cela ne posait pas de problèmes pour son usage. Seul le mode d'adressage indirect à registre est supporté, il n'y a pas de registres d'indices. Ce mode d'adressage permet de lire des données en mémoire ROM, la ROM pouvant contenir des tableaux de valeurs constantes.
: Il est possible de lui adjoindre de la RAM via les ports d'entrée-sortie, ainsi qu'une ALU, mais RAM et ALU sont traités comme des périphériques avec lesquels on communique, ils ne sont pas intégrés au processeur.
Niveau micro-architecture, il incorporait une unité de calcul logique et un circuit comparateur. Le comparateur était un circuit comparateur série des plus basiques, qui était utilisé pour les instructions de branchement et associées. L'unité de calcul logique gérait des incrémentations/décrémentation, des décalages, les opérations logiques et quelques autres. L'unité de calcul logique était bit-slicée, à savoir conçue en assemblant 8 ALU de 1 bit chacune, enchainées en série. Le tout était combiné à des circuits de ''carry skip''.
[[File:Unité de calcul du HP nanonprocessor.png|centre|vignette|upright=2|Unité de calcul du HP nanoprocessor]]
Son unité de décodage d'instruction était très simple, essentiellement basée sur des portes NOR, grâce à un encodage efficace des instructions machine. Le ''program counter'' fait 11 bits, ce qui permet d'adresser une ROM de 2 kibioctets. Le ''program counter'' était relié à un circuit incrémenteur qui gérait les isntructions SKIP (il pouvait incrémenter le ''program counter'' par pas de 1 ou de 2 en cas de SKIP). Le processeur contient aussi deux registres, qui servent en quelque sorte de pile d'adresse de retour. Un premier registre mémorise l'adresse de retour d'une fonction, l'autre mémorise le ''program counter'' lors d'une interruption, pour savoir où brancher à la fin de l'interruption.
[[File:HP nanoprocessor.png|centre|vignette|upright=2.5|HP nanoprocessor]]
Fait intéressant, le concepteur du processeur a gracieusement donné les masques utilisés pour graver le silicium du processeur au site [https://www.cpushack.com/ CPU Shack]. Les masques en question sont disponibles ici :
* [https://www.cpushack.com/2020/08/20/hp-nanoprocessor-mask-set/ HP NanoProcessor Mask Set]
* [https://www.cpushack.com/2020/08/09/the-forgotten-ones-hp-nanoprocessor/ The Forgotten Ones: HP Nanoprocessor]
Les masques ont été analysés par Ken Shirrif dans cet article de blog :
* [https://www.righto.com/2020/09/hp-nanoprocessor-part-ii-reverse.html HP Nanoprocessor part II: Reverse-engineering the circuits from the masks]
==Les processeurs 8/16 bits à architecture Von Neumann==
L'usage d'une architecture Harvard est une solution pour adresser plus de mémoire avec des CPU 8 bits. Mais plusieurs microprocesseurs commerciaux n'utilisaient pas cette solution. À la place, c'était des architectures Von Neumann, mais qui étaient capables de gérer des adresses de 16 bits. Les données faisaient 8 bits, les registres faisaient 8 bits, mais quelques techniques permettaient de gérer des adresses de 16 bits. Nous parlerons de '''processeurs 8/16 bits''' pour les désigner, et nous allons les étudier à part.
Un point important est que la gestion d'adresses de 16 bits permet d'adresser 64 kibioctets, qui peuvent être remplis avec de la RAM et de la ROM. On a donc le meilleur des mondes : 64 kibioctets de mémoire, mais avec des données de 8 bits et les économies de circuit qui vont avec. L'avantage est que le processeur peut maintenant gérer une vraie pile d'appel, pas seulement une pile d'adresse de retour. Il lui suffit pour cela d'intégrer un pointeur de pile codé sur 16 bits.
===Les modes d'adressage par page des CPU Motorola===
Les processeurs Motorola 8 bits étaient des processeurs 8 bits avec un bus d'adresse de 16 bits. C'était des processeurs à accumulateur incorporant deux registres d'indice, un registre d'état, un pointeur de pile, et un ''program counter''. Tous les registres sont reliés au bus d'adresse, sauf le registre d'état et l’accumulateur. Tous les registres font 8 bits, sauf le ''program counter''. La pile est câblée pour être dans un bloc de 256 octets compris entre l'adresse 1 0000 0000 et l'adresse 1 1111 1111, ce qui fait que son adressage se fait avec un seul octet.
[[File:6502-architecture.svg|centre|vignette|upright=1.5|Architecture simplifiée du 6502.</br> X et Y : registres d'indice ;</br> S : le pointeur de pile ;</br> A : accumulateur ;</br>P : registre d'état.</br>]]
Les processeurs Motorola 8 bits utilisaient une méthode simple pour adresser 64 kibioctets de RAM, avec des registres de 8 bits. Pour cela, ils utilisaient une variante de l'adressage base + décalage. Elle améliore l'adressage absolu, qui intègre l'adresse à lire/écrire dans l'instruction elle-même. L'adresse en question est de 8 bits et n'encode que les 8 bits de poids faible de l'adresse, les 8 bits de poids fort sont dans un '''registre de page''' adressé implicitement. L'adresse finale est obtenue en concaténant ce registre avec l'adresse mémoire intégrée dans l’instruction. Le résultat est que la mémoire était découpée en blocs de 256 consécutifs, chacun pouvant servir de fenêtre de 256 octets. Une page est réservée pour la pile, la seconde, comme dit plus haut.
Formellement, ce mode d'adressage a des ressemblances avec la commutation de banques, une technique qu'on verra dans les chapitres sur l'espace d'adressage et la mémoire virtuelle. Mais ce n'en est pas du tout : le registre de page est utilisé uniquement pour les accès mémoire avec le mode d'adressage base + décalage, mais pas pour les autres accès mémoire, qui gèrent des adresses complètes. Notons que l'usage d'un registre de page dédié fait que celui-ci est adressé implicitement.
Il faut noter que la technique a été utilisée sur des processeurs 16 bits, pour contourner la petite taille des instructions. Un exemple est celui du HP 2100, un processeur 16 bits. Il avait un registre de page de 5 bits et encodait 10 bits d'adresse dans ses instructions. Ses instructions d'accès mémoire disposaient d'un bit qui choisit quel mode d'adressage utiliser. S'il était à 0, l'adressage absolu était utilisé, le registre de page n'était pas utilisé. Mais s'il était à 1, le registre de page était utilisé pour calculer l'adresse.
Une évolution de l'adressage précédent est le '''mode page direct'''. Avec lui, le registre de page est étendu et contient une adresse mémoire complète. L'adresse finale n'est pas obtenue par concaténation, mais en additionnant le registre de page avec l'adresse fournie par adressage absolu + décalage. Un exemple est celui des premiers processeurs Motorola, qui géraient des adresses courtes de 8 bits. L'adresse courte de 8 bits correspondait non pas aux 256 premiers octets de la mémoire, mais à une fenêtre de 256 octets déplaçable en mémoire. La position de la fenêtre de 256 octets était spécifiée par le registre de page de 16 bits, qui précisait l'adresse du début de la fenêtre, celle de sa première donnée.
Il s'agit donc formellement d'adressage base + décalage, à un détail près : il n'y a qu'un seul registre de base. Le fait que ce registre de base soit unique fait qu'il est adressé implicitement, on n'a pas à encoder le numéro/noms de registre dans l'instruction. Le registre de base est utilisé uniquement pour l'adressage absolu, pas pour les autres accès mémoire. S'il y a des ressemblances avec la segmentation, une technique de mémoire virtuelle qu'on abordera dans quelques chapitres, ce n'en est pas vu que le registre de base est utilisé seulement pour un mode d'adressage bien précis.
===Le ''pseudo-aliasing'' des registres des processeurs Intel x86===
Voyons maintenant le cas des anciens processeurs 8 bits d'Intel à savoir l'Intel 4004, 4040, 8008 et 8080. Le Z80, un processeur inspiré des CPU Intel 8 bits, est aussi concerné. Avant de poursuivre, parlons des registres de ces processeurs. Les premiers CPU Intel incorporaient 7 registres de 8 bits nommés A, B, C, D, E, F, H, L, SP. Ils correspondent respectivement à : l'accumulateur A ; six registres nommés B, C, D, E, H et L ; le registre d'état F ; le pointeur de pile SP. Le Z80 ajoute deux registres d'indice X et Y. De plus, le Z80 dispose de registres d'interruption, qui sont en quelque sorte des copies des registres A, B, C, D, E, F, H, L. Le tout est illustré dans le tableau ci-dessous.
{|class="wikitable" style="text-align:center;"
|-
!
! Registres des CPU Intel
! Registres supplémentaires du Z80
|-
! Accumulateur
| A
| A'
|-
! Registre d'état
| F
| F'
|-
! Registres généraux
| B, C, D, E, H, L
| B', C', D', E', H', L'
|-
! Pointeur de pile
| colspan="2" | SP (sauf pour le 8008)
|-
! Registres d'indice
|
| X et Y
|}
Le 8008 incorpore une pile d'appel de 7 adresses, dans le processeur lui-même. Il en est de la même avec le 4004 et le 4040, comme on le verra dans la section sur les processeurs 4 bits. Mais le 8080 et le 8085 ont remplacé le tout par un simple pointeur de pile, afin d'avoir une véritable pile d'appel. Autant c'est impossible d'avoir une pile d'appel avec seulement 256 octets de mémoire, autant on peut se le permettre avec 65 536 adresses.
Pour gérer des adresses de 16 bits, ils auraient pu utiliser des registres d'adresse séparés, mais on préféré un système de '''pseudo-''aliasing'' de registres'''. Formellement, c'est un système qui concatène deux registres 8 bits pour obtenir une adresse de 16 bits. L’appariement a lieu lors de certaines opérations bien précises, qui n'ont de sens que pour les adresses : la lecture/écriture en mémoire, et l'incrémentation.
Il y avait cependant des contraintes quant aux paires de registres possibles, toutes les paires de registres n'étaient pas autorisées. Les CPU concernés sont donc des processeurs hybrides accumulateur-registre généraux. L'accumulateur ne peut pas être appairé, seuls les registres généraux le peuvent. Le Z80 autorise plus de paires que les CPU Intel. Voici les paires de registres qui pouvaient servir d'adresse 16 bits :
* Les CPU 8008 d'Intel autorisait une seule paire formée des registres H et L.
* Les autres processeurs, à savoir le 8080, le 8085 et le Z80, autorisaient : les paires BC, DE et HL.
Le 8008 ne gérait que des opérations sur 8 bits. Mais le 8080 et le 8085 ont ajouté des instructions 16 bits qui agissaient sur des paires de registre, que le Z80 a repris. Une paire de registres est considérée comme un registre unique de 16 bits pour certaines opérations arithmétiques, dont l'incrémentation. Voici la liste des instructions concernées :
* INC et DEC pour l'incrémentation et la décrémentation ;
* DAD : additionne le registre HL avec une autre paire (Hl inclus) ;
* LXI : copie une constante immédiate dans une paire de registres ;
* LHLD : lit 16 depuis la mémoire et l'enregistre dans une paire de registres ;
* SHLD : copie 16 bits depuis une paire de registres et l'enregistre en mémoire ;
* PUSH et POP : empile ou dépilent une paire de registre sur la pile ;
* XTHL : échange la paire HL avec les 16 bits au sommet de la pile d'appel ;
* XCHG : échange le contenu de la paire HL et DE.
Pour résumer, le processeur avait des instructions LOAD, STORE, PUSH et POP adaptées pour gérer des paires de registre. De plus, l'instruction XCHG permettait d’échanger le contenu des paires DE et HL. L'instruction a été étendue sur les processeurs 16 bits pour échanger tous les registres. Mais l'implémentation était alors différente. L'incrémentation sur une paire de 16 bit était très utile, car les adresses sont souvent incrémentées quand on parcours un tableau. Ces instructions nous donnent quelques indices sur ce qu'il y a dans le processeur.
Le système de pseudo-aliasing a un impact sur le banc de registre. Le banc de registre regroupe les registres généraux et le pointeur de pile, mais ne contient pas l'accumulateur. Les contraintes sur les paires de registres possibles ne s'expliquent que d'une seule manière : le banc de registre contient des registres de 16 bits, une paire de registres 8 bits est mémorisée dans un registre unique. Il faut donc faire une différence entre les registres architecturaux de 8 bits, et les registres réels de 16 bits.
Le banc de registre a un port de 8 bits pour les données, qui est fabriqué à partir d'un port 16 bits auquel on a rajouté un multiplexeur pour choisir soit l'octet de poids faible, soit l'octet de poids fort. Le bus de données fait 8 bits, ce qui fait que les instructions LOAD, STORE, PUSH et POP pour paires 16 bits sont réalisées en deux fois : on lit/écrit l'octet de poids faible, puis celui de poids fort. Par contre, le bus d'adresse fait bien 16 bits. Cela suggère que le banc de registre dispose d'un port de 16 bits dédié aux adresses, en plus du port de données 8 bits.
[[File:Architecture d'un CPU 8-16 bits avec un banc de registre double port.png|centre|vignette|upright=2|Architecture d'un CPU 8-16 bits avec un banc de registre double port]]
L'incrémentation d'une paire 16 bits ne coute rien à implémenter, ou presque. En effet, le processeur incorpore un incrémenteur 16 bits pour le ''program counter'', qui est relié au bus d'adresse. L'idée est de rentabiliser cet incrémenteur, en lui permettant d'incrémenter des données/adresses de 16 bits obtenues via pseudo-aliasing. De même, il peut être utilisé pour incrémenter le pointeur de pile, voire un compteur de rafraichissement mémoire (pour rappel, le rafraîchissement mémoire demande de balayer la mémoire d'adresse en adresse et été fait par le CPU à l'époque). Pour cela, il suffit de connecter le ''program counter'', le banc de registre, et l'incrémenteur, via un bus dédié.
[[File:Calcul d'adresse par ALU dédiée avec PC séparé.png|centre|vignette|upright=2|Calcul d'adresse par ALU dédiée avec PC séparé]]
Notez qu'on peut encore simplifier le tout en placant le ''program counter'' dans le banc de registre, ce qui ne gênera pas le travail de l'incrémenteur mais simplifiera le câblage au bus d'adresse. Ce n'était pas systématique, certains processeurs mettaient le ''program counter'' dans le banc de registre, d'autres non.
: Inclure le ''program counter'' dans le banc de registre permet parfois de remplir un vide. Par exemple, sur un processeur avec 12 registres, le banc de registre devrait faire idéalement 16 registres, inclure le ''program counter'' dedans fait monter le tout à 13.
[[File:Architecture d'un CPU 8-16 bits.png|centre|vignette|upright=2|Architecture d'un CPU 8-16 bits]]
Les processeurs Intel 8 bits, à savoir le 8008, le 8080 et le 8085 ; mettaient le ''program counter'' dans le banc de registre. Vous avez donc toutes les armes pour comprendre leur micro-architecture. Par exemple, voici la micro-architecture du processeur 8080. Remarquez le banc de registre, qui contient tous les registres sauf l'accumulateur et le registre. Il a deux ports : un pour les adresses et un pour les données. Notez le dé-multiplexeur sur le port de donnée. Pour le reste, il s'agit d'une architecture à accumulateur hybride des plus classiques.
[[File:Intel 8080 arch.svg|centre|vignette|upright=3|Microarchitecture de l'Intel 8080.]]
Le Z80 est un processeur inspiré du design des processeurs Intel 8 bits, mais avec pas mal d'améliorations. Un point particulier de ce processeur est son banc de registre. Il contient tous les registres du processeur, y compris l'accumulateur et le registre d'état ! Les seuls registres en-dehors du banc de registre sont le ''program counter'' et un compteur de rafraichissement mémoire IR.
Un autre point particulier est que les registres dans le banc de registres avaient une copie séparée accessible uniquement pour les interruptions, via fenêtrage de registres. Et l'accumulateur et le registre d'état étant dans le banc de registre, il y avait deux accumulateurs et deux registres d'état. Les registres A, B, C, D, E et F étaient dupliqués, par le pointeur de pile ni les registres d'indice. Les copies des registres étaient nommées A', B', C', D', E' et F'.
Le Z80 supportait des instructions d'échange de registre en plus des CPU Intel 8 bits. L'instruction EX peut échanger soit le contenu des paires D,E et H,F, soit la paire A,F avec la paire A',F'. L'instruction EXX échange les paires BC, DE, HL avec les paires BC', DE', HL'. En faisant cela, le programmeur pouvait utiliser deux fois plus de registres généraux s'il n'utilisait pas les interruptions. L'échange de paires se fait sans copies de registres, mais simplement en modifiant l'adresse envoyée sur le banc de registre. Pour cela, plusieurs bascules mémorisent des bits qui indiquent si les paires ont été échangées ou non. Il y a une bascule pour les paires DE , HL ; une autre pour les paires A,F et paire A',F', une dernière pour l'instruction EXX. En combinant ces bascules avec les noms de registres envoyés par le séquenceur, on peut échanger les paires de registres.
==Le cas particulier des processeurs 4 bits : le 4004 d'Intel==
L'Intel 4004 était le tout premier micro-processeur. Il s'agissait d'un microprocesseur de 4 bits, basé sur une architecture à accumulateur. Il disposait d'un accumulateur et de 16 registres d'indice, tous de 4 bits. Il faisait des calculs sur des données de 4 bits, appelées des nibbles. Cependant, sur ses 46 instructions machines supportées, 41 agissaient sur des opérandes de 8 bits, les 5 restantes sur des opérandes de 16 bits. Simplement, les calculs se faisaient en deux fois, en échangeant des données entre mémoire RAM et accumulateur.
Le 4004 est un circuit intégré avec peu de broches. Il dispose notamment d'un bus de données/adresse, qui est multiplexé, c’est-à-dire qu'il sert alternativement de bus de données et de bus d'adresse selon les besoins. Le bus de commande mémoire fait 5 bits, dont 4 pour les chips de RAM, un pour la ROM. Les adresses sont codées sur 12 bits, les données sur 4 et les instructions sur 8 bits. L'envoi d'une adresse sur le bus se fait en plusieurs fois, de même que la lecture d'une instruction. Il s'agit là d'une adaptation pour outrepasser les limitations d'un processeur 4 bit.
[[File:Intel 4004 processor pinout.png|centre|vignette|upright=2|Broches de l'Intel 4004. Nous verrons à quoi elles servent plus bas.]]
===L'espace d'adressage de l'Intel 4004===
Les adresses du processeur sont sur 12 bits, ce qui fait 4096 adresses différentes. Elles regroupent à la fois la ROM et la mémoire RAM, vu que l'architecture est une sorte de mélange bizarre entre une architecture Von Neumann et Harvard. Le processeur gère bien deux espaces d'adressage séparés, mais la RAM et la ROM sont reliés au même bus. La sortie CM-ROM du processeur indique si l'adresse envoyée correspond à la RAM ou la ROM. Un circuit de décodage d'adresse active ou désactive la RAM selon la valeur de ce bit, l'inverse pour la ROM, en agissant sur leurs bits Chip Select. Seule la RAM ou la ROM répondent alors à l'adresse.
Pour ce qui est de la RAM, le circuit de décodage d'adresse pouvait gérer au maximum 1024 adresses différentes, chacune contenant un nibble. Pour cela, le CPU 4004 était relié à une ou plusieurs RAM externes, des Intel 4002. Chaque Intel 4002 contenait 64 nibbles de données, plus 16 nibbles de statut qu'on ne détaillera pas ici. Les nibbles de statut étaient accessibles en utilisant des instructions d'entrée-sortie, donc pas avec des lectures/écritures mémoire. Les 64 nibbles de données sont découpés en 4 groupes de 16 nibbles. Le CPU pouvait être relié à maximum 16 Intel 4002, ce qui fait 1024 nibbles de données et 256 nibbles de statut. L'ensemble permet de remplir l'espace d'adressage de 1024 adresses.
===Le registre de page et le pseudo-aliasing des registres===
Sélectionner une adresse mémoire utilisait un mélange entre pseudo-aliasing et registre de page. Pour les données, les 1024 adresses étaient découpées en 4 pages de 256 adresses. Pour la ROM, les 4096 adresses étaient découpées en 16 pages de 256 adresses. Localiser une donnée dans une page ne requiert que 8 bits, 2/4 bits supplémentaires permettent de sélectionner la page voulue. Le registre de page était dans le processeur lui-même, et était relié aux sorties du processeur nommées CM-RAM 0, 1, 2 et 3. Les 4 sorties encodaient un nombre qui permet de sélectionner le numéro de page voulu.
Le registre de page fait 5 bits : un pour distinguer RAM et ROM, 4 bits pour sélectionner la page voulue. L'avantage est que la carte mère gère au maximum 16 chips de RAM, ce qui colle parfaitement avec les 4 utilisés pour sélectionner une page. Un chip de RAM correspond à une page, et chacun est activé ou désactivé suivant la page sélectionnée. Pour cela, il suffit d'ajouter un décodeur sur la carte mère, qui prend les 4 bits du registre de page et fournit les signaux Chip Select aux différents chips de RAM.
Reste alors à utiliser les 8 bits d'adresse à l'intérieur d'un chip de RAM. Le 4004 permettait de concaténer deux registres d'indice de 4 bits pour former une adresse de 8 bits. Les instructions d'accès mémoire pouvaient ainsi préciser une paire de registre d'indice pour préciser quelle adresse lire/écrire. Idem pour les branchements indirects : le processeur supportait une instruction de branchement indirect qui précisait l'adresse dans une paire de registres d'indice. Les registres d'indice sont donc assez mal nommés sur cette architecture, vu qu'ils peuvent servir soit de registre d'indice, soit de demi-registre d'adresse. Il s'agit là du système de pseudo-aliasing des registres, mais appliqué aux registres d'indice.
L'Intel 4004 gérait deux instructions pour gérer les adresses mémoires. La première, l'instruction DCL (''Designate Command Line'') configure le registre de page. Elle prend en entrée un numéro de page et le copie dans le registre de page. L'opérande peut provenir d'un registre d'indice ou de l'accumulateur. La seconde, l'instruction SRC (''Send Register Control'') concatène deux registres d'indice pour obtenir une adresse de 8 bits. Un accès mémoire se fait donc en maximum trois instructions : une qui configure le registre de page si ce n'est pas déjà fait, une instruction SRC pour envoyer l'adresse, et une troisième instruction qui dit s'il faut faire une lecture ou une écriture.
===La microarchitecture de l'Intel 4004===
Il incorporait une pile d'adresse de retour intégrée au processeur. La pile d'adresse acceptait exactement 3 adresses maximum. Elle était regroupée avec le ''program counter'' dans un banc de registre, de 4 registres. Le ''program counter'' et le pointeur de pile faisaient chacun 12 bits, soit trois nibble. Ils étaient incrémentés par un incrémenteur dédié.
SI on omet le registre de page et la pile d'adresse, le 4004 est une architecture à accumulateur des plus classiques, avec un bus interne unique, un banc de registre pour les registres d'indices, un accumulateur relié à une unité de calcul. Les registres d'indice étaient dans un banc de registre séparés, car ils faisaient 4 bits chacun, contrairement au pointeur de pile et le ''program counter''. Un détail important est que les bancs de registres du 4004 étaient implémentés avec de la DRAM, et non des registres usuels fabriqués avec des bascules 1 bit.
[[File:Microarchitecture de l'Intel 4004.png|centre|vignette|upright=2.5|Microarchitecture de l'Intel 4004]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures à accumulateur
| prevText=Les architectures à accumulateur
| next=Les architectures à pile et mémoire-mémoire
| nextText=Les architectures à pile et mémoire-mémoire
}}
</noinclude>
mf8j9vz4x1oov0xmcgtf33wich3jxuk
762877
762872
2026-04-04T13:42:33Z
Mewtow
31375
/* La microarchitecture de l'Intel 4004 */
762877
wikitext
text/x-wiki
Nous avons déjà abordé la notion de processeur 8, 16, 32, 64 bits. Elle désigne la taille des registres généraux, ou de l'accumulateur. De nos jours, les processeurs 32 et 64 bits sont la norme, mais les premiers micro-processeurs étaient des processeurs 4 et 8, avant de passer rapidement au 16 bits. La raison est que leur budget en transistor limité faisait qu'on ne pouvait pas utiliser une ALU trop grande : une ALU 8 bit prend deux fois moins de place et de transistors qu'une ALU 16 bits. Cependant, les processeurs 8 bits avaient de sérieuses limitations qui étaient compensées par diverses solutions. Dans ce chapitre, nous allons faire une revue rapide des processeurs 8 bits et de leurs fonctionnalités.
La principale limitation des CPU 8 bits était l'adressage : des registres de 8 bits limitaient l'espace d'adressage à seulement 256 adresses, soit à peine 256 octets ! Intuitivement, on se dit que 256 octets est purement impraticable, on ne peut rien faire d'intéressant avec seulement 256 de RAM + ROM. Et c'est partiellement vrai. L'adage veut que 16 bits est la taille minimale intéressante, la limite à partir de laquelle on a assez de mémoire RAM/ROM pour coder des applications intéressantes. Mais 256 octets de RAM est largement suffisant sur de nombreux systèmes embarqués simples s'en accommodent : des caisses enregistreuses, des systèmes de régulation de feu de circulation, etc.
Pour les applications demandant plus de mémoire RAM, les CPU de l'époque contournaient la limitation de 256 octets de RAM avec de nombreux stratagèmes. Dans ce qui va suivre, nous allons séparer les CPU 8 bits selon qu'ils utilisent une architecture Harvard ou une architecture Von Neumann. La raison est qu'une architecture Harvard permet en soi de contourner partiellement ce problème d'adressage. Les choses sont plus compliquées avec une architecture Von Neumann.
==Les processeurs 8/16 bits à architecture Harvard ==
La première solution est d'utiliser une architecture Harvard. Le processeur 8 bit a alors deux espaces d'adressage : un pour la RAM, un autre pour la ROM. Et les deux utilisent des adresses de taille différente. La ROM est reliée à un bus d'adresse de 16 bits, alors que la RAM est elle connectée à un bus d'adresse de 8 bits. La RAM est donc limitée à 256 octets, alors que la ROM peut monter jusqu'à 64 kibioctets. Mine de rien, faire ainsi est largement suffisant.
Les processeurs de l'époque intégraient parfois les 256 octets de RAM directement dans le processeur. Beaucoup en implémentaient moins, avec par exemple seulement 64 octets de RAM, ou 32 octets, ou 128 octets. L'avantage est que cela éliminait le bus d'adresse des données et ne laissait que le bus d'adresse pour la ROM. On économisait ainsi beaucoup de broches sur le circuit intégré du CPU. Et pour les applications demandant plus de RAM, on pouvait ajouter un circuit séparé qui permettait d'adresser uen RAM plus grande. Mais cela sera plus clair avec un exemple.
===Le Fairchild F8 et la console de jeu Fairchild Channel F===
Un exemple de système 8 bits avec une architecture Harvard est le Fairchild F8 de la défunte entreprise Fairchild Semiconductor. Il incorpore un processeur 8 bits, c'est à dire que le processeur fait des calculs sur des entiers de 8 bits maximum, une mémoire RAM de 64 octets, ainsi qu'une mémoire ROM de 1 kibioctet. Les 64 octets de RAM sont certes très peu, mais c'est suffisant pour certaines applications simples, comme les caisses automatiques de l'époque, ou des applications embarquées. Et de toute façon, il est possible d'ajouter de la mémoire RAM supplémentaire si les 64 octets de RAM intégrée ne suffisent pas. Le système était donc modulaire, adaptable selon les besoins, peu cher pour son implémentation minimale sans RAM en plus.
Vu qu'il s'agit d'un des tout premiers ordinateurs, il est sorti à une époque où la technologie était rudimentaire. À cette époque, le processeur était composé de pièces détachées qu'il fallait souder ensemble pour obtenir un processeur fonctionnel. Ce n'est que plus tard qu'est apparu le micro-processeur, qui regroupe un processeur complet dans un seul circuit intégré. Le résultat est que le processeur du Fairchild F8 est coupé en deux, l'unité de calcul et l'unité de contrôle sont placés dans des pièces détachées séparés.
Le microcontrôleur est composé de trois à quatre pièces détachées, certaines étant optionnelles. La première est le '''3850 CPU''', qui regroupe l'unité de calcul et la mémoire RAM intégrée. La seconde est le PSU (''3851 Program Storage Unit''), qui regroupe la mémoire ROM et l'unité de contrôle, ''program counter'' inclut. S'il y a besoin d'utiliser plus de RAM, il faut ajouter un circuit d’interface mémoire, qui est au choix le ''3852 Dynamic Memory Interface'' (DMI) ou le ''3853 Static Memory Interface'', le premier étant connecté à une mémoire de type DRAM, l'autre à une SRAM (nous verrons ce que sont les DRAM et les SRAM dans le prochain chapitre).
[[File:Fairchild F8.png|centre|vignette|upright=2|Fairchild F8]]
Le système minimal est composé d'un PSU et d'un 3850, sans les circuits d'interface mémoire. Le tout donne un système avec un processeur 8 bit, 64 octets de RAM et 1 kibioctet de ROM, les deux mémoires étant intégrées dans le "processeur". Le processeur gérait 4 entrées-sorties, chacune étant reliée avec un bus de 8 bit au processeur. Au passage, en 1977, Mostek a créé un microcontrôleur qui regroupe un PSU et un 3850 : le Mostek 3870. Le système minimal n'avait pas de bus d'adresse, vu que la RAM était intégrée au processeur. C'est les 3852 et 3853 qui ajoutaient un bus d'adresse. Ils ajoutent un bus d'adresse de 16 bits, ce qui permet d'adresser 64 kibioctets de RAM.
[[File:Fairchild-Channel-F.jpg|vignette|un Fairchild Channel F]]
Le Fairchild F8 a été utilisé dans la Fairchild Channel F, une des toute première console de seconde génération, à savoir des consoles qui utilisaient des cartouches de jeu. Avant les consoles de seconde génération, les consoles étaient non-programmables. Elles étaient conçues pour faire tourner un jeu précis, aucun autre, le jeu étant implémenté dans leurs circuits.
La Fairchild Channel F est composé du système minimal, auquel on a ajouté une carte son rudimentaire et 2 kibioctets de mémoire vidéo. La mémoire vidéo sert uniquement pour afficher des images à l'écran : on écrit l'image à afficher dedans, un circuit vidéo se charge de l'afficher à l'écran automatiquement. Le processeur ne fait qu'écrire dans cette RAM vidéo, il ne peut pas en lire le contenu. De la RAM supplémentaire peut cependant être ajoutée dans les cartouches de jeu.
===L'usage d'une architecture Harvard modifiée : les consoles 8 bits===
Pour encore améliorer la situation, il est possible d'utiliser une architecture Harvard modifiée, qui permet de lire des données depuis la mémoire ROM. Cela réduit encore plus les besoins en mémoire RAM. Les constantes manipulées par le programme sont mémorisées en ROM, lues depuis la ROM, au lieu d'être chargées en RAM. Les consoles de jeu utilisaient beaucoup de stratagème.
L'exemple type est celui des consoles 8 bits avec des graphismes en 2D. La cartouche de jeu contenait une ROM, qui mémorisait le code du jeu, les niveaux, les sprites et autres données graphiques. Leur carte graphique lisait directement les ''sprites'' depuis la mémoire ROM, sans avoir à les charger en mémoire vidéo. La mémoire vidéo se contentait de mémoriser le reste des informations graphiques, ainsi que des pointeurs vers les ''sprites'' en ROM. En conséquence, les consoles 8 bits n'avaient pas besoin de beaucoup de RAM, vu qu'une grande partie des données utiles étaient dans une ROM directement accessible par le processeur. A l'opposé, les micro-ordinateurs devaient copier les données d'un jeu depuis une disquette dans la mémoire RAM, ce qui demandait d'avoir plus de RAM.
Le passage au support CD sur les consoles 32 bits a eu la même conséquence. Le processeur ne pouvant pas lire directement le CD à sa guise, il fallait copier les données du CD en RAM. D'où l'apparition de temps de chargement assez longs, inexistants sur support cartouche.
Avec ce genre de stratagèmes, 256 octets de RAM est largement suffisant sur de nombreux systèmes, à condition qu'on ait assez de ROM pour coder un programme digne de ce nom. Par exemple, de nombreux systèmes embarqués simples s'en accommodent : des caisses enregistreuses, des systèmes de régulation de feu de circulation, etc.
===Le HP Nanoprocessor : un processeur sans ALU===
Un dernier exemple est celui du processeur HP Nanoprocessor, de l'entreprise HP. Il a été commercialisé en 1974, en même temps que les premiers micro-processeurs d'Intel. Tous les processeurs de l'époque étaient des processeurs 8 bits et le HP Nanoprocessor ne faisait pas exception. Ce n'était pas un processeur haute performance, il était destiné à des applications d'informatique industrielle ou embarquée. D'ailleurs, il utilisait des transistors de type metal-gate, peu performants, là où ses contemporains utilisait des transistors en silicium, plus performants.
Mais une caractéristique qui rend cela encore plus claire est qu'il n'y a pas d'ALU ! En effet, ce processeur est incapable de faire des additions, des soustractions ou autres opérations simples ! Il est cependant capable d'effectuer des incrémentations et décrémentations, des décalages, des opérations logiques comme des ET/OU/NON/XOR et bien d'autres. Il supporte en tout 48 instructions, avec un support limité des modes d'adressage indirects. Les instructions de branchement étaient des instructions SKIP, il n'y avait pas d'instructions de branchement généralistes.
Pour ce qui est des registres, il disposait de 16 registres de 8 bits et d'un accumulateur. Niveau mémoire, il était relié à une mémoire ROM, rien de plus. Il n'avait de RAM supplémentaire qu'on pouvait lui adjoindre, il devait se débrouiller avec seulement ses registres. Et cela ne posait pas de problèmes pour son usage. Seul le mode d'adressage indirect à registre est supporté, il n'y a pas de registres d'indices. Ce mode d'adressage permet de lire des données en mémoire ROM, la ROM pouvant contenir des tableaux de valeurs constantes.
: Il est possible de lui adjoindre de la RAM via les ports d'entrée-sortie, ainsi qu'une ALU, mais RAM et ALU sont traités comme des périphériques avec lesquels on communique, ils ne sont pas intégrés au processeur.
Niveau micro-architecture, il incorporait une unité de calcul logique et un circuit comparateur. Le comparateur était un circuit comparateur série des plus basiques, qui était utilisé pour les instructions de branchement et associées. L'unité de calcul logique gérait des incrémentations/décrémentation, des décalages, les opérations logiques et quelques autres. L'unité de calcul logique était bit-slicée, à savoir conçue en assemblant 8 ALU de 1 bit chacune, enchainées en série. Le tout était combiné à des circuits de ''carry skip''.
[[File:Unité de calcul du HP nanonprocessor.png|centre|vignette|upright=2|Unité de calcul du HP nanoprocessor]]
Son unité de décodage d'instruction était très simple, essentiellement basée sur des portes NOR, grâce à un encodage efficace des instructions machine. Le ''program counter'' fait 11 bits, ce qui permet d'adresser une ROM de 2 kibioctets. Le ''program counter'' était relié à un circuit incrémenteur qui gérait les isntructions SKIP (il pouvait incrémenter le ''program counter'' par pas de 1 ou de 2 en cas de SKIP). Le processeur contient aussi deux registres, qui servent en quelque sorte de pile d'adresse de retour. Un premier registre mémorise l'adresse de retour d'une fonction, l'autre mémorise le ''program counter'' lors d'une interruption, pour savoir où brancher à la fin de l'interruption.
[[File:HP nanoprocessor.png|centre|vignette|upright=2.5|HP nanoprocessor]]
Fait intéressant, le concepteur du processeur a gracieusement donné les masques utilisés pour graver le silicium du processeur au site [https://www.cpushack.com/ CPU Shack]. Les masques en question sont disponibles ici :
* [https://www.cpushack.com/2020/08/20/hp-nanoprocessor-mask-set/ HP NanoProcessor Mask Set]
* [https://www.cpushack.com/2020/08/09/the-forgotten-ones-hp-nanoprocessor/ The Forgotten Ones: HP Nanoprocessor]
Les masques ont été analysés par Ken Shirrif dans cet article de blog :
* [https://www.righto.com/2020/09/hp-nanoprocessor-part-ii-reverse.html HP Nanoprocessor part II: Reverse-engineering the circuits from the masks]
==Les processeurs 8/16 bits à architecture Von Neumann==
L'usage d'une architecture Harvard est une solution pour adresser plus de mémoire avec des CPU 8 bits. Mais plusieurs microprocesseurs commerciaux n'utilisaient pas cette solution. À la place, c'était des architectures Von Neumann, mais qui étaient capables de gérer des adresses de 16 bits. Les données faisaient 8 bits, les registres faisaient 8 bits, mais quelques techniques permettaient de gérer des adresses de 16 bits. Nous parlerons de '''processeurs 8/16 bits''' pour les désigner, et nous allons les étudier à part.
Un point important est que la gestion d'adresses de 16 bits permet d'adresser 64 kibioctets, qui peuvent être remplis avec de la RAM et de la ROM. On a donc le meilleur des mondes : 64 kibioctets de mémoire, mais avec des données de 8 bits et les économies de circuit qui vont avec. L'avantage est que le processeur peut maintenant gérer une vraie pile d'appel, pas seulement une pile d'adresse de retour. Il lui suffit pour cela d'intégrer un pointeur de pile codé sur 16 bits.
===Les modes d'adressage par page des CPU Motorola===
Les processeurs Motorola 8 bits étaient des processeurs 8 bits avec un bus d'adresse de 16 bits. C'était des processeurs à accumulateur incorporant deux registres d'indice, un registre d'état, un pointeur de pile, et un ''program counter''. Tous les registres sont reliés au bus d'adresse, sauf le registre d'état et l’accumulateur. Tous les registres font 8 bits, sauf le ''program counter''. La pile est câblée pour être dans un bloc de 256 octets compris entre l'adresse 1 0000 0000 et l'adresse 1 1111 1111, ce qui fait que son adressage se fait avec un seul octet.
[[File:6502-architecture.svg|centre|vignette|upright=1.5|Architecture simplifiée du 6502.</br> X et Y : registres d'indice ;</br> S : le pointeur de pile ;</br> A : accumulateur ;</br>P : registre d'état.</br>]]
Les processeurs Motorola 8 bits utilisaient une méthode simple pour adresser 64 kibioctets de RAM, avec des registres de 8 bits. Pour cela, ils utilisaient une variante de l'adressage base + décalage. Elle améliore l'adressage absolu, qui intègre l'adresse à lire/écrire dans l'instruction elle-même. L'adresse en question est de 8 bits et n'encode que les 8 bits de poids faible de l'adresse, les 8 bits de poids fort sont dans un '''registre de page''' adressé implicitement. L'adresse finale est obtenue en concaténant ce registre avec l'adresse mémoire intégrée dans l’instruction. Le résultat est que la mémoire était découpée en blocs de 256 consécutifs, chacun pouvant servir de fenêtre de 256 octets. Une page est réservée pour la pile, la seconde, comme dit plus haut.
Formellement, ce mode d'adressage a des ressemblances avec la commutation de banques, une technique qu'on verra dans les chapitres sur l'espace d'adressage et la mémoire virtuelle. Mais ce n'en est pas du tout : le registre de page est utilisé uniquement pour les accès mémoire avec le mode d'adressage base + décalage, mais pas pour les autres accès mémoire, qui gèrent des adresses complètes. Notons que l'usage d'un registre de page dédié fait que celui-ci est adressé implicitement.
Il faut noter que la technique a été utilisée sur des processeurs 16 bits, pour contourner la petite taille des instructions. Un exemple est celui du HP 2100, un processeur 16 bits. Il avait un registre de page de 5 bits et encodait 10 bits d'adresse dans ses instructions. Ses instructions d'accès mémoire disposaient d'un bit qui choisit quel mode d'adressage utiliser. S'il était à 0, l'adressage absolu était utilisé, le registre de page n'était pas utilisé. Mais s'il était à 1, le registre de page était utilisé pour calculer l'adresse.
Une évolution de l'adressage précédent est le '''mode page direct'''. Avec lui, le registre de page est étendu et contient une adresse mémoire complète. L'adresse finale n'est pas obtenue par concaténation, mais en additionnant le registre de page avec l'adresse fournie par adressage absolu + décalage. Un exemple est celui des premiers processeurs Motorola, qui géraient des adresses courtes de 8 bits. L'adresse courte de 8 bits correspondait non pas aux 256 premiers octets de la mémoire, mais à une fenêtre de 256 octets déplaçable en mémoire. La position de la fenêtre de 256 octets était spécifiée par le registre de page de 16 bits, qui précisait l'adresse du début de la fenêtre, celle de sa première donnée.
Il s'agit donc formellement d'adressage base + décalage, à un détail près : il n'y a qu'un seul registre de base. Le fait que ce registre de base soit unique fait qu'il est adressé implicitement, on n'a pas à encoder le numéro/noms de registre dans l'instruction. Le registre de base est utilisé uniquement pour l'adressage absolu, pas pour les autres accès mémoire. S'il y a des ressemblances avec la segmentation, une technique de mémoire virtuelle qu'on abordera dans quelques chapitres, ce n'en est pas vu que le registre de base est utilisé seulement pour un mode d'adressage bien précis.
===Le ''pseudo-aliasing'' des registres des processeurs Intel x86===
Voyons maintenant le cas des anciens processeurs 8 bits d'Intel à savoir l'Intel 4004, 4040, 8008 et 8080. Le Z80, un processeur inspiré des CPU Intel 8 bits, est aussi concerné. Avant de poursuivre, parlons des registres de ces processeurs. Les premiers CPU Intel incorporaient 7 registres de 8 bits nommés A, B, C, D, E, F, H, L, SP. Ils correspondent respectivement à : l'accumulateur A ; six registres nommés B, C, D, E, H et L ; le registre d'état F ; le pointeur de pile SP. Le Z80 ajoute deux registres d'indice X et Y. De plus, le Z80 dispose de registres d'interruption, qui sont en quelque sorte des copies des registres A, B, C, D, E, F, H, L. Le tout est illustré dans le tableau ci-dessous.
{|class="wikitable" style="text-align:center;"
|-
!
! Registres des CPU Intel
! Registres supplémentaires du Z80
|-
! Accumulateur
| A
| A'
|-
! Registre d'état
| F
| F'
|-
! Registres généraux
| B, C, D, E, H, L
| B', C', D', E', H', L'
|-
! Pointeur de pile
| colspan="2" | SP (sauf pour le 8008)
|-
! Registres d'indice
|
| X et Y
|}
Le 8008 incorpore une pile d'appel de 7 adresses, dans le processeur lui-même. Il en est de la même avec le 4004 et le 4040, comme on le verra dans la section sur les processeurs 4 bits. Mais le 8080 et le 8085 ont remplacé le tout par un simple pointeur de pile, afin d'avoir une véritable pile d'appel. Autant c'est impossible d'avoir une pile d'appel avec seulement 256 octets de mémoire, autant on peut se le permettre avec 65 536 adresses.
Pour gérer des adresses de 16 bits, ils auraient pu utiliser des registres d'adresse séparés, mais on préféré un système de '''pseudo-''aliasing'' de registres'''. Formellement, c'est un système qui concatène deux registres 8 bits pour obtenir une adresse de 16 bits. L’appariement a lieu lors de certaines opérations bien précises, qui n'ont de sens que pour les adresses : la lecture/écriture en mémoire, et l'incrémentation.
Il y avait cependant des contraintes quant aux paires de registres possibles, toutes les paires de registres n'étaient pas autorisées. Les CPU concernés sont donc des processeurs hybrides accumulateur-registre généraux. L'accumulateur ne peut pas être appairé, seuls les registres généraux le peuvent. Le Z80 autorise plus de paires que les CPU Intel. Voici les paires de registres qui pouvaient servir d'adresse 16 bits :
* Les CPU 8008 d'Intel autorisait une seule paire formée des registres H et L.
* Les autres processeurs, à savoir le 8080, le 8085 et le Z80, autorisaient : les paires BC, DE et HL.
Le 8008 ne gérait que des opérations sur 8 bits. Mais le 8080 et le 8085 ont ajouté des instructions 16 bits qui agissaient sur des paires de registre, que le Z80 a repris. Une paire de registres est considérée comme un registre unique de 16 bits pour certaines opérations arithmétiques, dont l'incrémentation. Voici la liste des instructions concernées :
* INC et DEC pour l'incrémentation et la décrémentation ;
* DAD : additionne le registre HL avec une autre paire (Hl inclus) ;
* LXI : copie une constante immédiate dans une paire de registres ;
* LHLD : lit 16 depuis la mémoire et l'enregistre dans une paire de registres ;
* SHLD : copie 16 bits depuis une paire de registres et l'enregistre en mémoire ;
* PUSH et POP : empile ou dépilent une paire de registre sur la pile ;
* XTHL : échange la paire HL avec les 16 bits au sommet de la pile d'appel ;
* XCHG : échange le contenu de la paire HL et DE.
Pour résumer, le processeur avait des instructions LOAD, STORE, PUSH et POP adaptées pour gérer des paires de registre. De plus, l'instruction XCHG permettait d’échanger le contenu des paires DE et HL. L'instruction a été étendue sur les processeurs 16 bits pour échanger tous les registres. Mais l'implémentation était alors différente. L'incrémentation sur une paire de 16 bit était très utile, car les adresses sont souvent incrémentées quand on parcours un tableau. Ces instructions nous donnent quelques indices sur ce qu'il y a dans le processeur.
Le système de pseudo-aliasing a un impact sur le banc de registre. Le banc de registre regroupe les registres généraux et le pointeur de pile, mais ne contient pas l'accumulateur. Les contraintes sur les paires de registres possibles ne s'expliquent que d'une seule manière : le banc de registre contient des registres de 16 bits, une paire de registres 8 bits est mémorisée dans un registre unique. Il faut donc faire une différence entre les registres architecturaux de 8 bits, et les registres réels de 16 bits.
Le banc de registre a un port de 8 bits pour les données, qui est fabriqué à partir d'un port 16 bits auquel on a rajouté un multiplexeur pour choisir soit l'octet de poids faible, soit l'octet de poids fort. Le bus de données fait 8 bits, ce qui fait que les instructions LOAD, STORE, PUSH et POP pour paires 16 bits sont réalisées en deux fois : on lit/écrit l'octet de poids faible, puis celui de poids fort. Par contre, le bus d'adresse fait bien 16 bits. Cela suggère que le banc de registre dispose d'un port de 16 bits dédié aux adresses, en plus du port de données 8 bits.
[[File:Architecture d'un CPU 8-16 bits avec un banc de registre double port.png|centre|vignette|upright=2|Architecture d'un CPU 8-16 bits avec un banc de registre double port]]
L'incrémentation d'une paire 16 bits ne coute rien à implémenter, ou presque. En effet, le processeur incorpore un incrémenteur 16 bits pour le ''program counter'', qui est relié au bus d'adresse. L'idée est de rentabiliser cet incrémenteur, en lui permettant d'incrémenter des données/adresses de 16 bits obtenues via pseudo-aliasing. De même, il peut être utilisé pour incrémenter le pointeur de pile, voire un compteur de rafraichissement mémoire (pour rappel, le rafraîchissement mémoire demande de balayer la mémoire d'adresse en adresse et été fait par le CPU à l'époque). Pour cela, il suffit de connecter le ''program counter'', le banc de registre, et l'incrémenteur, via un bus dédié.
[[File:Calcul d'adresse par ALU dédiée avec PC séparé.png|centre|vignette|upright=2|Calcul d'adresse par ALU dédiée avec PC séparé]]
Notez qu'on peut encore simplifier le tout en placant le ''program counter'' dans le banc de registre, ce qui ne gênera pas le travail de l'incrémenteur mais simplifiera le câblage au bus d'adresse. Ce n'était pas systématique, certains processeurs mettaient le ''program counter'' dans le banc de registre, d'autres non.
: Inclure le ''program counter'' dans le banc de registre permet parfois de remplir un vide. Par exemple, sur un processeur avec 12 registres, le banc de registre devrait faire idéalement 16 registres, inclure le ''program counter'' dedans fait monter le tout à 13.
[[File:Architecture d'un CPU 8-16 bits.png|centre|vignette|upright=2|Architecture d'un CPU 8-16 bits]]
Les processeurs Intel 8 bits, à savoir le 8008, le 8080 et le 8085 ; mettaient le ''program counter'' dans le banc de registre. Vous avez donc toutes les armes pour comprendre leur micro-architecture. Par exemple, voici la micro-architecture du processeur 8080. Remarquez le banc de registre, qui contient tous les registres sauf l'accumulateur et le registre. Il a deux ports : un pour les adresses et un pour les données. Notez le dé-multiplexeur sur le port de donnée. Pour le reste, il s'agit d'une architecture à accumulateur hybride des plus classiques.
[[File:Intel 8080 arch.svg|centre|vignette|upright=3|Microarchitecture de l'Intel 8080.]]
Le Z80 est un processeur inspiré du design des processeurs Intel 8 bits, mais avec pas mal d'améliorations. Un point particulier de ce processeur est son banc de registre. Il contient tous les registres du processeur, y compris l'accumulateur et le registre d'état ! Les seuls registres en-dehors du banc de registre sont le ''program counter'' et un compteur de rafraichissement mémoire IR.
Un autre point particulier est que les registres dans le banc de registres avaient une copie séparée accessible uniquement pour les interruptions, via fenêtrage de registres. Et l'accumulateur et le registre d'état étant dans le banc de registre, il y avait deux accumulateurs et deux registres d'état. Les registres A, B, C, D, E et F étaient dupliqués, par le pointeur de pile ni les registres d'indice. Les copies des registres étaient nommées A', B', C', D', E' et F'.
Le Z80 supportait des instructions d'échange de registre en plus des CPU Intel 8 bits. L'instruction EX peut échanger soit le contenu des paires D,E et H,F, soit la paire A,F avec la paire A',F'. L'instruction EXX échange les paires BC, DE, HL avec les paires BC', DE', HL'. En faisant cela, le programmeur pouvait utiliser deux fois plus de registres généraux s'il n'utilisait pas les interruptions. L'échange de paires se fait sans copies de registres, mais simplement en modifiant l'adresse envoyée sur le banc de registre. Pour cela, plusieurs bascules mémorisent des bits qui indiquent si les paires ont été échangées ou non. Il y a une bascule pour les paires DE , HL ; une autre pour les paires A,F et paire A',F', une dernière pour l'instruction EXX. En combinant ces bascules avec les noms de registres envoyés par le séquenceur, on peut échanger les paires de registres.
==Le cas particulier des processeurs 4 bits : le 4004 d'Intel==
L'Intel 4004 était le tout premier micro-processeur. Il s'agissait d'un microprocesseur de 4 bits, basé sur une architecture à accumulateur. Il disposait d'un accumulateur et de 16 registres d'indice, tous de 4 bits. Il faisait des calculs sur des données de 4 bits, appelées des nibbles. Cependant, sur ses 46 instructions machines supportées, 41 agissaient sur des opérandes de 8 bits, les 5 restantes sur des opérandes de 16 bits. Simplement, les calculs se faisaient en deux fois, en échangeant des données entre mémoire RAM et accumulateur.
Le 4004 est un circuit intégré avec peu de broches. Il dispose notamment d'un bus de données/adresse, qui est multiplexé, c’est-à-dire qu'il sert alternativement de bus de données et de bus d'adresse selon les besoins. Le bus de commande mémoire fait 5 bits, dont 4 pour les chips de RAM, un pour la ROM. Les adresses sont codées sur 12 bits, les données sur 4 et les instructions sur 8 bits. L'envoi d'une adresse sur le bus se fait en plusieurs fois, de même que la lecture d'une instruction. Il s'agit là d'une adaptation pour outrepasser les limitations d'un processeur 4 bit.
[[File:Intel 4004 processor pinout.png|centre|vignette|upright=2|Broches de l'Intel 4004. Nous verrons à quoi elles servent plus bas.]]
===L'espace d'adressage de l'Intel 4004===
Les adresses du processeur sont sur 12 bits, ce qui fait 4096 adresses différentes. Elles regroupent à la fois la ROM et la mémoire RAM, vu que l'architecture est une sorte de mélange bizarre entre une architecture Von Neumann et Harvard. Le processeur gère bien deux espaces d'adressage séparés, mais la RAM et la ROM sont reliés au même bus. La sortie CM-ROM du processeur indique si l'adresse envoyée correspond à la RAM ou la ROM. Un circuit de décodage d'adresse active ou désactive la RAM selon la valeur de ce bit, l'inverse pour la ROM, en agissant sur leurs bits Chip Select. Seule la RAM ou la ROM répondent alors à l'adresse.
Pour ce qui est de la RAM, le circuit de décodage d'adresse pouvait gérer au maximum 1024 adresses différentes, chacune contenant un nibble. Pour cela, le CPU 4004 était relié à une ou plusieurs RAM externes, des Intel 4002. Chaque Intel 4002 contenait 64 nibbles de données, plus 16 nibbles de statut qu'on ne détaillera pas ici. Les nibbles de statut étaient accessibles en utilisant des instructions d'entrée-sortie, donc pas avec des lectures/écritures mémoire. Les 64 nibbles de données sont découpés en 4 groupes de 16 nibbles. Le CPU pouvait être relié à maximum 16 Intel 4002, ce qui fait 1024 nibbles de données et 256 nibbles de statut. L'ensemble permet de remplir l'espace d'adressage de 1024 adresses.
===Le registre de page et le pseudo-aliasing des registres===
Sélectionner une adresse mémoire utilisait un mélange entre pseudo-aliasing et registre de page. Pour les données, les 1024 adresses étaient découpées en 4 pages de 256 adresses. Pour la ROM, les 4096 adresses étaient découpées en 16 pages de 256 adresses. Localiser une donnée dans une page ne requiert que 8 bits, 2/4 bits supplémentaires permettent de sélectionner la page voulue. Le registre de page était dans le processeur lui-même, et était relié aux sorties du processeur nommées CM-RAM 0, 1, 2 et 3. Les 4 sorties encodaient un nombre qui permet de sélectionner le numéro de page voulu.
Le registre de page fait 5 bits : un pour distinguer RAM et ROM, 4 bits pour sélectionner la page voulue. L'avantage est que la carte mère gère au maximum 16 chips de RAM, ce qui colle parfaitement avec les 4 utilisés pour sélectionner une page. Un chip de RAM correspond à une page, et chacun est activé ou désactivé suivant la page sélectionnée. Pour cela, il suffit d'ajouter un décodeur sur la carte mère, qui prend les 4 bits du registre de page et fournit les signaux Chip Select aux différents chips de RAM.
Reste alors à utiliser les 8 bits d'adresse à l'intérieur d'un chip de RAM. Le 4004 permettait de concaténer deux registres d'indice de 4 bits pour former une adresse de 8 bits. Les instructions d'accès mémoire pouvaient ainsi préciser une paire de registre d'indice pour préciser quelle adresse lire/écrire. Idem pour les branchements indirects : le processeur supportait une instruction de branchement indirect qui précisait l'adresse dans une paire de registres d'indice. Les registres d'indice sont donc assez mal nommés sur cette architecture, vu qu'ils peuvent servir soit de registre d'indice, soit de demi-registre d'adresse. Il s'agit là du système de pseudo-aliasing des registres, mais appliqué aux registres d'indice.
L'Intel 4004 gérait deux instructions pour gérer les adresses mémoires. La première, l'instruction DCL (''Designate Command Line'') configure le registre de page. Elle prend en entrée un numéro de page et le copie dans le registre de page. L'opérande peut provenir d'un registre d'indice ou de l'accumulateur. La seconde, l'instruction SRC (''Send Register Control'') concatène deux registres d'indice pour obtenir une adresse de 8 bits. Un accès mémoire se fait donc en maximum trois instructions : une qui configure le registre de page si ce n'est pas déjà fait, une instruction SRC pour envoyer l'adresse, et une troisième instruction qui dit s'il faut faire une lecture ou une écriture.
===La microarchitecture de l'Intel 4004===
Il incorporait une pile d'adresse de retour intégrée au processeur. La pile d'adresse acceptait exactement 3 adresses maximum. Elle était regroupée avec le ''program counter'' dans un banc de registre, de 4 registres. Le ''program counter'' et le pointeur de pile faisaient chacun 12 bits, soit trois nibble. Ils étaient incrémentés par un incrémenteur dédié.
SI on omet le registre de page et la pile d'adresse, le 4004 est une architecture à accumulateur des plus classiques, avec un bus interne unique, un banc de registre pour les registres d'indices, un accumulateur relié à une unité de calcul. Les registres d'indice étaient dans un banc de registre séparés, car ils faisaient 4 bits chacun, contrairement au pointeur de pile et le ''program counter''. Un détail important est que les bancs de registres du 4004 étaient implémentés avec de la DRAM, et non des registres usuels fabriqués avec des bascules 1 bit.
[[File:Microarchitecture de l'Intel 4004.png|centre|vignette|upright=2.5|Microarchitecture de l'Intel 4004]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures à pile et mémoire-mémoire
| prevText=Les architectures à pile et mémoire-mémoire
| next=Les processeurs de traitement du signal
| nextText=Les processeurs de traitement du signal
}}
</noinclude>
525k7iw81maxj3cxfp5kmkao6i5g9zl
Fonctionnement d'un ordinateur/Les architectures à accumulateur
0
82386
762876
762517
2026-04-04T13:42:10Z
Mewtow
31375
/* Les registres d'interruption avec un processeur hybride-accumulateur : l'exemple du Z80 */
762876
wikitext
text/x-wiki
Les architectures que nous avons vu précédemment dans ce cours disposent de registres pour les données, en plus du pointeur de pile, d'un ''program counter'', et de quelques autres. Elles sont appelées des '''architectures à registres''', terme qui trahit bien le fait qu'elles ont des registres généraux ou spécialisés pour stocker temporairement des données. Et si on leur a donné un nom, c'est parce qu'il existe des architectures qui ne sont pas dans cette catégorie. Il en existe plusieurs types, mais ce chapitre va se concentrer sur les '''architectures à accumulateur'''.
[[File:Isaccumulator.png|vignette|Architecture à accumulateur.]]
Les architectures à accumulateur sont centrées autour d'un registre architectural appelé l''''accumulateur'''. Il est utilisé pour toutes les opérations arithmétiques dyadiques, où il sert à la fois de source et de destination. Toutes les instructions dyadiques sont de type ''load-op'' : une opérande est lue depuis l'accumulateur, le second opérande est lu depuis la mémoire RAM, le résultat de l'instruction est automatiquement mémorisé dans l'accumulateur. Les instructions monadiques peuvent utiliser un opérande dans l'accumulateur, ou dans la mémoire RAM, les deux sont théoriquement possibles.
La conséquence est que le nombre d'accès mémoire est drastiquement diminué : de 3 par instructions sur une architecture mémoire-mémoire, on passe à seulement un avec un accumulateur. Les opérations dyadiques ont besoin d'un seul accès mémoire pour lire la seconde opérande, les opérations monadique en font aussi un seul pour lire leur unique opérande.
{|class="wikitable"
|-
! Classe d'architecture
! Nombre d'accès mémoire par opération dyadique
|-
|-
! Architecture à accumulateur
| Un accès mémoire par instruction, pour lire la seconde opérande
|-
! Architecture à registres
| Zéro si les opérandes sont dans les registres, un pour les opérations ''load-op'', LOAD et STORE.
|}
==Le jeu d'instruction des architectures à accumulateur sans registres d'indice==
L'accumulateur est adressé grâce au mode d'adressage implicite, de même que le résultat de l'opération. Par contre, les autres opérandes sont localisés avec d'autres modes d'adressage, et lues en mémoire RAM. Le résultat ainsi qu'un des opérandes sont adressés de façon implicite car dans l'accumulateur, seule la seconde opérande étant adressée directement. Grâce à l'accumulateur, une instruction ne fait qu'un seul accès mémoire maximum, ce qui rend le processeur très facile à implémenter.
===Les registres des anciennes architectures à accumulateur===
[[File:IBM 701console.jpg|vignette|IBM 701, console extérieure.]]
Les architectures à accumulateur étaient communes dans les années 50-60. A l'époque, les ordinateurs étaient des ''mainframes'', à savoir des ordinateurs gigantesques, qui occupaient une pièce de bâtiment complète dans le pire des cas, une armoire entière dans le meilleur. Les ordinateurs de l'époque étaient surtout utilisés pour du calcul scientifique ou des tâches d’ingénierie demandant beaucoup de calcul, rarement pour de la comptabilité ou des tâches administratives. En conséquence, ils devaient gérer des nombres entiers, mais ne supportaient pas de texte, ni de nombres encodés en BCD. De tels processeurs utilisaient l'adressage par mot, et non par byte, vu que ce dernier est surtout utile pour adresser des caractères de texte.
Les nombres flottants n'étaient pas encore apparus. A la place, les ordinateurs de l'époque géraient des nombres entiers de grande taille, de 30 bits ou plus. En conséquence, l'accumulateur faisait facilement 30 à 60 bits. Par exemple, les ordinateurs de la Série scientifique IBM 700/7000 géraient des entiers de 36 bits, l’accumulateur faisait 38 bits : 36 bits plus deux bits pour les débordements.
Historiquement, les premières architectures à accumulateur ne contenaient aucun autre registre que l'accumulateur. Ce n'est que dans les années 60 que de nombreuses architectures à accumulateur ont ajouté un second '''registre pour les multiplication/divisions'''. Un exemple est celui de l'IBM 701, qui incorporait un registre accumulateur de 38 bits et un registre multiplieur de 36 bits. Le registre mémorise le multiplieur lors d'une opération de multiplication. Il mémorise donc un opérande, pas le résultat. Il peut aussi décaler le multiplieur vers la droite/gauche, ce qui est utile pour exécuter la multiplication. C'est ce qui est fait sur l'IBM 7094.
Une autre possibilité est que ce registre mémorise une partie du résultat de l'opération. Pour rappel, le résultat d'une multiplication/division est codé sur deux fois de bits que ses opérandes. Par exemple, multipliez deux opérandes de 30 bits, vous obtiendrez un résultat de 60 bits. Les 30 bits de poids faible du résultat vont dans l'accumulateur, les 30 bits de poids fort vont dans ce second registre.
Les architectures à accumulateur parfois un '''registre pour le pointeur de pile''', utilisé pour gérer les fonctions/procédures. Les architectures à accumulateurs supportaient une pile d'adresse de retour, souvent une pile d'appel. Mais pour cela, il fallait mémoriser le pointeur de pile dans le processeur, ce qui demandait un registre dédié.
===L'adressage indirect avec l'accumulateur===
Les instructions LOAD et STORE existent bel et bien sur les architectures à accumulateur, mais n'ont pas les mêmes modes d'adressages. L'instruction LOAD copie une donnée de la RAM vers l'accumulateur, l'instruction STORE copie l'accumulateur dans une adresse. Les deux instructions n'ont pas besoin d'adresser l'accumulateur, qui est adressé de manière implicite, juste de préciser l'adresse à lire/écrire.
Les architectures à accumulateur supportaient souvent le mode d'adressage indirect mémoire. Un exemple est celui des ordinateurs Data General Nova, qui sont des architectures à accumulateur et qui supportaient ce mode d'adressage. Les deux instructions LOAD et STORE existaient en deux versions, distinguées par un bit d'indirection. Si ce bit est à 0 dans l'opcode, alors l'instruction utilise le mode d'adressage absolu normal : l'adresse intégrée dans l'instruction est celle de la donnée. Mais s'il est à 1, alors l'adresse intégrée dans l'instruction est celle du pointeur.
Cependant, la présence de l'accumulateur permettait d'utiliser l'adressage indirect à registre, pour gérer les pointeurs. Pour rappel, avec le mode d'adressage indirect à registre, l'adresse à lire/écrire est dans un registre. Ici, l'adresse à lire/écrire est prise dans l'accumulateur, seul registre disponible pour. L'adressage indirect est plus simple à implémenter pour l'instruction LOAD, car elle prend un seul opérande : l'adresse à lire. L'adresse à lire est placée dans l'accumulateur, la donnée lue est elle aussi chargée dans l'accumulateur. Pour l'instruction STORE, il faut fournir deux opérandes, l'adresse et la donnée à écrire, ce qui peut poser problème. Mais au pire, il est toujours possible d'utiliser l'adressage absolu ou indirect mémoire : l'adresse est dans l'instruction, la donnée à écrire dans l'accumulateur.
===L'encodage des instructions===
Sur une architecture à accumulateur l'encodage d'une instruction dyadique est assez simple, vu que l'accumulateur est adressé implicitement. La seconde opérande est localisée soit par une adresse mémoire (adressage absolu), soit est une constante (adressage immédiat). L'adresse mémoire est généralement assez longue, plus que l'opcode.
{|class="wikitable"
|+ Encodage d'une instruction dyadique
|-
! rowspan="2" | Opcode
| Adresse mémoire (adressage absolu)
|-
| Constante (adressage immédiat)
|}
L'encodage d'une instruction monadique est similaire. Si l'opérande est lue depuis la mémoire RAM, alors l'instruction est encodée comme une instruction dyadique. Il en est de même pour les instructions qui copient une constante dans l'accumulateur. Par contre, si l'opérande est dans l'accumulateur, alors il y a juste besoin d'encoder l'opcode. La majorité des instructions a besoin de préciser une adresse, rares sont celles qui s'en passent. Au vu de cet encodage, les architectures à accumulateur sont qualifiées d''''architectures à une adresse''' par abus de langage.
Il est intéressant de contraster leur encodage avec les architectures à registres. Les architectures à registre doivent encoder deux opérandes en plus de l'opcode, avec éventuellement où enregistrer le résultat sur les architectures 3-adresses. Par contre, les opérandes sont généralement des noms de registre, ce qui prend moins de place qu'une adresse mémoire. A la rigueur, les instructions avec une constante immédiate prennent un peu plus de place, car elles doivent encoder un nom de registre en plus de la constante et de l'opcode. Les instructions ''load-op'' des processeurs CISC sont un peu dans le même cas, sauf qu'il faut remplacer la constante par une adresse, qui a généralement la même taille. Les instructions sont donc en moyenne plus courte sur les processeurs à registre, du fait de la présence de registres.
==La micro-architecture des architectures à accumulateur sans registres d'indice==
L'organisation interne d'une architecture à accumulateur est très différente de celle des processeurs à registre. Elle est plus ou moins la même pour tous ces processeurs, le point important étant que le chemin de données se résume à une ALU, un registre accumulateur et le bus de données. L'ALU est reliée au registre accumulateur, ainsi qu'au bus de données pour lire la seconde opérande, comme illustré ci-dessous.
[[File:Accumulator.png|centre|vignette|upright=2|Accumulateur.]]
===L'unité de calcul et l'accumulateur===
Pour simplifier l'implémentation, le résultat est mémorisé dans un registre en sortie de l'unité de calcul. La raison est qu'on ne veut pas altérer l'accumulateur tant que le résultat final n'est pas totalement calculé. Rappelons que l'ALU ne fournit pas un résultat d'un seul bloc, mais que certains bits arrivent avant les autres, typiquement les bits de poids faible. Si le résultat était écrit dans l'accumulateur directement, il écraserait des bits de l’opérande en cours d'utilisation, ce qui fausserait le résultat.
[[File:Accumulateur avec registre de sortie.png|centre|vignette|upright=2|Accumulateur avec registre de sortie]]
Une autre solution utilisait un registre entre l'accumulateur et l'unité de calcul, appelé l’'''''accumulator latch'''''. Il remplace le registre en sortie de l'ALU, dans le sens où il permet d'écrire dans l'accumulateur sans effacer l'opérande, pendant que l’opération est en cours dans l'ALU. L'accumulateur est copié dans l’''accumulator latch'', avant que l'ALU démarre ses calculs. L'opérande est donc maintenue même si on commence à écrire le résultat dans l'accumulateur.
Sur le 8085 d'Intel, l’''accumulator latch'' peut être initialisé avec une constante prédéfinie, ce qui permet d'implémenter certaines instructions très facilement. Par exemple, il peut être initialisé à 0, ce qui permet d'implémenter les instructions MOV et INC (incrémentation). Un MOV est équivalent à faire un OU entre le registre lu et 0. Une instruction INC initialise l'entrée de retenue de l'unité de calcul à 1, puis ajoute 0. La décrémentation est implémentée de la même manière, sauf que l’''accumulator latch'' est initialisé à -2 pour compenser l'entrée de retenue à 1. De plus, pour supporter les conversion de décimal à BCD, l’''accumulator latch'' peut être initialisé avec les constantes 0x00, 0x06, 0x60, or 0x66. L'''accumulator latch'' est relié à divers fils de commande provenant de l'unité de contrôle, qui décide quelle valeur d'initialisation utiliser en fonction de l'instruction décodée.
[[File:Accumulator latch.png|centre|vignette|upright=2|Accumulator latch]]
[[File:Chemin de données à un seul bus.png|vignette|Chemin de données à un seul bus]]
De même, la seconde opérande, celle lue sur le bus de données, est mémorisée dans un registre en amont de l'ALU. C'était notamment très utile si le processeur utilisait une ALU plus courte que les opérandes, avec par exemple une ALU 4 bits pour un CPU 8 bits. Les anciens processeurs à accumulateur de type ''mainframe'' utilisaient des opérandes de grande taille, du genre 36 ou 48 bits, ce qui avait des conséquences sur l'unité de calcul utilisée, ainsi que sur la communication avec la mémoire. Il arrivait que de tels processeurs utilisaient des ALU sérielles, ou du moins octet-sérielles, plutôt qu'une véritable ALU 36 bits. Nous verrons aussi que c'est très utile sur les processeurs à accumulateur avec un bus interne unique, dans la suite du chapitre.
===La micro-architecture des architectures à accumulateur avec instructions LOAD/STORE===
Nous venons de voir comment est implémenté l'unité de calcul et l'accumulateur, et comment le tout est relié au bus de données. Mais cela ne permet que d'avoir un processeur à accumulateur rudimentaire, qui ne gére que des instructions arithmétiques et logiques. Il faut aussi gérer le cas des opérations LOAD/STORE et des modes d'adressages associés, mais c'est le séquenceur qui s'en occupe. Avec l'adressage absolu, les instructions LOAD et STORE ne font que connecter l'accumulateur au bus de données. L'instruction STORE nécessite de connecter l'accumulateur au bus de données, de manière à ce que le transfert des données se fasse de l'accumulateur vers le bus de données. L'instruction LOAD s'implémente de la même manière, sauf que le sens de transfert est inversé.
Cependant, il existe une optimisation qui permet d'implémenter l'instruction LOAD sans ajouter de circuits. Pour cela, il suffit que l'unité de calcul gére les opérations ''pass through'', à savoir des opérations qui se contentent de recopier un opérande sur la sortie. Ici, l'idée est de recopier l'opérande provenant du bus de données.
[[File:Architecture à accumulateur, microarchitecture.png|centre|vignette|upright=2|Architecture à accumulateur, microarchitecture]]
Pour gérer nativement l'adressage indirect à registre, il suffit de connecter l'accumulateur au bus d'adresse. Le plus simple est d'ajouter un multiplexeur, comme illustré ci-dessous. La donnée lue est copiée dans l'accumulateur, ce qui fait qu'il vaut mieux utiliser un registre d’interfaçage, l'accumulateur n'étant pas utilisable à la fois pour le bus d'adresse et de données.
[[File:Adressage indirect sur une architecture à accumulateur.png|centre|vignette|upright=2|Adressage indirect sur une architecture à accumulateur]]
Pour finir, voyons comment le pointeur de pile et le ''program counter'' sont implémentés. Les architectures à accumulateur ont souvent des adresses de taille différente des données, ce qui fait qu'il vaut mieux utiliser un circuit incrémenteur dédié pour incrémenter le ''program counter'', plutôt que de l'incrémenter via l'unité de calcul. Les architectures à accumulateur ont parfois un pointeur de pile, qui gère une pile d'adresse de retour, pas une vraie pile d'appel. Aussi, le pointeur de pile est censé être incrémenté et décrémenté, pas plus. Pas d'addition ou de soustraction pour gérer des cadres de pile. Là encore, c'est la solution de l'incrémenteur séparé qui est retenue. Pour économiser des transistors, il n'y a qu'un seul incrémenteur partagé pour les deux.
==Les architectures à accumulateur à registres d'indice==
Les architectures à accumulateur décrites dans la section précédente sont capables de faire de l'adressage indirect, mais n'incluent pas les modes d'adressage base + indice et absolus indicés, qui prennent une adresse et y ajoute un indice. Il s'agit des toutes premières architectures à accumulateur, comme les premiers ordinateurs IBM ou le fameux PDP-8. Mais par la suite, les processeurs à accumulateurs ont inclus un support des modes d'adressages indicés, grâce à des '''registres d'indice'''.
===Les registres d'indice===
Les registres d'indice stockent des indices de tableaux. Ils permettaient de supporter deux modes d'adressage :
* Le '''mode d'adressage absolu indicé''' où une adresse fixe est additionnée à un indice variable. L'adresse fixe est intégrée dans l'instruction (adressage absolu), l'indice est dans un registre d'indice.
* Le '''mode d'adressage base + indice''', où l'adresse est dans l'accumulateur et l'indice dans le registre d'indice.
Les processeurs à accumulateur supportaient souvent des variantes des modes d'adressage précédents, où le registre d'indice était automatiquement incrémenté ou décrémenté à chaque utilisation.
Au départ, ces processeurs n'utilisaient qu'un seul registre d'indice qui se comportait comme un second accumulateur spécialisé dans les calculs d'adresses mémoire. Le processeur supportait de nouvelles instructions qui utilisaient ce registre d'indice de façon implicite. Mais avec le temps, les processeurs finirent par incorporer plusieurs de ces registres. Les instructions de lecture ou d'écriture devaient alors préciser quel registre d'indice utiliser, en précisant un nom de registre d'indice, un numéro de registre d'indice.
Il faut préciser que les registres d'indice ont une taille bien plus petite que l'accumulateur. Ils mémorisent des indices codés sur 16 bits ou moins, alors que l'accumulateur faisait typiquement 36 à 48 bits, parfois plus. La taille classique sur les anciens ''mainframes'' était de 15 bits, parfois moins. Il n'était pas rare de tomber sur des registres d'indice de 8 ou 9 bits. Leur petite taille rendait leur implémentation matérielle peu couteuse. Et c'est ce qui explique qu'ils étaient préférés à l'usage d'un second accumulateur.
Un exemple est le cas du processeur Motorola 6809, un processeur à accumulateur qui contient deux registres d'indices nommés X et Y. L'accumulateur est noté D et fait 16 bits, il peut être parfois géré comme deux accumulateurs séparés A et B de 8 bits chacun. Il contenait aussi deux pointeurs de pile, l'un pour les programmes, l'autre pour le système d'exploitation, ainsi qu'un ''program counter''. Le registre de page était utilisé pour l'adressage absolu, comme vu dans le chapitre sur les modes d'adressage.
[[File:6809 Internal Registers.svg|centre|vignette|upright=2|6809 Internal Registers]]
Les processeurs IBM avaient autrefois plusieurs registres d'indice. Par exemple, l'IBM 704 avait trois registres d'indice de 15 bits. Leur contenu était soustrait de l'adresse absolue. Une instruction pouvait utiliser plusieurs registres d'indice pour adresser son opérande. Toute instruction utilisait trois bits pour sélectionner les registres d'indice utilisés. Fait assez original, lorsque plusieurs registres d'indice sont sélectionnés, le processeur n'additionne pas les trois registres à l'adresse de base. À la place, il fait un OU bit à bit entre les registres d'indice sélectionnés, et additionne le résultat à l'adresse.
Les processeurs IBM à accumulateur ont fait ça sur toute la gamme IBM 700/7000, pour des raisons de compatibilité. Les processeurs suivants avaient 7 registres d'indices, mais conservaient les trois bits pour adresser les registres d'indices. Ils pouvaient fonctionner dans deux modes. Le premier mode est plus intuitif : les trois bits précisent un registre d'indice parmi les 7, qui est additionné avec l'adresse absolue. La valeur zéro indique qu'aucun registre d'indice n'est utilisé, ce qui explique qu'il y a 7 registres d'indice et non 8. Un second mode, compatible avec l'IBM 704, fait un OU logique entre les registres d'indice sélectionnés. Seuls les trois premiers registres d'indices peuvent être sélectionnés dans ce mode. Il y a deux instructions pour changer de mode : une pour passer en mode compatible, l'autre pour le quitter pour l'autre mode.
Quelques rares processeurs à registres généraux ont utilisés des registres d'indice, en plus des registres généraux. Ce qui fait l'association que nous avons faite entre registres d'indice et architectures à accumulateur est imparfait, bien que solide sur le principe. Un exemple d'architecture de ce type sont les architectures de la série UNIVAC 1100/2200. Ils disposaient de 128 registres, qui étaient mappés en mémoire à partir de l'adresse mémoire 0, la majorité étant inaccessibles par le programmeur. Ils regroupaient 12 registres accumulateurs, 11 registres d'indice et 4 registres hybrides qui pouvaient servir soit de registre d'indice, soit de registres accumulateurs.
===La micro-architecture des architectures à accumulateur avec registres d'indice===
La présence de registres d'indice modifie grandement l'implémentation du processeur. En effet, il faut rajouter un banc de registre pour les registres d'indice. Le banc de registre est monoport, car on a besoin de lire ou d'écrire un indice à la fois. Et il faut aussi potentiellement rajouter de quoi faire les calculs d'adresse. Deux solutions sont possibles : une ALU dédiée aux calculs d'adresse, une seule ALU pour toutes les opérations.
Dans le premier cas, il y a une ALU séparée associée aux registres d'indice. L'ALU et les registres d'indice sont placés en sortie du séquenceur, en-dehors du chemin de données, la sortie de l'ALU est directement connectée au bus d'adresse. L'unité de calcul d'adresse peut être utilisée pour incrémenter le ''program counter''. Un défaut de cette approche est qu'elle ne gère pas l'adresse indirect à registre.
[[File:Chemin de données sans support des pointeurs, avec adressage absolu indicé.png|centre|vignette|upright=2|Chemin de données sans support des pointeurs, avec adressage absolu indicé]]
Une autre option utilise un bus interne, qui interconnecte tout le chemin de données. Dans sa version la plus simple, il est relié à l'accumulateur, l'unité de calcul, le banc de registre d'indice et le bus de données. Avec cette solution, l'ALU est utilisé à la fois pour calculer les adresses et pour les instructions de calcul. En reliant le bus interne au bus d'adresse à travers un multiplexeur, on gère naturellement les adressages indirects.
[[File:Architecture à accumulateur avec registres associés.png|centre|vignette|upright=2.5|Architecture à accumulateur avec registres associés]]
Il faut noter que sur les architectures Von Neumann, le séquenceur est relié à ce bus interne. En effet, charger une instruction demande de passer par le bus mémoire, donc par l’intermédiaire de ce bus internet. Le ''program counter'' est envoyé sur ce bus pour lire l'instruction, puis l'instruction lue est recopiée dans le registre d'instruction. Le chargement d'une instruction est donc géré comme une lecture des plus classiques. De plus, cela permet d'incrémenter le ''program counter'' au niveau de l'unité de calcul entière. Le ''program counter'' est envoyé sur le bus interne, incrémenté par l'ALU, puis le résultat est recopié dans le ''program counter'' via le bus interne.
[[File:Architecture à accumulateur avec bus unique de type Von Neumann.png|centre|vignette|upright=2|Architecture à accumulateur avec bus unique de type Von Neumann]]
==Les processeurs bi-accumulateurs : le Motorola 6800==
Le Motorola 6800 était un processeur 8 bits qui gérait des adresses de 16 bits. Il contenait deux accumulateurs nommés A et B, de 8 bits chacun. Il disposait aussi d'un registre d'indice, d'un pointeur de pile et d'un ''program counter'', tous les trois de 16 bits. Le registre d'état regroupait 6 bits, qu'on ne détaillera pas ici.
[[File:MC6800 Processor Diagram.png|centre|vignette|upright=2|Interface et registres du MC6800.]]
La présence des deux accumulateurs impactait surtout les instructions dyadiques. Les instructions monadiques avaient juste à préciser où se trouvait l'opérande : soit en RAM, soit dans le premier accumulateur, soit dans le second. Pour les opérations dyadiques, la gestion était totalement différente. En théorie, le premier opérande est dans un accumulateur, soit A, soit B. La seconde opérande vient soit de l'autre accumulateur, soit de la mémoire RAM. Et selon les instructions, tout variait.
Pour l'addition, il y avait trois instructions. Les deux premières additionnaient un opérande provenant de la mémoire avec un accumulateur. L'instruction ADDA sélectionnait le premier accumulateur, l'instruction ADDB sélectionnait le second accumulateur. Mais une troisième instruction, l’instruction ABA, permettait d'additionner le contenu des deux accumulateurs.
Pour les autres opérations, il n'était pas possible d'utiliser les deux accumulateurs en même temps. La seule possibilité était de faire une opération entre un accumulateur et un opérande venant de la mémoire. Toutes les instructions étaient en double, avec une copie par accumulateur. Par exemple, l'instruction ANDA faisait un ET entre l’accumulateur A et l'opérande mémoire, l'instruction ANDB faisait pareil avec l'accumulateur B.
==Les architectures hybrides registres-accumulateur==
Il a existé quelques architectures qui étaient des hybrides entre architectures à accumulateur et architecture à registre. Elles avaient un accumulateur unique, couplé à un banc de registres généraux. D'autres registres étaient souvent présents, comme un registre d'état, des registres pour la pile, etc.
Elles sont apparues assez tôt, dès les années 50. Et c'était à une époque où les ordinateurs étaient intégralement construits avec des tubes à vides et autres mémoires spécialisées. Par exemple, le Bull Gamma 3 était un ordinateur de type ''mainframe'' qui disposait de deux accumulateurs, de 5 registres généraux, de deux registres pour la pile, d'un registre à décalage utilisé pour les opérations arithmétiques et BCD, et d'un registre d'état rudimentaire de deux bits (un bit de signe, un bit pour les résultats de comparaison).
Mais ces architectures sont restées assez confidentielles pendant les années 50 à 80. Par la suite, elles ont eu un regain de popularité durant les années 80-90. Elles ont alors servit de transition entre architectures à accumulateur proprement dites, et architectures à registres. Par exemple, les processeurs Intel 8 bits disposaient de 7 registres de 8 bits nommés A, B, C, D, E, F, H, L, SP. Ils correspondent respectivement à :
* l'accumulateur A ;
* six registres nommés B, C, D, E, H et L ;
* le registre d'état F ;
* le pointeur de pile SP.
Sur ces processeurs, les instructions dyadiques devaient mettre leur premier opérande dans l'accumulateur, la seconde provenait soit des registres, soit de la RAM, soit d'une constante immédiate. Les opérations monadiques pouvaient lire leur opérande depuis l'accumulateur, les autres registres ou la RAM, tout était permis. Les registres d'indices disparaissaient sur ces architectures, en théorie. Les registres généraux pouvaient être utilisés comme registre d'indice ou pour stocker des opérandes, ils étaient assez versatiles pour servir de registres d'indices.
La présence de registres a de nombreux avantages, comparé aux architectures à accumulateur pures. Les instructions arithmétiques sont plus rapide, lire un registre étant plus rapide qu'un accès RAM. Les performances sont donc augmentées. De plus, les instructions arithmétiques utilisant ces registres sont plus courtes : pas besoin d'encoder une adresse mémoire, un nom de registre suffit. Vu que les processeurs de l’époque avaient des instructions de taille variable, cela améliorait la densité de code.
===La micro-architecture des processeurs hybrides registres-accumulateur===
La micro-architecture de ces processeurs est très similaire à celle d'un processeur avec des registres d'indices. La seule différence est que le banc de registre contient des registres généraux et non des registres d'indices. Le banc de registre est systématiquement monoport, car il n'avait aucune raison d'être multiport. Pour les instructions dyadiques, seules à lire deux opérandes, il ne servait que pour la seconde opérande, la première était lue depuis l'accumulateur.
Les processeurs hybrides registre-accumulateur se classent en deux types principaux : ceux qui ont un seul bus interne, et ceux qui en ont deux. Le premier cas est identique à celui vu précédemment pour les architectures à accumulateur avec registres d'indice, à la seule différence est que le banc de registre contient des registres généraux et non des registres d'indices. Afin de gérer l'adressage indirect à registre, le bus interne est connecté aux deux registres d’interfaçage mémoire.
[[File:Architecture à accumulateur avec bus unique de type Von Neumann.png|centre|vignette|upright=2|Architecture à accumulateur avec bus unique de type Von Neumann]]
Notons que cela permet aussi d'implémenter facilement les branchements indirects, car le bus interne permet d'échanger des adresses entre ''program counter'' et banc de registre. De même, il est possible d'utiliser l'ALU pour gérer les branchements indirects., en plus de l'utiliser pour incrémenter le ''program counter''.
[[File:Single bus organization.jpg|centre|vignette|upright=2|Single bus organization]]
Une autre solution utilisait deux bus internes : un connecté au bus de données, un autre relié au bus d'adresse. Le bus de commande mémoire était lui commandé par le séquenceur, l'unité de contrôle. L'intermédiaire entre ces deux bus était le banc de registre, ainsi que les autres registres. Le banc de registre était connecté aux deux bus interne, avec un port de lecture relié au bus d'adresse, un port de lecture-écriture relié au bus de données. Le port de lecture était utilisé pour l'adressage indirect, l'autre l'était pour le reste.
[[File:Proz1-e.png|centre|vignette|upright=2|Intérieur d'un processeur.]]
L'organisation à deux bus simplifiait la gestion du ''program counter'' et le chargement des instructions. Le ''program counter'' était soit séparé du banc de registre, soit placé dans le banc de registre. Les deux solutions étaient utilisés, tout dépend du processeur. Il faut noter que si le ''program counter'' est intégré au banc de registres, alors la microarchitecture du processeur est bien plus simple. L'envoi du ''program counter'' sur le bus d'adresse utilise le port de lecture relié au bus d'adresse, qui sert aussi pour l'adressage indirect. L'économie de circuits, sans compter la simplicité d'implémentation que cela implique, explique sans doute que la technique a été utilisée sur quelques processeurs anciens.
Le ''program counter'' était généralement incrémenté par l'ALU, ce qui explique qu'il soit connecté au bus interne pour les données. La connexion est aussi utile pour gérer les branchements indirects, qui copient un registre dans le ''program counter'', ainsi que les branchements relatifs (addition dans l'ALU), voire les branchements directs (l'adresse vers laquelle brancher est envoyée en entrée de l'ALU et propagée en sortie avec une opération ''pass through'').
[[File:Connexion du program counter sur les bus avec PC dans le banc de registres.png|centre|vignette|upright=2|Connexion du program counter sur les bus avec PC dans le banc de registres]]
===Les registres d'interruption avec un processeur hybride-accumulateur : l'exemple du Z80===
Un exemple de processeur registre-accumulateur à deux bus interne est le Z80, un processeur fortement inspiré des CPU Intel 8 bits. Il a un jeu d'instruction similaire, mais a diverses améliorations par rapport au design original. Notamment, le processeur a des registres séparés pour les interruptions.
Sur le Z80, les registres généraux sont dupliqués avec 6 registres pour les interruptions et 6 registres pour les programmes autres. Leur copie pour les interruptions sont nommées B', C', D', E', H', L'. Les 12 registres sont placés dans le banc de registre, ce qui implique que le fenêtrage de registres est utilisé pour gérer la séparation entre registre d'interruption et normaux. Il faut noter que l'accumulateur et le registre d'état sont aussi dupliqués, leurs copies étant nommées A' et F'. Mais leur duplication se fait autrement que par fenêtrage de registre.
En plus des registres précédents, le Z80 incorporait deux registres d'indice nommés X et Y, ainsi qu'un pointeur de pile SP et un ''program counter'' PC. Ils n'étaient pas dupliqués pour les interruptions. Les registres d'indice étaient reliés à une unité de calcul d'adresse. L'unité de calcul d'adresse prenait deux opérandes : un indice, et une adresse mémoire provenant soit du banc de registre, soit de l'accumulateur. En clair, l'unité de calcul d'adresse faisait le lien entre les deux bus internet : le bus de données interne en entrée, le bus d'adresse en sortie.
À l'intérieur du processeur, tous les registres étaient regroupés dans un banc de registre unique, sauf les accumulateurs, les registres d'état et le ''program counter''. Bien que ce ne soit pas indiqué sur le schéma ci-dessous, le ''program counter'' est séparé du banc de registre, alors que le pointeur de pile est dedans. Le compteur IR est lui associé au ''program counter'', il est sorti du banc de registre. Le Z80 utilise lui aussi un incrémenteur séparé de l'ALU, qui est utilisé pour mettre à jour le ''program counter'', le pointeur de pile et un compteur de rafraichissement mémoire nommé IR sur le Z80 (pour rappel, le rafraichissement mémoire demande de balayer la mémoire d'adresse en adresse et été fait par le CPU à l'époque). De plus, il est utilisé pour les instructions INC et DEC qui incrémentent une opérande de 16 bits obtenue en combinant deux registres de 8 bits. En clair, l'incrémenteur du ''program counter'' a été réutilisé de beaucoup de manières originales.
[[File:Z80 arch.svg|centre|vignette|upright=3|Microarchitecture du Z80.]]
Le Z80 incorporait des instructions pour échanger le contenu des deux ensembles de registres, accumulateur inclus. Elles permettaient d'utiliser les registres d'interruption pour les programmes et réciproquement. En clair, cela doublait le nombre de registres si les interruptions n'étaient pas utilisées.
* L'instruction EXX échangeait les deux fenêtres de registres généraux : les registres B, C, D, E, H et L devenaient les registres B', C', D', E', H' et L' et inversement.
* L'instruction EX échangeait l'accumulateur et le registre d'état : les registres A,F devenait A',F' et inversement.
Le fenêtrage de registre était modifié par l'instruction EXX, qui échangeait les deux fenêtres de registres. Pour l'implémenter, une bascule était ajouté au processeur, appelons-la la bascule INT. Elle était relié au bus d'adresse du banc de registre, dont elle mémorisait le bit de poids fort. L'instruction EXX inversait la valeur de la bascule INT. Il est aussi possible d'échanger le contenu des registres D,E et H,L avec une instruction dédiée, ce qui est là encore fait par deux bascules : une pour les registres D,E et une autre pour les registres H,L.
Pour l'accumulateur et le registre d'état, le choix entre registre normal et registre d'interruption se faisait là encore par une seconde bascule appelée la bascule A. La bascule est reliée à un multiplexeur et un démultiplexeur, qui permet de choisir quel accumulateur relier à l'unité de calcul. L'instruction EX inverse le contenu de la bascule A.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=L'unité de contrôle
| prevText=L'unité de contrôle
| next=Les architectures à pile et mémoire-mémoire
| nextText=Les architectures à pile et mémoire-mémoire
}}
</noinclude>
6jo7ryjlb2xn319339e9y3ef48648uo
Fonctionnement d'un ordinateur/L'accélération matérielle de la virtualisation
0
82429
762950
761124
2026-04-04T19:18:56Z
Mewtow
31375
/* Les Virtual-8086 mode extensions */
762950
wikitext
text/x-wiki
La virtualisation est l'ensemble des techniques qui permettent de faire tourner plusieurs systèmes d'exploitation en même temps. Le terme est polysémique, mais c'est la définition que nous allons utiliser pour ce qui nous intéresse. La virtualisation demande d'utiliser un logiciel dit '''hyperviseur''', qui permet de faire tourner plusieurs OS en même temps. Les hyperviseurs sont en quelque sorte situés sous le système d'exploitation. On peut les voir comme une sorte de sous-système d'exploitation, de système d'exploitation pour les systèmes d'exploitation. A ce propos, les OS virtualisés sont appelés des ''OS invités'', alors que l'hyperviseur est parfois appelé l'''OS hôte''.
[[File:Diagramme ArchiHyperviseur.png|centre|vignette|upright=2|Différence entre système d'exploitation et hyperviseur.]]
Les processeurs modernes intègrent des techniques pour accélérer la virtualisation. Les techniques en question sont assez variées, allant d'un niveau de privilège en plus des modes noyau/utilisateur à des modifications de la mémoire virtuelle, en passant à des modifications liées aux interruptions matérielles. Mais pour comprendre tout cela, il va falloir faire quelques explications sur la virtualisation elle-même.
==La virtualisation : généralités==
Pour faire tourner plusieurs OS en même temps, l'hyperviseur recourt à de nombreux stratagèmes. Il doit partager le processeur, la RAM et les entrées-sorties entre plusieurs OS. Le partage de la RAM demande concrètement des modifications assez légères de la mémoire virtuelle, qu'on verra en temps voulu.
Le partage du processeur est assez simple : les OS s'exécutent à tour de rôle sur le processeur, chacun pendant un temps défini, fixe. Une fois leur temps d'exécution passé, ils laissent la main à l'OS suivant. C'est l’hyperviseur qui s'occupe de tout cela, grâce à une interruption commandée à un ''timer''. Ce système de partage est une forme de '''multiplexage'''. A ce propos, il s'agit de la même solution que les OS utilisent pour faire tourner plusieurs programmes en même temps sur un processeur/cœur unique.
La gestion des entrées-sorties demande d'utiliser des techniques d''''émulation''', plus complexes à expliquer. Un hyperviseur peut parfaitement simuler du matériel qui n'est pas installé sur l'ordinateur. Par exemple, il peut faire croire à un OS qu'une carte réseau obsolète, datant d'il y a 20 ans, est installée sur l'ordinateur, alors que ce n'est pas le cas. Les commandes envoyées par l'OS à cette carte réseau fictive sont en réalité traitées par une vraie carte réseau par l’hyperviseur. Pour cela, l’hyperviseur intercepte les commandes envoyées aux entrées-sorties, et les traduit en commandes compatibles avec les entrées-sorties réellement installées sur l'ordinateur.
===Les machines virtuelles===
L'exemple avec la carte réseau est un cas particulier, l'hyperviseur faisant beaucoup de choses dans le genre. L'hyperviseur peut faire croire à l'ordinateur qu'il a plus ou moins de RAM que ce qui est réellement installé, par exemple. L'hyperviseur implémente ce qu'on appelle des '''machines virtuelles'''. Il s'agit d'une sorte de faux matériel, simulé par un logiciel. Un logiciel qui s’exécute dans une machine virtuelle aura l'impression de s’exécuter sur un matériel et/ou un O.S différent du matériel sur lequel il est en train de s’exécuter.
: Dans ce qui suit, nous parlerons de V.M (virtual machine), pour parler des machines virtuelles.
[[File:VM-monitor-french.png|centre|vignette|upright=2|Machines virtuelles avec la virtualisation.]]
Avec la virtualisation, plusieurs machines virtuelles sont gérées par l'hyperviseur, chacune étant réservée à un système d'exploitation. D'ailleurs, hyperviseurs sont parfois appelés des ''Virtual Machine Manager''. Nous utiliserons d'ailleurs l'abréviation VMM dans les schémas qui suivent. Il existe deux types d'hyperviseurs, qui sont nommés type 1 et type 2. Le premier type s'exécute directement sur le matériel, alors que le second est un logiciel qui s’exécute sur un OS normal. Pour ce qui nous concerne, la distinction n'est pas très importante.
[[File:Ansatz der Systemvirtualisierung zur Schaffung virtueller Betriebsumgebungen.png|centre|vignette|upright=2.5|Comparaison des différentes techniques de virtualisation : sans virtualisation à gauche, virtualisation de type 1 au milieu, de type 2 à droite.]]
La virtualisation est une des utilisations possibles, mais il y en a d'autres. La plus intéressante est celle des émulateurs. Ces derniers sont des logiciels qui permettent de simuler le fonctionnement d'anciens ordinateurs ou consoles de jeux. L'émulateur crée une machine virtuelle qui est réservée à un programme, à savoir le jeu à émuler.
Il y a une différence de taille entre un émulateur et un hyperviseur. L'émulation émule une machine virtuelle totalement différente, alors que la virtualisation doit émuler les entrées-sorties mais pas le processeur. Avec un hyperviseur, le système d'exploitation s'exécute sur le processeur lui-même. Le code de l'OS est compatible avec le processeur de la machine, dans le sens où il est compilé pour le jeu d'instruction du processeur de la machine réelle. Les instructions de l'OS s'exécutent directement.
Par contre, un émulateur exécute un jeu qui est programmé pour une machine dont le processeur est totalement différent. Le jeu d'instruction de la machine virtuelle et celui du vrai processeur n'est pas le même. L'émulation implique donc de traduire les instructions à exécuter dans la V.M par des instructions exécutables par le processeur. Ce n'est pas le cas avec la virtualisation, le jeu d'instruction étant le même.
===La méthode ''trap and emulate'' basique===
Pour être considéré comme un logiciel de virtualisation, un logiciel doit remplir trois critères :
* L'équivalence : l'O.S virtualisé et les applications qui s’exécutent doivent se comporter comme s'ils étaient exécutés sur le matériel de base, sans virtualisation.
* Le contrôle des ressources : tout accès au matériel par l'O.S virtualisé doit être intercepté par la machine virtuelle et intégralement pris en charge par l'hyperviseur.
* L'efficacité : La grande partie des instructions machines doit s’exécuter directement sur le processeur, afin de garder des performances correctes. Ce critère n'est pas respecté par les émulateurs matériels, qui doivent simuler le jeu d'instruction du processeur émulé.
Remplir ces trois critères est possible sous certaines conditions, établies par les théorèmes de Popek et Goldberg. Ces théorèmes se basent sur des hypothèses précises. De fait, la portée de ces théorèmes est limitée, notamment pour le critère de performance. Ils partent notamment du principe que l'ordinateur utilise la segmentation pour la mémoire virtuelle, et non la pagination. Il part aussi du principe que les interruptions ont un cout assez faible, qu'elles sont assez rares. Mais laissons ces détails de côté, le cœur de ces théorèmes repose sur une hypothèse simple : la présence de différents types d'instructions machines.
Pour rappel, il faut distinguer les instructions privilégiées de celles qui ne le sont pas. Les instructions privilégiées ne peuvent s'exécuter que en mode noyau, les programmes en mode utilisateur ne peuvent pas les exécuter. Parmi les instructions privilégiées on peut distinguer un sous-groupe appelé les '''instructions systèmes'''. Le premier type regroupe les '''instructions d'accès aux entrées-sorties''', aussi appelées instructions sensibles à la configuration. Le second type est celui des '''instructions de configuration du processeur''', qui agissent sur les registres de contrôle du processeur, aussi appelées instructions sensibles au comportement. Elles servent notamment à gérer la mémoire virtuelle, mais pas que.
La théorie de Popek et Goldberg dit qu'il est possible de virtualiser un O.S à une condition : que les instructions systèmes soient toutes des instructions privilégiées, c’est-à-dire exécutables seulement en mode noyau. Virtualiser un O.S demande simplement de le démarrer en mode utilisateur. Quand l'O.S fait un accès au matériel, il le fait via une instruction privilégiée. Vu que l'OS est en mode utilisateur, cela déclenche une exception matérielle, qui émule l'instruction privilégiée.
L'hyperviseur n'est ni plus ni moins qu'un ensemble de routines d'interruptions, chaque routine simulant le fonctionnement du matériel émulé. Par exemple, un accès au disque dur sera émulé par une routine d'interruption, qui utilisera les appels systèmes fournit par l'OS pour accéder au disque dur réellement présent dans l'ordinateur. Cette méthode est souvent appelée la méthode ''trap and emulate''.
[[File:Virtualisation avec la méthode trap-and-emulate.png|centre|vignette|upright=2.0|Virtualisation avec la méthode trap-and-emulate]]
La méthode ''trap and emulate'' ne fonctionne que si certaines contraintes sont respectées. Un premier problème est que beaucoup de jeux d'instructions anciens ne respectent pas la règle "les instructions systèmes sont toutes privilégiées". Par exemple, ce n'est pas le cas sur les processeurs x86 32 bits. Sur ces CPU, les instructions qui manipulent les drapeaux d'interruption ne sont pas toutes des instructions privilégiées, idem pour les instructions qui manipulent les registres de segmentation, celles liées aux ''call gates'', etc. A cause de cela, il est impossible d'utiliser la méthode du ''trap and emulate''. La seule solution qui ne requiert pas de techniques matérielles est de traduire à la volée les instructions systèmes problématiques en appels systèmes équivalents, grâce à des techniques de '''réécriture de code'''.
Enfin, certaines instructions dites '''sensibles au contexte''' ont un comportement différent entre le mode noyau et le mode utilisateur. En présence de telles instructions, la méthode ''trap and emulate'' ne fonctionne tout simplement pas. Grâce à ces instructions, le système d’exploitation ou un programme applicatif peut savoir s'il s'exécute en mode utilisateur ou noyau, ou hyperviseur, ou autre.
La virtualisation impose l'usage de la mémoire virtuelle, sans quoi plusieurs OS ne peuvent pas se partager la même mémoire physique. De plus, il ne faut pas que la mémoire physique, non-virtuelle, puisse être adressée directement. Et cette contrainte est violée, par exemple sur les architectures MIPS qui exposent des portions de la mémoire physique dans certaines zones fixées à l'avance de la mémoire virtuelle. L'OS est compilé pour utiliser ces zones de mémoire pour accéder aux entrées-sorties mappées en mémoire, entre autres. En théorie, on peut passer outre le problème en marquant ces zones de mémoire comme inaccessibles, toute lecture/écriture à ces adresses déclenche alors une exception traitée par l'hyperviseur. Mais le cout en performance est alors trop important.
Quelques hyperviseurs ont été conçus pour les architectures MIPS, dont le projet de recherche DISCO, mais ils ne fonctionnaient qu'avec des systèmes d'exploitation recompilés, de manière à passer outre ce problème. Les OS étaient recompilés afin de ne pas utiliser les zones mémoire problématiques. De plus, les OS étaient modifiés pour améliorer les performances en virtualisation. Les OS disposaient notamment d'appels systèmes spéciaux, appelés des ''hypercalls'', qui exécutaient des routines de l'hyperviseur directement. Les appels systèmes faisant appel à des instructions systèmes étaient ainsi remplacés par des appels système appelant directement l'hyperviseur. Le fait de modifier l'OS pour qu'il communique avec un hyperviseur, dont il a connaissance de l'existence, s'appelle la '''para-virtualisation'''.
[[File:Virtualization - Para vs Full.png|centre|vignette|upright=2.5|Virtualization - Para vs Full]]
==La virtualisation du processeur==
La virtualisation demande de partager le matériel entre plusieurs machines virtuelles. Précisément, il faut partager : le processeur, la mémoire RAM, les entrées-sorties. Les trois sont gérés différemment. Par exemple, la virtualisation des entrées-sorties est gérée par l’hyperviseur, parfois aidé par le ''chipset'' de la carte mère. Virtualiser des entrées-sorties demande d'émuler du matériel inexistant, mais aussi de dupliquer des entrées-sorties de manière à ce le matériel existe dans chaque VM. Partager la mémoire RAM entre plusieurs VM est assez simple avec la mémoire virtuelle, bien que cela demande quelques adaptations. Maintenant, voyons ce qu'il en est pour le processeur.
===Le niveau de privilège hyperviseur===
Sur certains CPU modernes, il existe un niveau de privilège appelé le '''niveau de privilège hyperviseur''' qui est utilisé pour les techniques de virtualisation. Le niveau de privilège hyperviseur est réservé à l’hyperviseur et il a des droits d'accès spécifiques. Il n'est cependant pas toujours activé. Par exemple, si aucun hyperviseur n'est installé sur la machine, le processeur dispose seulement des niveaux de privilège noyau et utilisateur, le mode noyau n'ayant alors aucune limitation précise. Mais quand le niveau de privilège hyperviseur est activé, une partie des manipulations est bloquée en mode noyau et n'est possible qu'en mode hyperviseur.
Le fonctionnement se base sur la différence entre instruction privilégiée et instruction système. Les instructions privilégiées peuvent s'exécuter en niveau noyau, alors que les instructions systèmes ne peuvent s'exécuter qu'en niveau hyperviseur. L'idée est que quand le noyau d'un OS exécute une instruction système, une exception matérielle est levée. L'exception bascule en mode hyperviseur et laisse la main à une routine de l'hyperviseur. L'hyperviseur fait alors des manipulations précise pour que l'instruction système donne le même résultat que si elle avait été exécutée par l'ordinateur simulé par la machine virtuelle.
[[File:Virtualisation avec un mode hyperviseur.png|centre|vignette|upright=2|Virtualisation avec un mode hyperviseur.]]
Il est ainsi possible d'émuler des entrées-sorties avec un cout en performance assez léger. Précisément, ce mode hyperviseur améliore les performances de la méthode du ''trap-and-emulate''. La méthode ''trap-and-emulate'' basique exécute une exception matérielle pour toute instruction privilégiée, qu'elle soit une instruction système ou non. Mais avec le niveau de privilège hyperviseur, seules les instructions systèmes déclenchent une exception, pas les instructions privilégiées non-système. Les performances sont donc un peu meilleures, pour un résultat identique. Après tout, les entrées-sorties et la configuration du processeur suffisent à émuler une machine virtuelle, les autres instructions noyau ne le sont pas.
Sur les processeurs ARM, il est possible de configurer quelles instructions sont détournées vers le mode hyperviseur et celles qui restent en mode noyau. En clair, on peut configurer quelles sont les instructions systèmes et celles qui sont simplement privilégiées. Et il en est de même pour les interruptions : on peut configurer si elles exécutent la routine de l'OS normal en mode noyau, ou si elles déclenchent une exception matérielle qui redirige vers une routine de l’hyperviseur. En l'absence d'hyperviseur, toutes les interruptions redirigent vers la routine de l'OS normale, vers le mode noyau.
Il faut noter que le mode hyperviseur n'est compatible qu'avec les hyperviseurs de type 1, à savoir ceux qui s'exécutent directement sur le matériel. Par contre, elle n'est pas compatible avec les hyperviseurs de type 2, qui sont des logiciels qui s'exécutent comme tout autre logiciel, au-dessus d'un système d'exploitation sous-jacent.
===L'Intel VT-X et l'AMD-V===
Les processeurs ARM de version v8 et plus incorporent un mode hyperviseur, mais pas les processeurs x86. À la place, ils incorporent des technologies alternatives nommées Intel VT-X ou l'AMD-V. Les deux ajoutent de nouvelles instructions pour gérer l'entrée et la sortie d'un mode réservé à l’hyperviseur. Mais ce mode réservé à l'hyperviseur n'est pas un niveau de privilège comme l'est le mode hyperviseur.
L'Intel VT-X et l'AMD-V dupliquent le processeur en deux modes de fonctionnement : un mode racine pour l'hyperviseur, un mode non-racine pour l'OS et les applications. Fait important : les niveaux de privilège sont dupliqués eux aussi ! Par exemple, il y a un mode noyau racine et un mode noyau non-racine, idem pour le mode utilisateur, idem pour le mode système (pour le BIOS/UEFI). De même, les modes réel, protégé, v8086 ou autres, sont eux aussi dupliqués en un exemplaire racine et un exemplaire non-racine.
L'avantage est que les systèmes d'exploitation virtualisés s'exécutent bel et bien en mode noyau natif, l'hyperviseur a à sa disposition un mode noyau séparé. D'ailleurs, les deux modes ont des registres d'interruption différents. Le mode racine et le mode non-racine ont chacun leurs espaces d'adressage séparés de 64 bit, avec leur propre table des pages. Et cela demande des adaptations au niveau de la TLB.
La transition entre mode racine et non-racine se fait lorsque le processeur exécute une instruction système ou lors de certaines interruptions. Au minimum, toute exécution d'une instruction système fait commuter le processeur mode racine et lance l'exécution des routines de l’hyperviseur adéquates. Les interruptions matérielles et exceptions font aussi passer le CPU en mode racine, afin que l’hyperviseur puisse gérer le matériel. De plus, afin de gérer le partage de la mémoire entre OS, certains défauts de page déclenchent l'entrée en mode racine. Les ''hypercalls'' de la para-virtualisation sont supportés grâce à aux instructions ''vmcall'' et ''vmresume'' qui permettent respectivement d'appeler une routine de l’hyperviseur ou d'en sortir.
La transition demande de sauvegarder/restaurer les registres du processeur, comme avec les interruptions. Mais cette sauvegarde est réalisée automatiquement par le processeur, elle n'est pas faite par les routines de l'hyperviseur. L’implémentation de cette sauvegarde/restauration se fait surtout via le microcode du processeur, car elle demande beaucoup d'étapes. Elle est en conséquence très lente.
Le processeur sauvegarde l'état de chaque machine virtuelle en mémoire RAM, dans une structure de données appelée la ''Virtual Machine Control Structure'' (VMCS). Elle mémorise surtout les registres du processeur à l'instant t. Lorsque le processeur démarre l'exécution d'une VM sur le processeur, cette VMCS est recopiée dans les registres pour rétablir la VM à l'endroit où elle s'était arrêtée. Lorsque la VM est interrompue et doit laisser sa place à l'hyperviseur, les registres et l'état du processeur sont sauvegardés dans la VMCS adéquate.
==La virtualisation de la mémoire : mémoire virtuelle et MMU==
Avec la virtualisation, les différentes machines virtuelles, les différents OS doivent se partager la mémoire physique, en plus d'être isolés les uns des autres. L'idée est d'utiliser la mémoire virtuelle pour cela. L'espace d'adressage physique vu par chaque OS est en réalité un espace d'adressage fictif, qui ne correspond pas à la mémoire physique. Les adresses physiques manipulées par l'OS sont en réalité des adresses intermédiaires entre les adresses physiques liées à la RAM, et les adresses virtuelles vues par les processus. Pour les distinguer, nous parlerons d'adresses physiques de l'hôte pour parler des adresses de la RAM, et des adresses physiques invitées pour parler des adresses manipulées par les OS virtualisés.
Sans accélération matérielle, la traduction des adresses physiques invitées en adresses hôte est réalisée par une seconde table des pages, appelée la ''shadow page table'', ce qui donnerait '''table des pages cachée''' en français. La table des pages cachée est prise en charge par l'hyperviseur. Toute modification de la table des pages cachée est réalisée par l'hyperviseur, les OS ne savent même pas qu'elle existe.
[[File:Shadowpagetables.png|centre|vignette|upright=2|Table des pages cachée.]]
===La MMU et la virtualisation : les tables des pages emboitées===
Une autre solution demande un support matériel des tables des pages emboitées, à savoir qu'il y a un arbre de table des pages, chaque consultation de la première table des pages renvoie vers une seconde, qui renvoie vers une troisième, et ainsi de suite jusqu'à tomber sur la table des pages finale qui renvoie l'adresse physique réelle.
L'idée est l'utiliser une seule table des pages, mais d'ajouter un ou deux niveaux supplémentaires. Pour l'exemple, prenons le cas des processeurs x86. Sans virtualisation, l'OS utilise une table des pages de 4 niveaux. Avec, la table des pages a un niveau en plus, qui sont ajoutés à la fin de la dernière table des pages normale. Les niveaux ajoutés s'occupent de la traduction des adresses physiques invitées en adresses physiques hôte. On parle alors de '''table des pages étendues''' pour désigner ce nouveau format de table des pages conçu pour la virtualisation.
Il faut que le processeur soit modifié de manière à parcourir automatiquement les niveaux ajoutés, ce qui demande quelques modifications de la TLB et du ''page table walker''. Les modifications en question ne font que modifier le format normal de la table des pages, et sont donc assez triviales. Elles ont été implémentées sur les processeurs AMD et Intel. AMD a introduit les tables des pages étendues sur ses processeurs Opteron, destinés aux serveurs, avec sa technologie ''Rapid Virtualization Indexing''. Intel, quant à lui, a introduit la technologie sur les processeurs i3, i5 et i7, sous le nom ''Extended Page Tables''. Les processeurs ARM ne sont pas en reste avec la technologie ''Stage-2 page-tables'', qui est utilisée en mode hyperviseur.
===La virtualisation de l'IO-MMU===
Si la MMU du processeur est modifiée pour gérer des tables des pages étendues, il en est de même pour les IO-MMU des périphériques et contrôleurs DMA.Les périphériques doivent idéalement intégrer une IO-MMU pour faciliter la virtualisation. La raison est globalement la même que pour le partage de la mémoire. Les pilotes de périphériques utilisent des adresses qui sont des adresses physiques sans virtualisation, mais qui deviennent des adresses virtuelles avec. Quand le pilote de périphérique configure un contrôleur DMA, pour transférer des données de la RAM vers un périphérique, il utilisera des adresses virtuelles qu'il croit physique pour adresser les données en RAM.
Pour éviter tout problème, le contrôleur DMA doit traduire les adresses qu'il reçoit en adresses physiques. Pour cela, il y a besoin d'une IO-MMU intégrée au contrôleur DMA, qui est configurée par l'hyperviseur. Toute IO-MMU a sa propre table des pages et l'hyperviseur configure les table des pages pour chaque périphérique. Ainsi, le pilote de périphérique manipule des adresses virtuelles, qui sont traduites en adresses physiques directement par le matériel lui-même, sans intervention logicielle.
Pour gérer la virtualisation, on fait la même chose qu'avec une table des pages emboitée habituelle : on l'étend en ajoutant des niveaux. L'IO-MMU peut fonctionner dans un mode normal, sans virtualisation, où les adresses virtuelles reçues du ''driver'' sont traduite avec une table des pages normale, non-emboitée. Mais elle a aussi un mode virtualisation qui utilise des tables de pages étendues.
==La virtualisation des entrées-sorties==
Virtualiser les entrées-sorties est simple sur le principe. Un OS communique avec le matériel soit via des ports IO, soit avec des entrées-sorties mappées en mémoire. Le périphérique répond avec des interruptions ou via des transferts DMA. Virtualiser les périphériques demande alors d'émuler les ports IO, les entrées-sorties mappées en mémoire, le DMA et les interruptions.
===La virtualisation logicielle des interruptions===
Émuler les ports IO est assez simple, vu que l'OS lit ou écrit dedans grâce à des instructions IO spécialisées. Vu que ce sont des instructions système, la méthode ''trap and emulate'' suffit. Pour les entrées-sorties mappées en mémoire, l'hyperviseur a juste à marquer les adresses mémoires concernées comme étant réservées/non-allouées/autre. Tout accès à ces adresses lèvera une exception matérielle d'accès mémoire interdit, que l’hyperviseur intercepte et gère via ''trap and emulate''.
L'émulation du DMA est triviale, vu que l'hyperviseur a accès direct à celui-ci, sans compter que l'usage d'une IO-MMU résout beaucoup de problèmes. La gestion des interruptions matérielles, les fameuses IRQ, est quant à elle plus complexe. Les interruptions matérielles ne sont pas à prendre en compte pour toutes les machines virtuelles. Par exemple, si une machine virtuelle n'a pas de carte graphique, pas besoin qu'elle prenne en compte les interruptions provenant de la carte graphique. La gestion des interruptions matérielles n'est pas la même si l'ordinateur grée des cartes virtuelles ou s'il se débrouille avec une carte physique unique.
Lors d'une interruption matérielle, le processeur exécute la routine adéquate de l'hyperviseur. Celle-ci enregistre qu'il y a eu une IRQ et fait quelques traitements préliminaires. Ensuite, elle laisse la main au système d'exploitation concerné, qui exécute alors sa routine d'interruption. Une fois la routine de l'OS terminée, l'OS dit au contrôleur d'interruption qu'il a terminé son travail. Mais cela demande d'interagir avec le contrôleur d'interruption, ce qui déclenche une exception qui appelle l'hyperviseur. L'hyperviseur signale au contrôleur d'interruption que l'interruption matérielle a été traitée. Il rend alors définitivement la main au système d'exploitation. Le processus complet demande donc plusieurs changements entre mode hyperviseur et OS, ce qui est assez couteux en performances.
Vu que le matériel simulé varie d'une machine virtuelle à l'autre, chaque machine virtuelle a son propre vecteur d'interruption. Par exemple, si une machine virtuelle n'a pas de carte graphique son vecteur d'interruption ne pointera pas vers les routines d'interruption d'un quelconque GPU. L'hyperviseur gère les différents vecteurs d'interruption de chaque VM et traduit les interruptions reçues en interruptions destinées aux VM/OS.
Si la méthode ''trap and emulate'' fonctionne, ses performances ne sont cependant pas forcément au rendez-vous. Tous les matériels ne se prêtent pas tous bien à la virtualisation, surtout les périphériques anciens. Pour éliminer une partie de ces problèmes, il existe différentes techniques, accélérées en matériel ou non. Elles permettent aux machines virtuelles de communiquer directement avec les périphériques, sans passer par l'hyperviseur.
===La virtualisation des périphériques avec l'affectation directe===
Virtualiser les entrées-sorties avec de bonnes performances est plus complexe. En pratique, cela demande une intervention du matériel. Le ''chipset'' de la carte mère, les différents contrôleurs d'interruption et bien d'autres circuits doivent être modifiés. Diverses techniques permettent de faciliter le partage des entrées-sorties entre machines virtuelles.
La première est l''''affectation directe''', qui alloue un périphérique à une machine virtuelle et pas aux autres. Par exemple, il est possible d'assigner la carte graphique à une machine virtuelle tournant sur Windows, mais les autres machines virtuelles ne verront même pas la carte graphique. Même l'hyperviseur n'a pas accès directement à ce matériel. L'affectation directe est très utile sur les serveurs, qui disposent souvent de plusieurs cartes réseaux et peuvent en assigner une à chaque machine virtuelle. Mais dans la plupart des cas, elle ne marche pas. De plus, sur les périphériques sans IO-MMU, elle ouvre la porte à des attaques DMA, où une machine virtuelle accède à la mémoire physique de la machine en configurant le contrôleur DMA de son périphérique assigné.
L'affectation directe est certes limitée, mais elle se marie bien avec certaines de virtualisation matérielles, intégrées dans de nombreux périphériques. Il existe des périphériques qui sont capables de se virtualiser tout seuls, à savoir qu'ils peuvent se dédoubler en plusieurs '''périphériques virtuels'''. Par exemple, prenons une carte réseau avec cette propriété. Il n'y a qu'une seule carte réseau dans l'ordinateur, mais elle peut donner l'illusion qu'il y en a 8-16 d'installés dans l'ordinateur. Il faut alors faire la différence entre la carte réseau physique et les 8-16 cartes réseau virtuelles. L'idée est d'utiliser l'affectation directe, chaque machine virtuelle/OS ayant une carte réseau virtuelle d'affectée, avec affectation directe.
[[File:Virtualisation matérielle des périphériques.png|centre|vignette|upright=2|Virtualisation matérielle des périphériques]]
Pour les périphériques PCI-Express, le fait de se dupliquer en plusieurs périphériques virtuels est permis par la technologie '''''Single-root input/output virtualization''''', abrévié en SRIOV. Elle est beaucoup, utilisée sur les cartes réseaux, pour plusieurs raisons. Déjà, ce sont des périphériques beaucoup utilisés sur les serveurs, qui utilisent beaucoup la virtualisation. Dupliquer des cartes réseaux et utiliser l'affectation directe rend la configuration des serveurs bien plus simple. De plus, la plupart des cartes réseaux sont sous-utilisées, même par les serveurs. Une carte réseau est souvent utilisée à environ 10% de ses capacités par une VM unique, ce qui fait qu'utiliser 10 cartes réseaux virtuelles permet d'utiliser les capacités de la carte réseau à 100%.
Il est possible de faire une analogie entre les processeurs multithreadés et les périphériques virtuels. Un processeur multithreadé est dupliqué en plusieurs processeurs virtuels, un périphérique virtualisé est dupliqué en plusieurs périphériques virtuels. L'implémentation des deux techniques est similaire sur le principe, mais les détails varient selon qu'on parle d'une carte réseau, d'une carte graphique, d'une carte son, etc. Pour gérer plusieurs périphériques virtuels, le périphérique physique contient plusieurs copies de ses registres de commande/données, plusieurs files de commandes, etc. De plus, le périphérique physique contient divers circuits d'arbitrage, qui gèrent comment le matériel est utilisé. Ils donnent accès à tour de rôle à chaque VM aux ressources non-dupliquées.
[[File:Implémentation d'une carte réseau gérant plusieurs cartes réseaux virtuelles.png|centre|vignette|upright=2|Implémentation d'une carte réseau gérant plusieurs cartes réseaux virtuelles]]
Dans le cas le plus simple, le matériel traite les commandes provenant des différentes VM dans l'ordre d'arrivée, une par une, il n'y a pas d'arbitrage pour éviter qu'une VM monopolise le matériel. Plus évolué, le matériel peut faire de l'affectation au tour par tour, en traitant chaque VM dans l'ordre durant un certain temps. Le matériel peut aussi utiliser des algorithmes d'ordonnancement/répartition plus complexes. Par exemple, les cartes graphiques modernes utilisent des algorithmes de répartition/ordonnancement accélérés en matériel, implémentés dans le GPU lui-même.
===La virtualisation des interruptions===
La gestion des interruptions matérielles peut aussi être accélérée en matériel, en complément des techniques de périphériques virtuels vues plus haut. Par exemple, il est possible de gérer des ''exitless interrupts'', qui ne passent pas du tout par l'hyperviseur. Mais cela demande d'utiliser l'affectation directe, en complément de l'usage de périphériques virtuels.
Tout périphérique virtuel émet des interruptions distinctes des autres périphérique virtuel. Pour distinguer les interruptions provenant de cartes virtuelles de celles provenant de cartes physiques, on les désigne sous le terme d''''interruptions virtuelles'''. Une interruption virtuelle est destinée à une seule machine virtuelle : celle à laquelle est assignée la carte virtuelle. Les autres machines virtuelles ne reçoivent pas ces interruptions. Les interruptions virtuelles ne sont pas traitées par l'hyperviseur, seulement par l'OS de la machine virtuelle assignée.
Une subtilité a lieu sur les processeurs à plusieurs cœurs. Il est possible d'assigner un cœur à chaque machine virtuelle, possiblement plusieurs. Par exemple, un processeur octo-coeur peut exécuter 8 machines virtuelles simultanément. Avec l'affectation directe ou à tour de rôle, l'interruption matérielle est donc destinée à une machine virtuelle, donc à un cœur. L'IRQ doit donc être redirigée vers un cœur bien précis et ne pas être envoyée aux autres. Les contrôleurs d'interruption modernes déterminent à quelles machines virtuelles sont destinées telle ou telle interruption, et peuvent leur envoyer directement, sans passer par l'hyperviseur. Grâce à cela, l'affectation directe à tour de rôle ont de bonnes performances.
En plus de ce support des interruptions virtuelles, le contrôleur d'interruption peut aussi être virtualisé, à savoir être dupliqué en plusieurs '''contrôleurs d'interruption virtuels'''. Sur les systèmes à processeur x86, le contrôleur d'interruption virtualisé est l'APIC (''Advanced Programmable Interrupt Controller''). Diverses technologies de vAPIC, aussi dites d'APIC virtualisé, permettent à chaque machine virtuelle d'avoir une copie virtuelle de l'APIC. Pour ce faire, tous les registres de l'APIC sont dupliqués en autant d'exemplaires que d'APIC virtuels supportés. Il existe un équivalent sur les processeurs ARM, où le contrôleur d'interruption est nommé le ''Generic Interrupt Controller'' (GIC) et peut aussi être virtualisé.
La virtualisation de l'APIC permet d'éviter d'avoir à passer par l'hyperviseur pour gérer les interruptions. Par exemple, quand un OS veut prévenir qu'il a fini de traiter une interruption, il doit communiquer avec le contrôleur d'interruption. Sans virtualisation du contrôleur d'interruption, cela demande de passer par l'intermédiaire de l'hyperviseur. Mais s'il est virtualisé, l'OS peut communiquer directement avec le contrôleur d'interruption virtuel qui lui est associé, sans que l'hyperviseur n'ait à faire quoique ce soit. De plus, la virtualisation du contrôleur d'interruption permet de gérer des interruptions inter-processeurs dites postées, qui ne font pas appel à l'hyperviseur, ainsi que des interruptions virtuelles émises par les IO-MMU.
Sur les plateformes ARM, les ''timers'' sont aussi virtualisés.
==Annexe : le mode virtuel 8086 des premiers CPU Intel==
Les premiers processeurs x86 étaient rudimentaires. Le 8086 utilisait une forme très simple de segmentation, sans aucune forme de protection mémoire, ni même de mémoire virtuelle, dont le but était d'adresser plus de 64 kibioctets de mémoire avec un processeur 16 bits. Sur le processeur 286, la segmentation s'améliora et ajouta un support complet de la mémoire virtuelle et de la protection mémoire. L'espace d'adressage en mode protégé est passé de 24 bits sur le CPU 286, à 32 bits sur le 386 et les CPU suivants. Pour bien faire la différence, la segmentation du 8086 fut appelée le mode réel, et la nouvelle forme de segmentation fut appelée le mode protégé.
Les programmes conçus pour le mode réel ne pouvaient pas s'exécuter en mode protégé. En clair, tous les programmes conçus pour le 8086 devaient fonctionner en mode réel, qui était supporté sur le 286 et les processeurs suivant. Pour corriger les problèmes observés sur le 286, le 386 a ajouté un '''mode 8086 virtuel''', une technique de virtualisation qui permet à des programmes de s'exécuter en mode réel dans une machine virtuelle dédiée appelée la '''VM V86'''. Notez que nous utiliserons l'abréviation V86 pour parler du mode virtuel 8086, ainsi que de tout ce qui est lié à ce mode.
===La virtualisation du DOS et la mémoire étendue===
Utiliser le mode V86 demande d'avoir un programme 8086 à lancer, mais aussi d'utiliser un '''hyperviseur V86'''. L’hyperviseur V86 est un véritable hyperviseur, qui s’exécute en mode noyau, exécute des routines d'interruption, gère les exceptions matérielles, etc. Il réside en mémoire dans une zone non-adressable en mode réel, mais accessible en mode protégé, celui-ci permettant d'adresser plus de RAM. L'hyperviseur est forcément exécuté en mode protégé.
Le système d'exploitation DOS s'exécutait en mode réel, ce qui fait qu'il pouvait être émulé par le mode V86. Il était ainsi possible de lancer une ou plusieurs sessions DOS à partir d'un système d'exploitation multitâche comme Windows. Windows. Beaucoup de personnes nées avant les années 2000 ont sans doute profité de cette possibilité pour lancer des applications DOS sous Windows. Les applications étaient en réalité lancées dans une machine virtuelle grâce au mode V86. Windows implémentait un hyperviseur V86 de type 2, à savoir que c'était un logiciel qui s'exécutait sur un OS sous-jacent, ici
[[File:Hyperviseur.svg|centre|vignette|upright=2|Hyperviseur]]
Les applications DOS dans une VM V86 ne peuvent pas adresser plus d'un mébioctet de mémoire. L'ordinateur peut cependant avoir plus de mémoire RAM, notamment pour gérer l'hyperviseur V86. Diverses techniques permettaient aux applications DOS d'utiliser la mémoire au-delà du mébioctet, appelée la '''mémoire étendue'''. Les logiciels DOS accédaient à la mémoire étendue en passant par un intermédiaire logiciel, qui lui-même communiquait avec l'hyperviseur V86. L'intermédiaire est appelé le ''Extended Memory Manager'' (EMM), et il est concrètement implémenté par un driver sur DOS (HIMEM.SYS).
Les applications DOS ne pouvaient pas adresser la mémoire étendue, mais pouvaient échanger des données avec l'EMM. Les logiciels peuvent ainsi déplacer des données dans la mémoire étendue pour les garder au chaud, puis les rapatrier dans la mémoire conventionnelle quand ils en avaient besoin. L'intermédiaire ''Extended Memory Manager'' s'occupe d’échanger des données entre mémoire conventionnelle et mémoire étendue. Pour cela, il switche entre mode réel et protégé à la demande, quand il doit lire ou écrire en mémoire étendue.
Il ne faut pas confondre mémoire étendue et ''expanded memory''. Pour rappel, l'''expanded memory'' est un système de commutation de banque, qui autorise un va-et-vient entre une carte d'extension et une page de 64 kibioctets mappé en mémoire haute. Elle fonctionne sans mode protégé, sans virtualisation, sans mode V86. La mémoire étendue ne gère pas de commutation de banque et demande que la RAM en plus soit installée dans l'ordinateur, pas sur une carte d'extension.
Par contre, il est possible d'émuler l'''expanded memory'' sans carte d'extension, en utilisant la mémoire étendue. Quelques ''chipsets'' de carte mère intégraient des techniques cela. Une émulation logicielle était aussi possible. L'émulation logicielle se basait sur une réécriture de l'interruption 67h utilisée pour adresser la technologie ''expanded memory''. L'hyperviseur V86 pouvait s'en charger, il avait juste à réécrire son allocateur de mémoire pour gérer cette interruption et quelques autres détails.
===Le fonctionnement du mode virtuel 8086 de base===
En mode V86, la segmentation du mode protégé est désactivée, seule la segmentation du mode réel est utilisée. Il y a quelques subtilités liées à la ligne A20 du bus d'adresse, déjà abordées auparavant dans ce cours. Sur les CPU 286 et ultérieurs, le processeur peut adresser 1 mébioctet (2^20 adresses), plus 64 kibioctets qui ne sont pas adressables sur le 8086. Le tout permet donc d'adresser les adresses allant de 0 à 0x010FFEFH. Et ces adresses sont utilisées pour les programmes en mode réel. Les adresses au-delà de l'adresse 0x010FFEFH sont typiquement le lieu de résidence de l’hyperviseur en RAM.
Par contre, la pagination peut être activée par l’hyperviseur, afin d’exécuter plusieurs logiciels en mode réel simultanément. La mémoire virtuelle par pagination peut aussi être utile si l'ordinateur a peu de mémoire RAM, pas assez pour faire tourner le logiciel : l'espace d'adressage vu par le logiciel est un espace virtuel de grande taille, ce qui permet de lancer le logiciel, au prix de performances dégradées. Enfin, la gestion des entrées-sorties mappées en mémoire est aussi simplifiée. De plus, cela permettait d'adresser plus de mémoire RAM grâce aux adresses plus longues du mode protégé.
Le processeur est configuré en mode V86, le bit VM du registre d'état spécifique est mis à 1. Le processeur utilise ce bit lorsqu'une instruction utilise les registres de segments, afin de savoir comment calculer les adresses, le calcul n'étant pas le même en mode réel et en mode protégé. Quelques instructions machines dépendent aussi de la valeur de ce bit, mais cela est traité au décodage de l'instruction.
Il faut noter que dans le mode 8086 virtuel, les programmes peuvent utiliser les registres ajoutés sur le 386 et ultérieurs. Par exemple, le 8086 n'a que 4 registres de segment, alors que le 286 en a 6. Les programmes en mode 8086 virtuel peuvent utiliser les deux registres de segment supplémentaires. Il en est de même pour d'autres registres ajoutés par le 286, comme des registres de contrôle, des registres de debug, et quelques autres. Il en est de même pour les instructions ajoutées par le 286, le 386 et ultérieur, qui sont exécutables en mode virtuel 8086. Et elles sont nombreuses.
La compatibilité n'était pas parfaite, il y avait quelques petites différences entre ce mode V86 et le mode réel du 8086, idem avec le mode réel du 286. Mais la grande majorité des applications n'avait aucun problème. Les problèmes étaient concentrés sur quelques instructions précises, notamment celles avec un préfixe LOCK.
===Les ''Virtual-8086 mode extensions''===
A partir du processeur Pentium, les processeurs x86 ont introduit des optimisations du mode V86, afin de rendre la virtualisation plus rapide. L'ensemble de ces optimisations est regroupé sous le terme de '''''Virtual-8086 mode extensions''''', abrévié en VME. Les optimisations du VMA étaient, pour certaines, utiles au-delà de la virtualisation et étaient activables indépendamment du reste du VME.
Le VME introduisait des optimisations quant au traitement des interruptions, à savoir la gestion des interruptions virtuelles. De plus, le VME modifie la gestion de l'''interrupt flag'' du registre d'état. Pour rappel, ce bit permet d'activer ou de désactiver les interruptions masquables. Modifier le bit ''interrupt flag'' permettait de désactiver les interruptions masquables ou au contraire de les activer.
Il se trouve que ce bit était accesible par les programmes exécutés en mode réel, qui pouvaient en faire ce qu'ils voulaient. Le mode réel n'étant pas prévu pour la multi-programmation, ce n'était pas un problème. Mais en mode V86, toute modification de ce bit se répercute sur les autres VM en mode V86. Pour éviter les problèmes, le VME a ajouté de quoi virtualiser cet ''interrupt flag'', avec une copie par machine virtuelle V86. Chaque programme modifiait sa propre copie de l'''interrupt flag'' sans altérer celle des autres programmes exécutés en mode V86, et surtout sans déclencher une exception matérielle gérée par l'hyperviseur.
Bien qu'elles aient été introduites sur les processeurs Pentium, elles n'ont réellement été rendues publiques qu'après la sortie des processeurs de microarchitecture P6. Avant d'être rendue publique, la documentation du VME était une annexe de la documentation officielle, la fameuse annexe H. Elle était mentionnée dans la documentation officielle, mais était indisponible au grand public, seules quelques entreprises sous NDA y avait accès.
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les coprocesseurs : FPU et IO
| prevText=Les coprocesseurs : FPU et IO
| next=Les ISA optimisés pour la compilation/interprétation
| nextText=Les ISA optimisés pour la compilation/interprétation
}}
</noinclude>
2sborljs7kb0wfu9cia7ekec77s86j8
Guide des mots rares à adopter
0
83748
762940
762172
2026-04-04T18:33:18Z
ROSEMARSH HOOD
122846
Ajout des nouvelles pages au sommaire
762940
wikitext
text/x-wiki
{{Nouveau livre}}{{NavDébut|book=Guide des mots rares à adopter|page=Introduction|pageText=Démarrer}}{{Page de garde
| 2 = VisualEditor - Icon - Open-book-2.svg
| description = <big>'''{{Centrer|Découvrez divers mots rares et curiosités lexicales à adopter pour enrichir votre vocabulaire et donner du style à votre langage quotidien}}'''</big><br/>
'''''Guide des mots rares à adopter pour enrichir son vocabulaire''''' est un wikilivre incontournable pour les passionnés de langue française, les écrivains et les curieux des mots. Il propose une sélection soignée de termes rares, élégants ou méconnus, accompagnés de leurs définitions, origines et exemples d’usage concrets. S’appuyant notamment sur des ressources linguistiques comme le [[W:Lexique informatisé des mots insolites à étymologie latine|''LiMiEL'' (Lexique informatisé des mots insolites à étymologie latine)]], ce guide met en lumière la richesse du lexique français tout en offrant des clés pratiques pour intégrer ces mots dans son expression écrite et orale. Idéal pour enrichir son vocabulaire, affiner son style et redécouvrir la beauté des mots.
| avancement = Avancé
}}
== Source centrale du livre ==
Ce livre s’appuie en grande partie sur les données du ''[[w:Lexique_informatisé_des_mots_insolites_à_étymologie_latine|Lexique informatisé des mots insolites à étymologie latine]]'', qui constitue une ressource de référence pour l’identification et l’étude de mots rares en français. Les contenus issus de cette base sont utilisés conformément à leur licence '''ODC-By (Open Data Commons Attribution)''', qui autorise la réutilisation, la modification et la diffusion des données à condition d’en mentionner la source. Cette approche garantit à la fois la richesse lexicale du guide et le respect des principes de partage ouvert des connaissances<ref>https://limiel.omeka.net/licence_odc-by</ref>.
== Sommaire ==
* [[Guide des mots rares à adopter/Introduction|Introduction]]
** [[Guide des mots rares à adopter/crépat, crépate|crépat, crépate]]
** [[Guide des mots rares à adopter/clangart, clangarte|clangart, clangarte]]
** [[Guide des mots rares à adopter/caullée|caullée]]
** [[Guide des mots rares à adopter/aconcordesque|aconcordesque]]
** [[Guide des mots rares à adopter/aéruminal, aéruminale|aéruminal, aéruminale]]
** [[Guide des mots rares à adopter/audulard, audularde|audulard, audularde]]
** [[Guide des mots rares à adopter/auricolore|auricolore]]
** [[Guide des mots rares à adopter/blatérate|blatérate]]
** [[Guide des mots rares à adopter/blatération|blatération]]
** [[Guide des mots rares à adopter/burgenatif, burgenative|burgenatif, burgenative]]
** [[Guide des mots rares à adopter/emphygomphe|emphygomphe]]
** [[Guide des mots rares à adopter/clausible|clausible]]
** [[Guide des mots rares à adopter/clausibilité|clausibilité]]
** [[Guide des mots rares à adopter/brèviloquent, brèviloquente|brèviloquent, brèviloquente]]
**''(autres à venir)''
<references />
[[Catégorie:Linguistique]]
[[Catégorie:Français]]
lni04x136d5z3x4v770aya4ncycgbk0
Fonctionnement d'un ordinateur/Les coprocesseurs : FPU et IO
0
83778
762880
2026-04-04T14:00:50Z
Mewtow
31375
Page créée avec « Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce... »
762880
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle.
==Les différentes catégories de coprocesseurs : IO, son, FPU==
Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent. A ce niveau, les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties. Nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
===L'extension flottante x87 des CPU x86===
Un bon exemple est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des coprocesseurs x87. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
jp97jzlbbwkle3ydjjslezlau4bdh5d
762882
762880
2026-04-04T14:05:25Z
Mewtow
31375
762882
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : IO, son, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle.
Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent. A ce niveau, les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Mais il existe une seconde solution, où il n'y a qu'un seul programme à exécuter. Ce dernier contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''. Un exemple de ces dernier est le cas des FPU x87 anciennes, quand elles étaient séparées du processeur.
Nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un bon exemple est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des coprocesseurs x87. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
pvep5dm4ryik5gadjqo5eqwfxrqokaz
762885
762882
2026-04-04T14:10:47Z
Mewtow
31375
/* Les différents types de coprocesseurs : IO, son, FPU */
762885
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : IO, son, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent. A ce niveau, les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Mais il existe une seconde solution, où il n'y a qu'un seul programme à exécuter. Ce dernier contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''. Un exemple de ces dernier est le cas des FPU x87 anciennes, quand elles étaient séparées du processeur.
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son.
===Les différents utilisations des coprocesseurs===
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
==Les coprocesseurs x87 d'Intel==
Un bon exemple est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des coprocesseurs x87. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
e5875i8rabih55ikjyqvk71ukp6vlp4
762886
762885
2026-04-04T14:15:37Z
Mewtow
31375
/* Les différents types de coprocesseurs : IO, son, FPU */
762886
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : IO, son, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent. A ce niveau, les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
===Les différents utilisations des coprocesseurs===
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Mais il existe une seconde solution, où il n'y a qu'un seul programme à exécuter. Ce dernier contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''. Les coprocesseurs arithmétiques utilisaient beaucoup cette technique.
==Les coprocesseurs x87 d'Intel==
Un bon exemple est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des coprocesseurs x87. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
4fp69oyhua6z3wr9kn4aql9qnpw7n8b
762887
762886
2026-04-04T14:16:16Z
Mewtow
31375
/* Les différents types de coprocesseurs : IO, son, FPU */
762887
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : IO, son, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent. A ce niveau, les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
===Les différents utilisations des coprocesseurs===
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un bon exemple est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des coprocesseurs x87. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
j0xqj5p9ws9i3w4opznqaffe00o8q1q
762888
762887
2026-04-04T14:17:03Z
Mewtow
31375
/* Les coprocesseurs sonores */
762888
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : IO, son, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent. A ce niveau, les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
===Les différents utilisations des coprocesseurs===
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un bon exemple est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des coprocesseurs x87. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
sbm3vfglj5mdt333z5a36s998423w8k
762889
762888
2026-04-04T14:20:17Z
Mewtow
31375
/* Les différents types de coprocesseurs : IO, son, FPU */
762889
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un bon exemple est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des coprocesseurs x87. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
k2baofnrbr9cwo01yfggcnqy1wr7f8a
762890
762889
2026-04-04T14:21:12Z
Mewtow
31375
/* Les coprocesseurs x87 d'Intel */
762890
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc. Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
9jjjtnwoi0hpsf8e8kqlceepuytp1i4
762891
762890
2026-04-04T14:25:29Z
Mewtow
31375
/* La pseudo-pile de registres */
762891
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Ce registre contient trois bits regroupés en un seul ensemble nommé TOP, qui stocke le numéro du premier registre vide dans l'ordre de remplissage. Idéal pour gérer notre pile de registres
|-
! U
| Sert à détecter les underflow. Il est mis à 1 lorsqu'un underflow a lieu.
|-
! O
| Pareil que U, mais pour les overflow : ce registre est mis à 1 lors d'un overflow
|-
! Z
| C'est un bit qui est mis à 1 lorsque notre FPU exécute une division par zéro
|-
! D
| Ce bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
htgl12itxh7vfs4s54kikr3me0g3080
762892
762891
2026-04-04T14:28:14Z
Mewtow
31375
/* Les registres de contrôle et d'état */
762892
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
przs4xfwx9s73c5vjmjr6yc9pgx7589
762893
762892
2026-04-04T14:32:19Z
Mewtow
31375
/* Les coprocesseurs x87 d'Intel */
762893
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS), les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
dgw3ix5x8cmaerynoh0ozz9c148q5p2
762894
762893
2026-04-04T14:33:41Z
Mewtow
31375
/* Les coprocesseurs x87 d'Intel */
762894
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Le premier coprocesseur de ce type était le 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
dmg1m25ygbqwmqqfochq11ccsfgkydr
762895
762894
2026-04-04T14:41:46Z
Mewtow
31375
/* Les coprocesseurs x87 d'Intel */
762895
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
[[File:Intel 8087.svg|thumb|Intel 8087]]
Les premiers coprocesseurs de ce type était l'Intel 8087. Il a été suivi par le 187, le 287, le 387, le 487 et le 587, d'Intel là aussi. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
mzyotsn46y0ghg9dga8egeueoiyr38x
762896
762895
2026-04-04T14:52:42Z
Mewtow
31375
/* Les coprocesseurs x87 */
762896
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882, mais ils ne suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
4oqlvq3i2g7ifg1vy3mpnq2g6dlj90e
762897
762896
2026-04-04T15:01:00Z
Mewtow
31375
/* Les coprocesseurs x87 */
762897
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882, mais ils ne suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
pisttvcnf4jpybgyw6ovpo351sfj0yp
762898
762897
2026-04-04T15:03:33Z
Mewtow
31375
/* Les coprocesseurs x87 */
762898
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882, mais ils ne suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un autre exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
pcmptm6r3xawufi9pgw8zrjrwt1991x
762899
762898
2026-04-04T15:04:31Z
Mewtow
31375
/* Les coprocesseurs sonores */
762899
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882, mais ils ne suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Les coprocesseurs sonores==
Un exemple de co-processeur sonore est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
: Il est possible de voir ce ''IO arbiter chip'' comme un contrôleur d'interruptions spécialisé dans les interruptions inter-processeur.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
93god21u7j2pcgbc1rm84luav4g1wtf
762900
762899
2026-04-04T15:05:12Z
Mewtow
31375
762900
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le Z80 commande un synthétiseur sonore et a sa propre mémoire, distincte de la mémoire principale, les trois étant reliées via un bus séparé. Le MC68000 est le processeur principal et a une relation maitre-esclave avec le Z80 : le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens.
Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire dedans à sa guise, le registre étant adressable par le processeur. Les valeurs écrites dans ce registre sont des numéros d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80. Le code de 8 bits est envoyé au processeur Z80, en parallèle de l'interruption.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882, mais ils ne suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
09w6zdslsjxvef0fbwnw06lmnqdqabu
762901
762900
2026-04-04T15:07:17Z
Mewtow
31375
/* Les coprocesseurs faiblement et fortement couplés */
762901
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882, mais ils ne suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
osbt5xylp11fdaoap9upjx49jy30lsg
762902
762901
2026-04-04T15:14:51Z
Mewtow
31375
/* Les coprocesseurs x87 */
762902
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882, mais ils ne suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
oz6cae61j0tmit6qeywdku9iq4bubpu
762903
762902
2026-04-04T15:18:10Z
Mewtow
31375
/* Les coprocesseurs x87 */
762903
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882, mais ils ne suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
tgoki2pety26gknje2iis9arsteotq4
762904
762903
2026-04-04T15:26:40Z
Mewtow
31375
/* Les coprocesseurs x87 */
762904
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882.
Les coprocesseurs arithmétiques étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Sans ces coprocesseurs, les calculs flottants étaient émulés en logiciel, par des fonctions et libraires spécialisées, très lentes. Certaines applications conçues pour le coprocesseur étaient capables d'en tirer profit : des logiciels de conception assistée par ordinateur, par exemple. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
5rjuvnkp3y1cnd6gihha8ogdyq8eoc0
762905
762904
2026-04-04T15:28:02Z
Mewtow
31375
/* Les différents utilisations des coprocesseurs */
762905
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
orvsn4otrrvhbp6cyjigac58a65ieq4
762906
762905
2026-04-04T15:37:01Z
Mewtow
31375
/* Les coprocesseurs faiblement et fortement couplés */
762906
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques====
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
mbogedoublozuuondflab9y3c0n3vuo
762907
762906
2026-04-04T15:37:09Z
Mewtow
31375
/* Les coprocesseurs arithmétiques= */
762907
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents utilisations des coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
13xqwftgsiuejozy9vkcr36y7ioj8wz
762908
762907
2026-04-04T15:39:38Z
Mewtow
31375
/* Les différents utilisations des coprocesseurs */
762908
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
pv5ol7bsjbo36zo8k6pfurmz400ha2d
762909
762908
2026-04-04T15:43:51Z
Mewtow
31375
/* Les registres de contrôle et d'état */
762909
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
ov645y43b2o7jyd2aygtlw7af5eq92n
762910
762909
2026-04-04T15:47:35Z
Mewtow
31375
/* Les coprocesseurs x87 */
762910
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage. Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
s288x8qq56bba2118ahmuefarkuykjw
762911
762910
2026-04-04T15:51:47Z
Mewtow
31375
/* Les coprocesseurs x87 */
762911
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 :
* l'addition : FADD ;
* la soustraction FSUB ;
* la multiplication FMUL ;
* la division FDIV ;
* la racine carrée FSQRT ;
* des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).'''Texte en gras'''
La FPU x87 implémente aussi des instructions trigonométriques. Il va de soi que ces instructions ne sont pas supportées par la norme IEEE 754 et que tout compilateur qui souhaite être compatible avec la norme IEEE 754 ne doit pas utiliser ces instructions de calcul non supportées. Voici la liste des instructions en question :
* le cosinus : instruction FCOS ;
* le sinus : instruction FSIN ;
* la tangente : instruction FPTAN ;
* l'arc tangente : instruction FPATAN ;
* ou encore des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques, vont utiliser le flottant situé au sommet de la pile. Les instructions qui ont besoin de deux flottants (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
p0rwnrxu58m8zwbv6l68hhemyibqux1
762912
762911
2026-04-04T15:56:09Z
Mewtow
31375
/* Les instructions x87 */
762912
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
t12obbi7e5k0tw4e04h2pxc6khmf5zr
762915
762912
2026-04-04T15:59:15Z
Mewtow
31375
/* Les différents types de coprocesseurs : son, IO, FPU */
762915
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques===
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Les coprocesseurs x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
===Les coprocesseurs x87===
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
bhut7ktk6wgi9f3usi8agzlf85dijds
762916
762915
2026-04-04T16:34:53Z
Mewtow
31375
/* Les coprocesseurs x87 d'Intel */
762916
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
===Les coprocesseurs arithmétiques===
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
Un exemple récent de coprocesseur est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques.
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
==Un exemple récent : le processeur CELL==
Un exemple de multicœurs asymétrique est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
ai63g0k6cc8r7irdujocwxinydcrw91
762917
762916
2026-04-04T16:37:19Z
Mewtow
31375
762917
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les exemples récents : des unités séparées===
Un exemple récent de coprocesseur arithmétique est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques. Il était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
tng8ruyhcoupjatx6wjenxeq7rz5y5z
762918
762917
2026-04-04T16:37:46Z
Mewtow
31375
/* Les anciens co-processeurs flottants */
762918
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les exemples récents : des unités séparées===
Un exemple récent de coprocesseur arithmétique est celui utilisé sur la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques. Il était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
d0tso1do2nwemh366m7qv9ujkrm3iib
762919
762918
2026-04-04T16:40:56Z
Mewtow
31375
/* Les exemples récents : des unités séparées */
762919
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
h2kyeuy8lt70pd0d9uul19u21tg91i0
762920
762919
2026-04-04T16:55:16Z
Mewtow
31375
/* L'intel 8087 */
762920
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Niveau microarchitecture, il ressemblait à un 8087 amélioré. Le bus mémoire est relié à un registre d’interfaçage, qui alimente le chemin de données, les registres de contrôle et le décodeur d'instruction. Entre le registre d’interfaçage et le chemin de données, on trouve une FIFO de 80 bits, soit 2,5 fois 32 bits. Elle permet de lire/écrire une opérande complète de 80 bits, alors que le bus de données n'en fait que 32.
Le chemin de données contient un additionneur flottant, avec un banc de registre de 8 registres. L'additionneur flottant est composé de plusieurs circuits : deux registres pour les opérandes, un additionneur pour les mantisses, et un décaleur pour normaliser les mantisses. Les calculs se font sur des mantisses de 68 bits, non 64, en raison de contraintes de normalisation et autres. Pour la gestion des exposants, on trouve un circuit d'addition et deux registres pour les exposants de deux opérandes. Cela permet d'implémenter l'addition et la multiplication assez simplement.
Il faut noter que le coprocesseur est microcodé, la plupart des instructions sont réalisées en utilisant l'addition flottante. Pour cela, des coefficients sont nécessaires afin de calibrer la plupart des opérations complexes. Et ces constantes sont mémorisées dans une mémoire ROM dédiée. Les instructions trigonométriques sont implémentées en utilisant l’algorithme de CORDIC, qu'on a décrit dans le chapitre sur les circuits de calcul flottants.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
1f1mgme0e7kz7eteuza1uxbxau6w2sq
762921
762920
2026-04-04T17:09:21Z
Mewtow
31375
/* L'intel 8087 */
762921
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état, et surtout une interface avec le bus. Entre le bus et le chemin de données, on trouve une file d'opérandes, servant à simplifier la gestion des lectures. Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Rien de bien compliqué, le 8087 était assez basique.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Niveau microarchitecture, il ressemblait à un 8087 amélioré. Le bus mémoire est relié à un registre d’interfaçage, qui alimente le chemin de données, les registres de contrôle et le décodeur d'instruction. Entre le registre d’interfaçage et le chemin de données, on trouve une FIFO de 80 bits, soit 2,5 fois 32 bits. Elle permet de lire/écrire une opérande complète de 80 bits, alors que le bus de données n'en fait que 32.
Le chemin de données contient un additionneur flottant, avec un banc de registre de 8 registres. L'additionneur flottant est composé de plusieurs circuits : deux registres pour les opérandes, un additionneur pour les mantisses, et un décaleur pour normaliser les mantisses. Les calculs se font sur des mantisses de 68 bits, non 64, en raison de contraintes de normalisation et autres. Pour la gestion des exposants, on trouve un circuit d'addition et deux registres pour les exposants de deux opérandes. Cela permet d'implémenter l'addition et la multiplication assez simplement.
Il faut noter que le coprocesseur est microcodé, la plupart des instructions sont réalisées en utilisant l'addition flottante. Pour cela, des coefficients sont nécessaires afin de calibrer la plupart des opérations complexes. Et ces constantes sont mémorisées dans une mémoire ROM dédiée. Les instructions trigonométriques sont implémentées en utilisant l’algorithme de CORDIC, qu'on a décrit dans le chapitre sur les circuits de calcul flottants.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
o4qs0vx3592hf7n1u83myob6444n11k
762922
762921
2026-04-04T17:17:34Z
Mewtow
31375
/* L'intel 8087 */
762922
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Niveau microarchitecture, il ressemblait à un 8087 amélioré. Le bus mémoire est relié à un registre d’interfaçage, qui alimente le chemin de données, les registres de contrôle et le décodeur d'instruction. Entre le registre d’interfaçage et le chemin de données, on trouve une FIFO de 80 bits, soit 2,5 fois 32 bits. Elle permet de lire/écrire une opérande complète de 80 bits, alors que le bus de données n'en fait que 32.
Le chemin de données contient un additionneur flottant, avec un banc de registre de 8 registres. L'additionneur flottant est composé de plusieurs circuits : deux registres pour les opérandes, un additionneur pour les mantisses, et un décaleur pour normaliser les mantisses. Les calculs se font sur des mantisses de 68 bits, non 64, en raison de contraintes de normalisation et autres. Pour la gestion des exposants, on trouve un circuit d'addition et deux registres pour les exposants de deux opérandes. Cela permet d'implémenter l'addition et la multiplication assez simplement.
Il faut noter que le coprocesseur est microcodé, la plupart des instructions sont réalisées en utilisant l'addition flottante. Pour cela, des coefficients sont nécessaires afin de calibrer la plupart des opérations complexes. Et ces constantes sont mémorisées dans une mémoire ROM dédiée. Les instructions trigonométriques sont implémentées en utilisant l’algorithme de CORDIC, qu'on a décrit dans le chapitre sur les circuits de calcul flottants.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
6mcp0rcjh3cm54t6k4t1qk9unea72g4
762923
762922
2026-04-04T17:18:44Z
Mewtow
31375
/* L'intel 387 */
762923
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Niveau microarchitecture, il ressemblait à un 8087 amélioré. Le bus mémoire est relié à un registre d’interfaçage, qui alimente le chemin de données, les registres de contrôle et le décodeur d'instruction. Entre le registre d’interfaçage et le chemin de données, on trouve une FIFO de 80 bits, soit 2,5 fois 32 bits. Elle permet de lire/écrire une opérande complète de 80 bits, alors que le bus de données n'en fait que 32.
Le coprocesseur est microcodé. Les instructions trigonométriques sont implémentées en utilisant l’algorithme de CORDIC, qu'on a décrit dans le chapitre sur les circuits de calcul flottants. Et outre le microcode, une mémoire ROM séparée est dédiée aux constantes fréquentes, comme pi, e et quelques autres.
Le chemin de données contient un additionneur flottant, avec un banc de registre de 8 registres. L'additionneur flottant est composé de plusieurs circuits : deux registres pour les opérandes, un additionneur pour les mantisses, et un décaleur pour normaliser les mantisses. Les calculs se font sur des mantisses de 68 bits, non 64, en raison de contraintes de normalisation et autres. Pour la gestion des exposants, on trouve un circuit d'addition et deux registres pour les exposants de deux opérandes. Cela permet d'implémenter l'addition et la multiplication assez simplement.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
jmp5wv7g7paqsjvmifvsbb1mny839ej
762924
762923
2026-04-04T17:21:41Z
Mewtow
31375
/* L'intel 8087 */
762924
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc mcirocodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Niveau microarchitecture, il ressemblait à un 8087 amélioré. Le bus mémoire est relié à un registre d’interfaçage, qui alimente le chemin de données, les registres de contrôle et le décodeur d'instruction. Entre le registre d’interfaçage et le chemin de données, on trouve une FIFO de 80 bits, soit 2,5 fois 32 bits. Elle permet de lire/écrire une opérande complète de 80 bits, alors que le bus de données n'en fait que 32.
Le coprocesseur est microcodé. Les instructions trigonométriques sont implémentées en utilisant l’algorithme de CORDIC, qu'on a décrit dans le chapitre sur les circuits de calcul flottants. Et outre le microcode, une mémoire ROM séparée est dédiée aux constantes fréquentes, comme pi, e et quelques autres.
Le chemin de données contient un additionneur flottant, avec un banc de registre de 8 registres. L'additionneur flottant est composé de plusieurs circuits : deux registres pour les opérandes, un additionneur pour les mantisses, et un décaleur pour normaliser les mantisses. Les calculs se font sur des mantisses de 68 bits, non 64, en raison de contraintes de normalisation et autres. Pour la gestion des exposants, on trouve un circuit d'addition et deux registres pour les exposants de deux opérandes. Cela permet d'implémenter l'addition et la multiplication assez simplement.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
qz7m4o3nuqqis3e9pdtgqngnurkrt9r
762925
762924
2026-04-04T17:23:36Z
Mewtow
31375
/* L'intel 387 */
762925
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc mcirocodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Niveau microarchitecture, il ressemblait à un 8087 amélioré. Une première différence est que les calculs se font sur des mantisses de 68 bits, et non 64, en raison de contraintes de normalisation et autres. De plus, on trouve une mémoire ROm dédiées aux constantes les plus utilisées.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
2pz9b7yp4a0gi7y1xd2atikofsvnz4p
762926
762925
2026-04-04T17:26:23Z
Mewtow
31375
/* L'intel 387 */
762926
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc mcirocodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Niveau microarchitecture, il ressemblait à un 8087 amélioré. Une première différence est que les calculs se font sur des mantisses de 68 bits, et non 64, en raison de contraintes de normalisation et autres. De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
mwgw8v9u25ipl3qne5q2w2fz468pm4d
762927
762926
2026-04-04T17:26:52Z
Mewtow
31375
/* L'intel 387 */
762927
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc mcirocodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Niveau microarchitecture, il ressemblait à un 8087 amélioré. Une première différence est que les calculs se font sur des mantisses de 68 bits, et non 64, en raison de contraintes de normalisation et autres. De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
pbk9dkq8ht88u5ntkw4bm3xpf8dm1au
762928
762927
2026-04-04T17:27:42Z
Mewtow
31375
/* L'intel 8087 */
762928
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc mcirocodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle est illustrée sur ce schéma, qui décrit la microarchitecture de l'Intel 387, qui a une microarchitecture presque identique à celle du 8087.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
34e6j95kugcbioictgp9sfhr78ir3b0
762929
762928
2026-04-04T17:29:13Z
Mewtow
31375
/* Les coprocesseurs x87 */
762929
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc mcirocodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Sa microarchitecture est très similaire à celle de l'Intel 8087. La seule différence notable est que la mémoire FIFO est adaptée à un bus de 32 bits.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
iz1x4dpvl2xlbunvz2x0ll84qw6wnf1
762930
762929
2026-04-04T17:36:07Z
Mewtow
31375
/* L'intel 8087 */
762930
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc mcirocodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
===L'intel 387===
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Sa microarchitecture est très similaire à celle de l'Intel 8087. La seule différence notable est que la mémoire FIFO est adaptée à un bus de 32 bits.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
62dqzn57ga40vct1tpa85rqsutkklw4
762931
762930
2026-04-04T17:36:13Z
Mewtow
31375
/* L'intel 387 */
762931
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
Le 8086 lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au 8087 ou au 8086. Pour cela, les instructions du 8087 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le 8087 récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le 8087 lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le 8086, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU 8086 ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU 8086, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le 8086 disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU 8086 à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le 8087 disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le 8086, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 avait une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc mcirocodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
L'interface avec le bus est un simple registre d’interfaçage de 16 bits. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16. Les opérandes sont donc lues/écrites en plusieurs passes : deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16).
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Pour finir, voici quelques liens sur la microarchitecture de ce processeur :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Sa microarchitecture est très similaire à celle de l'Intel 8087. La seule différence notable est que la mémoire FIFO est adaptée à un bus de 32 bits.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
hxbpw0tnmekrl0n2xq7dyz3ohqzukns
762932
762931
2026-04-04T17:41:04Z
Mewtow
31375
/* L'intel 8087 et ses successeurs */
762932
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
3oa0joe0cmo0fnqltll1mo6xs14bkdt
762935
762932
2026-04-04T18:22:13Z
Mewtow
31375
/* Les coprocesseurs x87 */
762935
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA.
L'Intel 8231 gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
qw21g61sc9fzo8rkgn8tuobrbkqyffp
762941
762935
2026-04-04T18:35:07Z
Mewtow
31375
/* L'Intel 8231 et le 8232 */
762941
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232.
L'Intel 8231 gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Avec l'implémentation utilisant des interruptions matérielles, le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait une interruption pour prévenir qu'il avait finit son travail.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
q934liypm9m0s8a8w47q3eqqkazwdts
762942
762941
2026-04-04T18:38:57Z
Mewtow
31375
/* L'Intel 8231 et le 8232 */
762942
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232.
L'Intel 8231 gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Avec l'implémentation utilisant des interruptions matérielles, le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait une interruption pour prévenir qu'il avait finit son travail.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
jrr3pcv76dqnfymadtt7nagtp3tbf5u
762943
762942
2026-04-04T18:56:51Z
Mewtow
31375
/* L'Intel 8231 et le 8232 */
762943
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232.
L'Intel 8231 gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Et il avait une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Mais les broches restantes sont bien plus intéressantes.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile ! Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Écriture de l'octet dans les registres de données.
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 000 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 000 || Lecture du registre de contrôle.
|}
Ensuite, les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande.
* SVREQ
*
*
*
Avec l'implémentation utilisant des interruptions matérielles, le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait une interruption pour prévenir qu'il avait finit son travail. Il avait une broche dédiée, appelée END, dédiée à ça.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
kiv4ni84h718ojy2hvh3qynx7qkgh59
762944
762943
2026-04-04T19:09:43Z
Mewtow
31375
/* L'Intel 8231 et le 8232 */
762944
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit. Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile, et c'est ce que le 8231/8232 a fait.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre de contrôle.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail. Il avait une broche dédiée, appelée END, dédiée à ça. Le processeur pouvait soit lire cette entrée régulièrement (''pooling'') soit relier cette sortie sur une entrée d'interruption. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que l'instruction précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0. Elle peut être utilisée comme sortie d'interruption.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
s64f645t2e408o6s8c8ux3i3okqhhee
762945
762944
2026-04-04T19:14:38Z
Mewtow
31375
/* L'Intel 8231 et le 8232 */
762945
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit. Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile, et c'est ce que le 8231/8232 a fait.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
2ywdan5y6k4w0tf9nug8n1a15r2f8lo
762946
762945
2026-04-04T19:15:53Z
Mewtow
31375
/* L'Intel 8231 et le 8232 */
762946
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit. Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile, et c'est ce que le 8231/8232 a fait.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les architectures actionnées par déplacement
| prevText=Les architectures actionnées par déplacement
| next=L'espace d'adressage du processeur
| nextText=L'espace d'adressage du processeur
}}
</noinclude>
nt02ij7dq0x4fjqoeo56asd6j500ux5
762949
762946
2026-04-04T19:18:39Z
Mewtow
31375
/* L'intel 8087 et ses successeurs */
762949
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit. Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile, et c'est ce que le 8231/8232 a fait.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
fjc5libnbzmca3ki0mi0sb1f1ruyqax
762952
762949
2026-04-04T19:23:17Z
Mewtow
31375
/* L'Intel 8231 et le 8232 */
762952
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===L'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 ne supportait pas le jeu d'extension x87, qui est apparu après. Il gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit.
Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile et c'est ce que le 8231/8232 a fait. Précisons cependant que ce n'est pas la même pile de registre que la pile x87, mais c'était une sorte de pile similaire, qui a évolué pour donner la pile x87.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
pnj8jaddqmd8m1x7xidq87ax5j3q5gs
762953
762952
2026-04-04T19:24:34Z
Mewtow
31375
/* Les coprocesseurs x87 */
762953
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87 et leurs précurseurs==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===Les précurseurs : l'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 ne supportait pas le jeu d'extension x87, qui est apparu après. Il gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit.
Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile et c'est ce que le 8231/8232 a fait. Précisons cependant que ce n'est pas la même pile de registre que la pile x87, mais c'était une sorte de pile similaire, qui a évolué pour donner la pile x87.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
kjvv5snit8h5a8wb1n3x9jksbq9t7uq
762954
762953
2026-04-04T19:25:57Z
Mewtow
31375
/* Les précurseurs : l'Intel 8231 et le 8232 */
762954
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87 et leurs précurseurs==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===Les précurseurs : l'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 ne supportait pas le jeu d'extension x87, qui est apparu après. Il gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit.
Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile et c'est ce que le 8231/8232 a fait. Précisons cependant que ce n'est pas la même pile de registre que la pile x87, mais c'était une sorte de pile similaire, qui a évolué pour donner la pile x87. Il s'agissait pour le coup d'une vraie pile, les opérations utilisaient systématiquement le sommet de la pile et l'opérande en-dessous. Il n'y avait pas de possibilité d'adresser un opérande dans la pile.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
q5fn3g9mmk8wpkjktfjyfm31z5mt2ca
762955
762954
2026-04-04T19:32:19Z
Mewtow
31375
/* L'intel 8087 et ses successeurs */
762955
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87 et leurs précurseurs==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===Les précurseurs : l'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 ne supportait pas le jeu d'extension x87, qui est apparu après. Il gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit.
Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile et c'est ce que le 8231/8232 a fait. Précisons cependant que ce n'est pas la même pile de registre que la pile x87, mais c'était une sorte de pile similaire, qui a évolué pour donner la pile x87. Il s'agissait pour le coup d'une vraie pile, les opérations utilisaient systématiquement le sommet de la pile et l'opérande en-dessous. Il n'y avait pas de possibilité d'adresser un opérande dans la pile.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux flottants, de faire des décalages, il y a un additionneur-soustracteur pour les exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
L'impléméntation du banc de registre est assez simple : une RAM avec un registre qui indique la position du sommet de la pile dedans. Le registre fait 3 bits, pour 8 registres. En plus de cela, il y a un petit soustracteur et un multiplexeur, pour adresser les opérandes dans la pile. Pour rappel, il est possible d'adresser la seconde opérande dans la pile. Mais on précise pas le numéro du registre dans la pile pour cela, on précise sa position sous le sommet de la pile, à savoir si elle est deux, trois, quatre opérandes sous le sommet de la pile. Pour déterminer quel registre lire, il faut soustraire ce "décalage" au numéro de registre du sommet de la pile. Pour cela, il y a un petit soustracteur pour faire le calcul.
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
bdsjiriq9cht3uxjh4b0fpniknh7aqi
762956
762955
2026-04-04T19:35:43Z
Mewtow
31375
/* L'intel 8087 et ses successeurs */
762956
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87 et leurs précurseurs==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===Les précurseurs : l'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 ne supportait pas le jeu d'extension x87, qui est apparu après. Il gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit.
Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile et c'est ce que le 8231/8232 a fait. Précisons cependant que ce n'est pas la même pile de registre que la pile x87, mais c'était une sorte de pile similaire, qui a évolué pour donner la pile x87. Il s'agissait pour le coup d'une vraie pile, les opérations utilisaient systématiquement le sommet de la pile et l'opérande en-dessous. Il n'y avait pas de possibilité d'adresser un opérande dans la pile.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux mantisses flottantes, de faire des décalages, d'additionner deux exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
L'impléméntation du banc de registre est assez simple : une RAM avec un registre qui indique la position du sommet de la pile dedans. Le registre fait 3 bits, pour 8 registres. En plus de cela, il y a un petit soustracteur et un multiplexeur, pour adresser les opérandes dans la pile. Pour rappel, il est possible d'adresser la seconde opérande dans la pile. Mais on précise pas le numéro du registre dans la pile pour cela, on précise sa position sous le sommet de la pile, à savoir si elle est deux, trois, quatre opérandes sous le sommet de la pile. Pour déterminer quel registre lire, il faut soustraire ce "décalage" au numéro de registre du sommet de la pile. Pour cela, il y a un petit soustracteur pour faire le calcul.
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
9f9eb37puw39145g6idk1fj2ikdzg2k
762957
762956
2026-04-04T19:39:18Z
Mewtow
31375
/* L'intel 8087 et ses successeurs */
762957
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87 et leurs précurseurs==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===Les précurseurs : l'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 ne supportait pas le jeu d'extension x87, qui est apparu après. Il gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit.
Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile et c'est ce que le 8231/8232 a fait. Précisons cependant que ce n'est pas la même pile de registre que la pile x87, mais c'était une sorte de pile similaire, qui a évolué pour donner la pile x87. Il s'agissait pour le coup d'une vraie pile, les opérations utilisaient systématiquement le sommet de la pile et l'opérande en-dessous. Il n'y avait pas de possibilité d'adresser un opérande dans la pile.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé soit avec du ''pooling'', soit avec des interruption,s voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le 'pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux mantisses flottantes, de faire des décalages, d'additionner deux exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
L'impléméntation du banc de registre est assez simple : une RAM avec un registre qui indique la position du sommet de la pile dedans. Le registre fait 3 bits, pour 8 registres. En plus de cela, il y a un petit soustracteur et un multiplexeur, pour adresser les opérandes dans la pile. Pour rappel, il est possible d'adresser la seconde opérande dans la pile. Mais on précise pas le numéro du registre dans la pile pour cela, on précise sa position sous le sommet de la pile, à savoir si elle est deux, trois, quatre opérandes sous le sommet de la pile. Pour déterminer quel registre lire, il faut soustraire ce "décalage" au numéro de registre du sommet de la pile. Pour cela, il y a un petit soustracteur pour faire le calcul.
Le circuit décaleur est composé de deux sous-décaleurs. Le premier fait des décalages au niveau des octets, le second décale l'opérande de 0 à 7 rangs.
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
0irkn6qned7bkn2x3b88gx01e17p2bl
762958
762957
2026-04-04T20:40:04Z
Mewtow
31375
/* Les précurseurs : l'Intel 8231 et le 8232 */
762958
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il servent.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un co-processeur sonore. Le processeur principal était un Motorola 68000, alors que le co-processeur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. A l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banal comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions interprocesseurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les co-processeurs arithmétiques se distinguent des autres car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les co-processeurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les co-processeurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du co-processeur. Les instructions sont exécutées soit par le CPU, soit par le co-processeur, une par une. En clair, le CPU et le co-processeur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. A l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans co-processeur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les co-processeurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des co-processeurs. Mais il est assez rare qu'elles incorporent des co-processeurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elle n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeur disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les co-processeurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des co-processeurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arctangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'une opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à une opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87 et leurs précurseurs==
Les premiers coprocesseurs de ce type était l'Intel 8231/8232, déstinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censé servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.suivaient pas le jeu d'instruction x87.
===Les précurseurs : l'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 ne supportait pas le jeu d'extension x87, qui est apparu après. Il gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit.
Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile et c'est ce que le 8231/8232 a fait. Précisons cependant que ce n'est pas la même pile de registre que la pile x87, mais c'était une sorte de pile similaire, qui a évolué pour donner la pile x87. Il s'agissait pour le coup d'une vraie pile, les opérations utilisaient systématiquement le sommet de la pile et l'opérande en-dessous. Il n'y avait pas de possibilité d'adresser un opérande dans la pile.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Elle étaient dépilées là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelés des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait finit son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien recu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé avec du ''pooling'', avec des interruptions, voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le ''pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le co-processeur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation loigicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement comparé au CPU. Et ca a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le co-processeur associé au 386 d'Intel. Il était le premier co-processeur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifié du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre co-processeur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre co-processeur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au co-processeur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire une opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lue en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lues en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux mantisses flottantes, de faire des décalages, d'additionner deux exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédées par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lues/écrites font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lues/écrites en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 * 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
L'impléméntation du banc de registre est assez simple : une RAM avec un registre qui indique la position du sommet de la pile dedans. Le registre fait 3 bits, pour 8 registres. En plus de cela, il y a un petit soustracteur et un multiplexeur, pour adresser les opérandes dans la pile. Pour rappel, il est possible d'adresser la seconde opérande dans la pile. Mais on précise pas le numéro du registre dans la pile pour cela, on précise sa position sous le sommet de la pile, à savoir si elle est deux, trois, quatre opérandes sous le sommet de la pile. Pour déterminer quel registre lire, il faut soustraire ce "décalage" au numéro de registre du sommet de la pile. Pour cela, il y a un petit soustracteur pour faire le calcul.
Le circuit décaleur est composé de deux sous-décaleurs. Le premier fait des décalages au niveau des octets, le second décale l'opérande de 0 à 7 rangs.
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
a502pkxxw7c7dnuced21tluda5w6rcn
762959
762958
2026-04-04T20:43:21Z
Mewtow
31375
orthotypo
762959
wikitext
text/x-wiki
Les processeurs actuels sont des processeurs multicœurs, à savoir qu'ils intègrent plusieurs processeurs dans un seul circuit intégré. Du moins, c'est une explication simplifiée, des circuits sont mutualisés entre les processeurs. Les cœurs sont tous identiques, à savoir qu'ils ont le même jeu d'instruction, ont une microarchitecture similaire, etc. Mais ce n'est possible que parce que les processeurs actuels ont un grand nombre de transistors, grâce à la loi de Moore. Pour intégrer plusieurs cœurs sur un processeur, il faut le budget en transistor pour. Mais au siècle dernier, le budget en transistors n'était pas là. Aussi, utiliser plusieurs processeurs était plus compliqué.
Les ordinateurs de l'époque pouvaient utiliser plusieurs processeurs identiques, mais il fallait que la carte mère le supporte. Et les cartes mères avec plusieurs sockets identiques étaient rares. Les cartes mères pour serveur en étaient capables, mais pas les cartes mères grand public. Les cartes mères plus grand public avaient cependant une option pour gérer plusieurs processeurs. Quelques ordinateurs assez anciens disposaient de '''coprocesseurs''', des processeurs secondaires qui complémentaient un processeur principal. Nous en avions déjà vu dans le chapitre sur l'architecture de base, et avions vu quelques exemples, provenant tous d'anciennes consoles de jeu. Mais il est temps de voir ces coprocesseurs en détail
==Les différents types de coprocesseurs : son, IO, FPU==
Le CPU et le coprocesseur sont foncièrement différents : ils n'ont pas le même jeu d'instruction, n'ont pas le même rôle, et j'en passe. Sauf exception, le CPU et le coprocesseur exécutent des programmes différents, ils travaillent en parallèle. Le coprocesseur a donc un rôle secondaire, reste à voir à quoi il sert.
===Les différents types de coprocesseurs===
Les coprocesseurs peuvent se classer en plusieurs catégories : les coprocesseurs sonores, arithmétiques, et d'entrées-sorties.
* Les '''coprocesseurs sonores''' sont une sorte d'ancêtre des cartes son, utilisés autrefois sur les consoles de jeu.
* Les '''coprocesseurs d'entrée-sortie''' ou ''Channel IO'', délèguent la gestion des entrée-sorties à un coprocesseur.
* Les '''coprocesseurs arithmétiques''' sont spécialisés dans les calculs, et notamment dans les calculs flottants.
Les '''coprocesseurs sonores''' ont eu leur heure de gloire sur les anciennes consoles de jeux vidéo, comme La Nintendo 64, la Playstation et autres consoles antérieures. Ils s'occupaient respectivement de calculer tout ce qui a trait au son. Pour donner un exemple, on peut citer la console Neo-géo, qui disposait de deux processeurs travaillant en parallèle : un processeur principal, et un coprocesseur sonore. Le processeur principal était un Motorola 68000, alors que le coprocesseur sonore était un processeur Z80.
Les '''coprocesseur d'IO''' sont dédié à l'accès aux entrées-sorties. Un exemple assez récent est celui de la console de jeu Nintendo 3DS. Elle disposait d'un processeur principal de type ARM9, d'un coprocesseur pour les divisions qu'on abordera plus bas, et d'un second processeur ARM7. L'ARM 7 était utilisé comme coprocesseur d'I/O, ainsi que pour l'émulation de la console GBA.
[[File:Asmp 2.gif|centre|vignette|upright=2|Co-processeur pour l'accès aux entrées-sorties.]]
Les '''coprocesseurs arithmétiques''' sont dédiés aux calculs en virgule flottante. Ils étaient utilisés à une époque où les CPU ne géraient que des calculs entiers (en binaire ou en BCD). Un exemple est le coprocesseur flottant x87, complémentaire des premiers processeurs Intel x86. Il y a eu la même chose sur les processeurs Motorola 68000, avec deux coprocesseurs flottants appelés les Motorola 68881 et les Motorola 68882. Ils sont aujourd'hui tombés en désuétude, depuis que les CPU sont devenus capables de faire des calculs sur des nombres flottants.
===Les coprocesseurs faiblement et fortement couplés===
Un coprocesseur peut être un processeur fait sur mesure, qui ne peut que servir de processeur secondaire, comme le sont tous les coprocesseurs arithmétiques. À l'inverse, de nombreuses consoles de jeu utilisaient un processeur des plus banals comme coprocesseur. Par exemple, de nombreuses consoles avaient un processeur principal, complété par un coprocesseur Z80 en guise de carte son. Et cette distinction est très liée à celle qui distingue les coprocesseurs faiblement couplés, et fortement couplés.
Le cas le plus fréquent est celui où le CPU et le coprocesseur travaillent en parallèle et exécutent des programmes différents. On parle alors de '''coprocesseurs faiblement couplés'''. Les coprocesseurs sonores et d'IO sont tous dans ce cas. Le coprocesseur sonore exécute un programme pour gérer le son, qui est séparé au programme principal. Le programme principal communique avec le coprocesseur, mais c'est assez rare. Dans un jeu vidéo, cela arrive seulement quand il faut changer de musique ou déclencher un effet sonore.
Les deux travaillent en parallèle, et il existe des mécanismes de synchronisation entre les deux processeurs. Typiquement, la synchronisation se fait en utilisant des ''interruptions inter-processeurs'', à savoir qu'un processeur exécute une interruption qui est exécutée par l'autre processeur. L'implémentation demande d'ajouter des circuits pour gérer ces interruptions entre processeurs.
Un exemple est celui des consoles néo-géo et Megadrive. Elles intègrent deux processeurs : un Motorola 68000 qui sert de processeur principal, un Z80 qui sert de processeur dédié à l'audio. Le MC68000 envoie des commandes au Z80, mais la communication ne va pas dans l'autre sens. Les deux processeurs communiquent via l'intermédiaire d'un ''IO arbiter chip'', qui gère les interruptions inter-processeur. Il contient un registre de 8 bits, dans lequel le MC68000 peut écrire un numéro d'interruption, qui indiquent quelle routine d'interruption exécuter. Lorsque le MC68000 écrit une valeur dedans, cela déclenche l’exécution automatique d'une interruption sur le Z80.
[[File:Architecture de la Megadrive et de la Néogeo.png|centre|vignette|upright=2.5|Architecture de la Megadrive et de la Néogeo]]
Les coprocesseurs arithmétiques se distinguent des autres, car ils fonctionnent en tandem avec le processeur principal, pas en parallèle. Les coprocesseurs précédents sont autonomes, à savoir qu'ils exécutent un programme différent de celui exécuté par le CPU. Mais les coprocesseurs arithmétiques ne sont pas dans ce cas. Il n'y a qu'un seul programme à exécuter, qui contient des instructions à destination du CPU, d'autres à destination du coprocesseur. Les instructions sont exécutées soit par le CPU, soit par le coprocesseur, une par une. En clair, le CPU et le coprocesseur se passent à la main à tour de rôle, ils ne travaillent pas en parallèle. On parle alors de '''coprocesseurs fortement couplés'''.
==Les coprocesseurs arithmétiques : généralités et exemples==
Dans le reste de ce chapitre, nous allons surtout voir les coprocesseurs arithmétiques, et ce pour plusieurs raisons. Premièrement, on a plus de documentation dessus, car c'était des processeurs commerciaux, vendus autrefois en magasin, avec de la documentation destinée aux utilisateurs. À l'opposé, les coprocesseurs sonores et d'IO étaient surtout utilisées sur des consoles de jeu, ou des gros ''mainframes''. Et autant les ''mainframes'' avaient de la documentation bien fournie, autant celle pour les consoles de jeu était très limitée. Une autre raison est que les autres coprocesseurs devraient être vus idéalement dans les chapitres sur les périphériques et entrées-sorties. C'est assez évident pour les coprocesseurs d'IO, mais c'est aussi l'idéal pour les coprocesseurs sonores. En effet, ceux-ci sont en quelque sorte des cartes sons partielles.
===Les anciens co-processeurs flottants des PCs===
Les coprocesseurs arithmétiques étaient spécialisés dans les calculs flottants et étaient généralement fortement couplés. Les coprocesseurs étaient optionnels et il était parfaitement possible de monter un PC qui n'en avait pas. En conséquence, les programmeurs devaient coder des programmes qui peuvent fonctionner avec et sans coprocesseur. La solution la plus simple était de fournir deux versions du logiciel : une sans usage du coprocesseur, et une autre qui en fait usage, plus rapide. Une autre solution était d'émuler les calculs flottants en logiciel.
Un bon exemple de la seconde solution est le 68881 de Motorola, conçu pour fonctionner avec les CPU 6802 et 68030. Les programmes mixaient instructions entières et flottantes, le 68000 exécutant les instructions entières, le 68881 exécutant les instructions flottantes. Les instructions flottantes avaient un opcode qui commençait par F (en hexadécimal), ce qui permettait de les distinguer rapidement du reste. Le 68000 chargeait les instructions, et regardait si l'instruction était destinée soit au coprocesseur, soit pour lui. Si elle était pour le coprocesseur, le 68000 lisait les opérandes depuis la mémoire et envoyait tout au coprocesseur 68881, qui exécutait l'instruction, puis rendait la main au 68000.
Les coprocesseurs Motorola utilisaient des flottants codés sur 80 bits : la mantisse était codée sur 64 bits, l'exposant sur 15 bits. Le 68881 incorporait 8 registres flottants, nommés, de 80 bits chacun. Il avait aussi un registre de statut et un registre de contrôle, guère plus. Fait étonnant, les coprocesseurs pour les PC faisaient pareil : flottants codés sur 80 bits, 8 registres flottants. Mais les détails sont différents, comme on le verra plus tard.
===Les coprocesseurs arithmétiques des consoles de jeu===
Les consoles de jeu incorporent souvent des coprocesseurs. Mais il est assez rare qu'elles incorporent des coprocesseurs arithmétiques et c'est surtout quelque chose qu'on observe sur les consoles des années 2000. La raison est que les consoles utilisent des processeurs commerciaux, utilisés dans les smartphones ou les PC. Elles n'utilisent pas de processeur spécifiquement conçu pour elles, sauf exceptions. Et de tels processeurs disposent de capacités de calcul flottant ou entières suffisantes, ils sont choisis pour. Mais il existe quelques cas où ce n'est pas le cas.
Un exemple récent est de la console de jeu Nintendo DS. La console utilisait deux processeurs, un ARM9 et un ARM7, deux processeurs RISC qui ne pouvaient pas faire de division entière. Il s'agit pourtant d'opérations importantes dans le cas du rendu 3D, ce qui fait que les concepteurs de la console ont rajouté un coprocesseur spécialisé dans les divisions entières et les racines carrées. Le coprocesseur était adressable directement par le processeur, comme peuvent l'être la RAM ou les périphériques, et était traité comme une entrée-sortie comme une autre.
Un autre exemple est celui du processeur CELL de la console de jeu PS3. Il était conçu spécifiquement pour cette console. Il intègre un cœur principal POWER PC v5 et 8 cœurs qui servent de processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets qui communique avec le processeur principal via un bus spécial. Cette fois-ci, les coprocesseurs sont intégrés dans le même processeur.
Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il délègue des calculs aux SPE en écrivant dans le local store du SPE et en lui ordonnant l’exécution du programme qu'il vient d'écrire.
[[File:Schema Cell.png|centre|vignette|upright=2|Architecture du processeur CELL de la PS3. Le PPE est le processeur principal, les SPE sont des processeurs auxiliaires qui comprennent : un ''local store'' noté LS, un processeur noté SXU, et un contrôleur DMA pour échanger des informations avec la mémoire principale.]]
==Le jeu d'instruction x87 d'Intel==
Un exemple de coprocesseur arithmétique est celui de l'extension x87 qui a ajouté les nombres flottants aux processeurs x86. Pour rappel, les processeurs x86 sont ceux qui sont présents à l'intérieur des PC, à savoir tous les processeurs Intel et AMD actuels. Il s'agit d'un jeu d'instruction qui a reçu de nombreux ajouts au cours du temps. Les ajouts en question sont appelés des '''extensions x86'''. Nous allons maintenant voir celle qui a ajouté la gestion des flottants au x86. L'extension x87 n'est plus utilisée depuis l'arrivée des CPU 64 bits, car elle a été remplacée par l'extension SSE.
Sur les tout premiers processeurs x86, le support des nombres flottants n'était pas implémenté. A la place, ils utilisaient des coprocesseurs arithmétiques, appelés des '''coprocesseurs x87'''. Ils travaillaient en tandem avec un processeur x86 normal, et ne géraient que des instructions arithmétiques sur des flottants. Ils étaient capables d'exécuter les 4 opérations de base (add, sub, mul, div), la racine carrée, les opérations trigonométriques sinus, cosinus et tangente, l'arc tangente, et des instructions de calcul de logarithmes ou d'exponentielles.
===La pseudo-pile de registres===
Les coprocesseurs arithmétiques x87 avaient 8 registres flottants, qui étaient gérés avec une pseudo-pile, ainsi que 3 registres de contrôle. Les 8 registres x87 sont ordonnés et numérotés de 0 à 7. Les registres x87 sont organisés sous la forme d'une pile de registres, similaire à une pile d'assiette, que l'on remplit dans un ordre bien précis. Lors du chargement d'un opérande de la RAM vers les registres, il n'est pas possible de décider du registre de destination. Si on veut ajouter des flottants dans nos registres, on doit les « remplir » dans un ordre de remplissage imposé : on remplit d'abord le registre 7, puis le 6, puis le 5, et ainsi de suite jusqu'au registre 0. Si on veut ajouter un flottant dans cette pile de registres, celui-ci sera stocké dans le premier registre vide dans l'ordre de remplissage indiqué au-dessus.
Prenons un exemple, les 3 premiers registres sont occupés par un flottant et on veut charger un flottant supplémentaire : le 4e registre sera utilisé pour stocker ce flottant. La même chose existe pour le « déremplissage » des registres. Imaginez que vous souhaitez déplacer le contenu d'un registre dans la mémoire RAM et effacer complètement son contenu. On ne peut pas choisir n'importe quel registre pour faire cela : on est obligé de prendre le registre non vide ayant le numéro le plus grand.
{|
|[[File:Pseudo-pile x87. - PUSH.png|vignette|upright=2|Pseudo-pile x87 - chargement d'une opérande.]]
|[[File:Pseudo-pile x87 - POP.png|vignette|upright=2|Pseudo-pile x87 - retrait d'une opérande.]]
|}
Les instructions à un opérande dépilent le flottant au sommet de la pile. Les instructions dyadiques peuvent dépiler les deux opérandes au sommet de la pile, mais elles peuvent aussi utiliser d'autres modes d'adressage. Elles peuvent aller chercher la seconde opérande en RAM, en fournissant une adresse. Mais elles peuvent aussi adresser n'importe quel autre registre de la pile en fournissant son numéro de registre. Avec ce dernier mode d'adressage, le processeur agit comme une sorte de processeur à accumulateur, avec le sommet de la pile servant d'accumulateur.
En somme, les registres de la pile sont adressables, du moins pour ce qui est de gérer la seconde opérande. C'est cette particularité qui vaut le nom de pseudo-pile à cette organisation à mi-chemin entre une pile et une architecture à registres.
===Les instructions x87===
Maintenant, voyons quelles instructions les FPU x87 devaient gérer. L'extension x87 est en effet un jeu d'instruction, qui décrit quelles instructions doivent être gérées. Les instructions utilisent des opcodes inutilisés dans le jeu d'instruction x86, qui sont détournés pour fonctionner sur le x87.
On trouve évidemment des instructions de calculs, bien évidemment compatibles avec la norme IEE754 : l'addition FADD, la soustraction FSUB, la multiplication FMUL et la division FDIV. Mais il y a aussi la racine carrée FSQRT. La FPU x87 implémente aussi des instructions trigonométriques, qui ne sont pas supportées par la norme IEEE 754. Elle gérait l'instruction FCOS pour le cosinus, l'instruction FSIN pour le sinus, l'instruction FPTAN pour la tangente, l'instruction FPATAN pour l'arc tangente, ainsi que des instructions de calcul de logarithmes ou d'exponentielles.
La FPU x87 dispose aussi d'instructions de comparaisons compatibles avec la norme IEEE 754, capables de comparer le flottant au sommet de la pile avec un autre nombre qui peut être flottant ou entier ! Voici une liste de quelques instructions de comparaisons supportées par les FPU 87 :
* FCOM : compare le contenu du registre 0 avec une constante flottante ;
* FCOMI : compare le contenu des registres 0 et 1 ;
* FICOM : compare le contenu du registre 0 avec une constante entière ;
* FTST : compare le registre numéroté 0 avec la valeur 0.
Le x87 avait aussi des instructions de calcul de la valeur absolue (FABS) ou encore de changement de signe (FCHS).
Les instructions de calcul n'ayant besoin que d'un seul flottant pour s'exécuter, comme les opérations trigonométriques ou la valeur absolue, utilisent le flottant situé au sommet de la pile. Les instructions dyadiques (multiplication, addition, soustraction et autres) vont agir différemment suivant la situation. Elles peuvent prendre les deux flottants les plus haut placés dans cette pile, prendre le flottant au sommet de la pile, utiliser une donnée en provenance de la mémoire, ou encore utiliser le flottant le plus haut placé et un flottant stocké dans l'importe quel registre de cette pile de registres. La pile de registre était donc une sorte de mélange entre un accumulateur et 7 registres adressables.
Pour charger des opérandes dans la pile d'opérande, l'extension x87 fournit trois instructions d'accès mémoire.
{|class="wikitable"
|-
! Instruction
! Description
|-
! FLD
| Charge un nombre flottant depuis la mémoire vers notre pile de registres vue au-dessus. Cette instruction peut charger un flottant codé sur 32 bits, 64 bits ou 80 bits
|-
! FSTP
| Déplace le contenu d'un registre vers la mémoire. Une autre instruction existe qui est capable de copier le contenu d'un registre vers la mémoire sans effacer le contenu du registre : c'est l'instruction FST
|-
! FXCH
| Échange le contenu du dernier registre non vide dans l'ordre de remplissage (celui situé au sommet de la pile) avec un autre registre
|}
D'autres instructions existent qui chargent certaines constantes (PI, 1, 0, certains logarithmes en base 2) dans le registre au sommet de la pile de registres.
===Les registres de contrôle et d'état===
Pour gérer la pseudo-pile, les registres pour les flottants sont associés à un registre d'état nommé '''''Tag Word'''''. Le registre ''Tag Word'' indique, pour chaque registre flottant, s'il est vide ou non. Avouez que c'est pratique pour gérer la pile de registres vue au-dessus ! Le registre ''tag word'' fait 16 bits, ce qui fait 2 bits pour chacun des 8 registres. Ces deux bits contiennent des informations sur le contenu du registre de données réservé.
* Si ces deux bits valent 00, le registre contient un flottant « normal » différent de zéro ;
* Si ces deux bits valent 01, le registre contient une valeur nulle : 0 ;
* Si ces deux bits valent 10, le registre contient un NAN, un infini, ou un dénormal ;
* Si ces deux bits valent 11, le registre est vide et ne contient pas de nombre flottant.
Le processeur x87 contient aussi deux registres d'état, nommés ''Control Word'' et ''Status Word''. Le registre ''Status Word'' contient quelques bits, certains utilisés pour gérer la pseudo-pile, d'autres non. Il fait lui aussi 16 bits et c'est un registre d'état qui est utilisé pour qu'un programme puisse comprendre la cause d'une exception. Il contient le numéro du registre juste au-dessus du sommet de la pile, le numéro du premier registre vide dans l'ordre de remplissage. Mais il contient surtout des bits mis à 1 en cas de débordement de flottant, de division par zéro, lorsqu'un calcul a pour résultat un dénormal, etc.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! TOP
| Trois bits, qui codent le numéro du premier registre vide dans la pile de registre
|-
! U
| Détecte les ''underflows'' : est mis à 1 en cas d'''underflows''.
|-
! O
| | Détecte les ''overflows'' : est mis à 1 en cas d'''overflows''.
|-
! Z
| Prévient qu'une division par zéro a eu lieu. Est mis à 1 si c'est le cas.
|-
! D
| Bit est mis à 1 lorsqu'un résultat de calcul est un dénormal ou lorsqu'une instruction doit être exécutée sur un dénormal
|-
! I
| Bit mis à 1 lors de certaines erreurs telles que l'exécution d'une instruction de racine carrée sur un négatif ou une division du type 0/0
|}
Le registre ''Control Word'' fait 16 bits et configure la gestion des arrondis.
{|class="wikitable"
|-
! Bit !! Utilité
|-
! Infinity Control
| S'il vaut zéro, les infinis sont tous traités comme s'ils valaient +∞. S'il vaut un, les infinis sont traités normalement
|-
! Rouding Control
| C'est un ensemble de deux bits qui détermine le mode d'arrondi utilisé
* 00 : vers le nombre flottant le plus proche : c'est la valeur par défaut ;
* 01 : vers - l'infini ;
* 10 : vers + l'infini ;
* 11 : vers zéro
|-
! Precision Control
|`Ensemble de deux bits qui détermine la taille de la mantisse de l'arrondi du résultat d'un calcul. En effet, on peut demander à notre FPU d'arrondir le résultat de chaque calcul qu'elle effectue. Cette instruction ne touche pas à l'exposant, mais seulement à la mantisse. La valeur par défaut de ces deux bits est 11 : notre FPU utilise donc des flottants double précision étendue. Les valeurs 00 et 10 demandent au processeur d'utiliser des flottants non pris en compte par la norme IEEE 754.
* 00 : mantisse codée sur 24 bits ;
* 01 : valeur inutilisée ;
* 10 : mantisse codée sur 53 bits ;
* 11 : mantisse codée sur 64 bits
|}
Les instructions x87 sont codées sur au minimum deux octets. Le premier octet commence toujours la suite de bit 11011, qui indique que c'est une instruction destinée au coprocesseur. Le 11011 était appelé le code d'échappement, sa mnémonique en assembleur était ESC. Le tout est suivi par 6 bits d'opcode, et 5 bits pour le mode d'adressage. Le tout était regroupé comme suit : 1101 1xxx aaxx xaaa, avec x les bits de l'opcode et a pour le mode d'adressage. Le tout était suivi par des opérandes, selon le mode d'adressage.
==Les coprocesseurs x87 et leurs précurseurs==
Les premiers coprocesseurs de ce type étaient l'Intel 8231/8232, destinés à être utilisés avec le 8088, un processeur 8 bits. Par la suite, Intel a récidivé avec le 8087, qui était destiné pour servir en tandem avec le 8086. Il a été suivi par les Intel 187, le 287, le 387, le 487 et le 587, qui étaient censés servir avec les CPU 186, 286, 386, 486, etc. Mais d'autres compagnies ont crée des coprocesseurs x87, comme Weitek, Cyrix, AMD, Texas Instrument, et bien d'autres.
===Les précurseurs : l'Intel 8231 et le 8232===
L'Am9511 et Am9512 sont une des toutes premières FPU pour PC, si ce n'est les premières si on en croit AMD. Ils ont été licenciés par Intel sous le nom d'Intel 8231 et le 8232. Ils étaient conçus pour complémenter le CPU Intel 8080, mais on pouvait parfaitement les utiliser avec d'autres CPU, comme le Z80. La [http://ep.homeserver.hu/PDF/AM9511A-9512.pdf documentation AMD donnait même des exemples assez variés]. La raison est qu'on y accédait comme n'importe quelle entrée-sortie connectée au bus système. Ils étaient accessibles via ''pooling'', interruptions ou même via DMA. Nous expliquerons comment c'est possible plus bas.
L'Intel 8231 ne supportait pas le jeu d'extension x87, qui est apparu après. Il gérait des nombres flottants de 32 bits, mais aussi des nombres en virgule fixe de 16 et 32 bits. Les flottants 32 bits suivaient globalement la norme IEEE 754, mais les nombres en virgule fixe utilisaient un format propriétaire. Il gérait les quatre opérations de base, mais aussi des calculs trigonométriques. Il utilisait pour cela du microcode, avec une approximation basée sur des polynômes de Tchebychev. L'intel 8232 supportait lui des flottants 32 et 64 bits, mais ne supportait que les quatre opérations de base (addition, soustraction, multiplication et division).
: La documentation décrit ces flottants 32 bits comme étant de la double précision, mais c'est parce que la terminologie de l'époque n'était pas encore bien stabilisée.
[[File:C8231A FPU PIN CONFIGURATION.png|thumb|Intel 8231 FPU PIN CONFIGURATION.]]
Les broches de l'intel 8231 sont illustrées ci-contre. La plupart des broches nous sont familières : 8 broches pour le bus de données (qui fait 8 bits), une entrée d'horloge, une entrée de RESET, une entrée ''chip select'' pour le décodage d'adresse. Les broches restantes sont très intéressantes, mais on les verra dans ce qui suit.
Toujours est-il que le coprocesseur est relié à un bus de 8 bits, alors que ses registres font 32 à 64 bits. Pour cela, le 8231/8232 lisait les opérandes octet par octet depuis le bus de données. Idem mais pour les écritures. Par contre, les instructions sont prévues pour faire 8 bits, pas plus. Pour avoir des instructions aussi courtes, la seule solution est d'utiliser une machine à pile et c'est ce que le 8231/8232 a fait. Précisons cependant que ce n'est pas la même pile de registre que la pile x87, mais c'était une sorte de pile similaire, qui a évolué pour donner la pile x87. Il s'agissait pour le coup d'une vraie pile, les opérations utilisaient systématiquement le sommet de la pile et l'opérande en dessous. Il n'y avait pas de possibilité d'adresser un opérande dans la pile.
Le processeur intégrait 8 registres de 16 bits, organisés comme une pile. Les registres pouvaient être utilisés : soit comme une pile de 8 opérandes 16 bits, soit une pile de 4 opérandes 32 bits, soit une pile de 2 opérandes 64 bits. Les opérandes étaient empilées octet par octet dans le processeur. Ils étaient dépilés là aussi octet par octet. Pour cela, le 8231/8232 dispose de trois entrées nommées A0, RD et WR. Les trois bits décident s'il faut faire une lecture, une écriture, exécuter une instruction, ou lire le registre d'état. Les quatre opérations sont appelées des commandes dans la documentation Intel et AMD. Les trois entrées font donc office de bus de commande simplifié.
{|class="wikitable"
|-
! A0, RD, WR !! Action
|-
| 000 || Lecture de l'octet depuis les registres de données.
|-
| 010 || Écriture de l'octet dans les registres de données.
|-
| 111 || L'octet est l'opcode d'une instruction, qui est exécutée immédiatement.
|-
| 101 || Lecture du registre d'état.
|}
Le processeur principal envoyait des commandes à l'Intel 8231/8232, qui les exécutait dans son coin. Le 8231/8232 envoyait un signal END OF EXECUTION pour prévenir qu'il avait fini son travail, que la commande précédente était terminée. Il avait une broche dédiée, appelée END, dédiée à ça. Le coprocesseur avait donc une interface de communication asynchrone, qui se voit quand on étudie ses broches. Les broches suivantes servent à la communication asynchrone avec le 8231/8232.
* READY est à 1 quand le 8231/8232 est libre, capable d'accepter une nouvelle instruction/commande. Il passe à 0 quand une instruction démarre, avec la commande 111 vue plus haut.
* END indique que la commande précédente a terminé son exécution. Lorsque END passe à 1, BUSY passe automatiquement à 0.
* EACK est une entrée sur laquelle le processeur dit qu'il a bien reçu le signal END, et que ce dernier peut être remis à 0.
Ce système pouvait être utilisé avec du ''pooling'', avec des interruptions, voire du DMA. Avec des interruptions, la sortie END était utilisée comme sortie d'interruption, reliée au CPU ou au contrôleur d'interruption. Pour le ''pooling'', le registre d'état du 8231/8232 contenait un bit BUSY, qui indiquait si le coprocesseur était utilisé ou non.
Un tel fonctionnement peut sembler étrange, et vous aurez l'impression que communiquer avec le coprocesseur est très lent. Mais cela prend tout son sens quand on connait le temps mis pour exécuter une instruction sur le coprocesseur. Une opération simple sur des flottants 32 bits prenait facilement une cinquantaine de cycles d'horloge, et c'était parmi les meilleurs temps de calcul. Il n'était pas rare d'avoir des opérations prenant plusieurs centaines, voire milliers de cycles d'horloge. Pas loin de 5000 cycles d'horloge pour une division de deux flottants 64 bits sur le 8232, plusieurs dizaines de milliers de cycles pour certaines opérations trigonométriques. Et le pire, c'était que c'était plus rapide que l'émulation logicielle !
Pas étonnant donc que le 8231/8232 aient été traités comme des entrées-sorties, à une époque ou tout était connecté sur un bus système assez rapide. Un autre avantage est que le 8231/8232 pouvaient fonctionner à une fréquence sans rapport avec celle du processeur. Par exemple, on pouvait utiliser un processeur à 1 MHz alors que le 8231/8232 allait à 4 MHz. Le coprocesseur faisait juste des calculs rapidement, comparé au CPU. Et ça a été utilisé sur certains systèmes Apple II. Ou encore, on pouvait utiliser un processeur légèrement plus rapide que le coprocesseur, avec quelques MHz de différence, comme un CPU à 5 MHz avec un coprocesseur de 2 MHz.
===L'intel 8087 et ses successeurs===
[[File:Intel 8087.svg|vignette|Intel 8087]]
Le 8087 été fabriqué avec 65 000 transistors. Le 8087 avait pour particularité qu'il était connecté directement sur le bus mémoire, au même titre que le 8086. Mais le 8087 n'avait pas de bus d'adresse et de données séparé. Le processeur utilisait un bus multiplexé. Il avait 20 broches pour se connecter au bus : 16 d'entre elles servaient alternativement de bus d'adresse et de données. L'interface avec le bus était donc un peu compliquée.
L'intel 387 était le coprocesseur associé au 386 d'Intel. Il était le premier coprocesseur à s'intégrer sur un bus de 32 bits. Il a été décliné en plusieurs versions, dont certaines sont spécifiques à un modèle de 386. Par exemple, le i386SX était une version simplifiée du 386 initial, qui avait notamment un bus de seulement 16 bits. Et de ce fait, il avait son propre coprocesseur i387SX, qui était adapté à un bus de 16 bits. De même, le i386SL était adapté aux ordinateurs portables et avait son propre coprocesseur i387SL.
Tout ce qui va suivre est valide pour tous les coprocesseurs x87 de marque Intel.
Le processeur central lisait des instructions, en envoyant le ''program counter'' sur le bus d'adresse, les instructions étaient récupérées sur le bus de données. Là, les deux processeurs déterminaient si l'instruction chargée était destinée au coprocesseur ou au CPU. Pour cela, les instructions x87 commencent toutes par la suite de bit 11011, qui permet de savoir facilement si une instruction est destinée au coprocesseur. Le 11011 était suivi par un opcode et un mode d'adressage.
Si le mode d'adressage demandait de lire un opérande mémoire, le 8086 envoyait l'adresse de l'opérande sur le bus, et le coprocesseur récupérait celle-ci sur le bus de données. Si l'opérande devait être lu en plusieurs fois, le coprocesseur lisait le reste de lui-même, en prenant le contrôle du bus d'adresse. Il récupérait l'adresse envoyée initialement par le CPU, puis l'incrémentait et relançait un nouvel accès mémoire. Il l'incrémentait autant de fois que nécessaire pour charger l'opérande.
Un problème est que le CPU ne sait pas combien de temps dure une instruction x87. Et cette durée dépendait de l'implémentation du processeur, elle n'était pas la même selon la marque du coprocesseur. Un 186 n'avait pas les mêmes timings que le 286, par exemple. Pour le CPU, une instruction x87 met juste deux cycles pour s'exécuter (plus si des opérandes doivent être lus en mémoire). Pour cela, le CPU disposait d'un mécanisme de synchronisation.
Le mécanisme de synchronisation était une instruction WAIT, qui forçait le CPU à attendre que le coprocesseur ait terminé l'instruction précédente. L'implémentation matérielle était assez simple. Le coprocesseur disposait d'une sortie BUSY, qui indiquait qu'il était en train d'exécuter une instruction et ne pouvait pas en accepter une nouvelle. Le CPU, quant à lui, avait une entrée TEST qui vérifiait si le, coprocesseur était occupé ou non. La sortie BUSY était reliée à l'entrée TEST. L'instruction test vérifiait juste ce qu'il y avait sur l'entrée TEST. Tant qu'elle était à 1, le processeur attendait et ne chargeait pas de nouvelle instruction. Dès qu'elle passe à 0, l'exécution reprend.
Il faut noter que l'instruction WAIT n'est nécessaire qu'entre deux instructions flottantes assez proches. Mais il est possible d'intercaler des instructions entières entre deux instructions flottantes. Le programme pouvait ainsi mixer instructions entières et flottantes, les instructions entières étant exécutées sur le 8086, les instructions flottantes sur le coprocesseur. Il y avait donc une possibilité de parallélisme, à savoir que les deux processeurs pouvaient exécuter des instructions différentes en même temps. Mais cela demandait que les calculs soient coopératifs et mélangent bien entiers et flottants.
Le 8087 et ses successeurs avaient une microarchitecture assez simple. L'unité de contrôle contenait un décodeur d'instruction microcodé, le registre de contrôle, le registre d'état. La plupart des instructions sont microcodées, l'unité de calcul est assez limitée. Elle permet d'additionner deux mantisses flottantes, de faire des décalages, d'additionner deux exposants, mais pas plus. Les multiplications et divisions sont donc microcodées et émulées en enchainant des additions flottantes. Les instructions trigonométriques sont implémentées en utilisant l'algorithme CORDIC, qu'on a vu dans le chapitre sur les circuits de calcul flottant.
[[File:Intel 8087 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 8087.]]
Le chemin de données est composé d'un banc de registre flottant pour la pseudo-pile, et de plusieurs circuits de calcul. Le banc de registre était mono-port, ce qui fait que les ALUs étaient précédés par deux registres temporaires pour les opérandes. Les circuits pour l'exposant et la mantisse sont séparés, et sont même reliés au banc de registre par deux bus séparés. Il y a un additionneur pour les exposants, un additionneur pour les mantisses et un décaleur pour les mantisses (pour les normaliser).
De plus, on trouve une mémoire ROM dédiée aux constantes les plus utilisées. Elle sert pour les constantes de base, gérées par le jeu d'extension x87. Mais elle contient aussi des constantes utilisées pour l'algorithme CORDIC. Elle n'est pas illustrée sur le schéma ci-dessous, mais elle existe.
L'interface avec le bus est un simple registre d’interfaçage avec le bus. Pour rappel, le bus de données fait 16 bits sur le 8087, 32 bits sur le 387. Entre le bus et le chemin de données, on trouve une file servant à simplifier la gestion des lectures. L'idée est que les opérandes lus/écrits font 32, 64 ou 80 bits, alors que le bus de données n'en fait que 16/32. Les opérandes sont donc lus/écrits en plusieurs passes. Sur le 8087, il doit réaliser deux passes pour des opérandes de 32 bits, quatre passes pour celles de 64 bits, 5 pour des opérandes de 80 bits (80 = 5 × 16). Le 387 doit faire deux fois moins.
[[File:Intel 387 arch.svg|centre|vignette|upright=2.5|Microarchitecture de l'Intel 387. Les circuits pour les exposants sont à gauche dans le chemin de données, les circuits pour les mantisses sont à droite.]]
L'implémentation du banc de registre est assez simple : une RAM avec un registre qui indique la position du sommet de la pile dedans. Le registre fait 3 bits, pour 8 registres. En plus de cela, il y a un petit soustracteur et un multiplexeur, pour adresser les opérandes dans la pile. Pour rappel, il est possible d'adresser la seconde opérande dans la pile. Mais on précise pas le numéro du registre dans la pile pour cela, on précise sa position sous le sommet de la pile, à savoir si elle est deux, trois, quatre opérandes sous le sommet de la pile. Pour déterminer quel registre lire, il faut soustraire ce "décalage" au numéro de registre du sommet de la pile. Pour cela, il y a un petit soustracteur pour faire le calcul.
Le circuit décaleur est composé de deux sous-décaleurs. Le premier fait des décalages au niveau des octets, le second décale l'opérande de 0 à 7 rangs.
Pour finir, voici quelques liens sur la microarchitecture du 8087 :
* [https://www.righto.com/2026/02/8087-instruction-decoding.html Instruction decoding in the Intel 8087 floating-point chip].
* [https://www.righto.com/2020/05/die-analysis-of-8087-math-coprocessors.html Die analysis of the 8087 math coprocessor's fast bit shifter].
* [https://www.righto.com/2025/12/8087-stack-circuitry.html The stack circuitry of the Intel 8087 floating point chip, reverse-engineered].
* [https://www.righto.com/2025/12/8087-microcode-conditions.html Conditions in the Intel 8087 floating-point chip's microcode].
* [https://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html Extracting ROM constants from the 8087 math coprocessor's die].
* [https://www.righto.com/2018/09/two-bits-per-transistor-high-density.html Two bits per transistor: high-density ROM in Intel's 8087 floating point chip].
<noinclude>
{{NavChapitre | book=Fonctionnement d'un ordinateur
| prev=Les sections critiques et le modèle mémoire
| prevText=Les sections critiques et le modèle mémoire
| next=L'accélération matérielle de la virtualisation
| nextText=L'accélération matérielle de la virtualisation
}}
</noinclude>
ofoc4hgw7q89635cy6gugxf1n55kjh6
Guide des mots rares à adopter/emphygomphe
0
83779
762933
2026-04-04T18:08:02Z
ROSEMARSH HOOD
122846
Création de emphygomphe
762933
wikitext
text/x-wiki
== emphygomphe ==
''Nom féminin''
'''Définition :'''
'''Proclamation lyrique excessivement emphatique''', marquée par une exagération du ton et une importance démesurée accordée à des propos souvent creux. Par extension, ''emphygomphe'' désigne '''tout discours pompeux où l’effet oratoire l’emporte sur le contenu réel'''<ref>https://limiel.omeka.net/items/show/188</ref>.
''Exemple'' : Son discours d’intronisation ne fut qu’une emphygomphe tonitruante, où l’orgueil faisait plus de bruit que les idées.
=== '''Champ sémantique et usage''' ===
Le terme ''emphygomphe'' s’inscrit dans le champ du langage oratoire et de la critique stylistique. Il est particulièrement adapté pour qualifier des discours officiels, politiques ou cérémoniels qui abusent de grandiloquence et de formules spectaculaires, là où le français courant recourt à des expressions comme discours pompeux ou tirade emphatique.
Un discours peut être qualifié d’emphygomphe lorsqu’il '''privilégie l’apparat verbal, l’enflure rhétorique et l’autoglorification au détriment de la clarté,''' de la sincérité ou de la profondeur des idées.
=== '''Intérêt linguistique''' ===
''Emphygomphe'' enrichit la langue française en offrant un terme précis et expressif pour désigner une forme particulière d’excès oratoire. Sa sonorité dense et légèrement burlesque évoque elle-même l’enflure qu’elle décrit, ce qui en fait '''un mot particulièrement efficace dans les contextes critiques ou satiriques.'''
Dans une perspective littéraire ou stylistique, ce terme permet de nommer avec concision un défaut fréquent du discours, tout en apportant une nuance ironique héritée de la tradition rabelaisienne.
=== '''Étymologie''' ===
Formé par télescopage lexical après francisation, à partir du latin ''gomphus'' et du grec ''γόμφος'', combinés à l’affixe latin ''emphy-'', pour produire un terme à forte expressivité phonétique et stylistique.
=== '''Source''' ===
[https://limiel.omeka.net/items/show/188 Lexique informatisé des mots insolites à étymologie latine (LiMiEL), le 9 février 2026]
<small>(Lexème conçu pour la collection lexicale thématique « [https://limiel.omeka.net/collections/show/6 Dix néologismes conçus en hommage à François Rabelais] »)</small>
[[Catégorie:Français]]
[[Catégorie:Linguistique]]
ma9nibegtf9psw8cbp971izc06kxinj
Guide des mots rares à adopter/brèviloquent, brèviloquente
0
83780
762934
2026-04-04T18:15:05Z
ROSEMARSH HOOD
122846
Page créée avec « == brèviloquent, brèviloquente == ''Adjectif'' '''Définition :''' Se dit de ce qui se caractérise par une expression sobre, concise et mesurée, '''privilégiant la brièveté dans la parole ou l’écriture'''. Par extension, ''brèviloquent'' qualifie un style, un discours ou une personne '''qui s’exprime avec économie de mots tout en conservant clarté et précision'''<ref>https://limiel.omeka.net/items/show/202</ref>. ''Exemple'' : Son discours brè... »
762934
wikitext
text/x-wiki
== brèviloquent, brèviloquente ==
''Adjectif''
'''Définition :'''
Se dit de ce qui se caractérise par une expression sobre, concise et mesurée, '''privilégiant la brièveté dans la parole ou l’écriture'''. Par extension, ''brèviloquent'' qualifie un style, un discours ou une personne '''qui s’exprime avec économie de mots tout en conservant clarté et précision'''<ref>https://limiel.omeka.net/items/show/202</ref>.
''Exemple'' : Son discours brèviloquent captivait l’auditoire par son économie de mots et sa précision incisive.
=== '''Champ sémantique et usage''' ===
Le terme ''brèviloquent'' s’inscrit dans le champ de l’expression verbale et du style rédactionnel. Il est particulièrement '''utile pour décrire des formes de communication efficaces, épurées et rigoureuses,''' là où le français courant recourt à des expressions comme concis, bref ou peu loquace.
Un discours ou un style est dit brèviloquent lorsqu’il parvient à transmettre l’essentiel avec justesse, sans digression inutile ni surcharge verbale.
=== '''Intérêt linguistique''' ===
''Brèviloquent'' enrichit la langue française en proposant un adjectif précis pour désigner la concision maîtrisée dans l’expression. Issu du latin ''breviloquens'' (« qui parle brièvement »), il '''permet de distinguer la simple brièveté d’une véritable qualité stylistique fondée sur la densité et la pertinence du propos'''.
Dans les domaines littéraire, académique ou professionnel, ce terme valorise une forme d’élégance discrète fondée sur la retenue et l’efficacité du langage.
=== '''Étymologie''' ===
Du latin ''breviloquens'' (« qui parle en peu de mots »), francisé pour former un adjectif descriptif et stylistique.
=== '''Source''' ===
[https://limiel.omeka.net/items/show/202 Lexique informatisé des mots insolites à étymologie latine (LiMiEL), le 19 février 2026]
[[Catégorie:Linguistique]]
[[Catégorie:Français]]
kbkzapepd721sz7nbh896f04tkhscd0
Guide des mots rares à adopter/clausible
0
83781
762936
2026-04-04T18:25:04Z
ROSEMARSH HOOD
122846
Page créée avec « == clausible == ''Adjectif'' <small>(voir aussi ''[[Guide des mots rares à adopter/clausibilité|clausibilité]]'')</small> '''Définition :''' '''Se dit de ce qui peut se refermer ou se sceller sur soi-même sans perte d’intégrité''', en conservant parfaitement son contenu ou sa structure. Par extension, ''clausible'' qualifie tout objet, système ou ensemble conçu pour être hermétiquement refermé de manière fiable. ''Exemple'' : Ce contenant clausi... »
762936
wikitext
text/x-wiki
== clausible ==
''Adjectif'' <small>(voir aussi ''[[Guide des mots rares à adopter/clausibilité|clausibilité]]'')</small>
'''Définition :'''
'''Se dit de ce qui peut se refermer ou se sceller sur soi-même sans perte d’intégrité''', en conservant parfaitement son contenu ou sa structure. Par extension, ''clausible'' qualifie tout objet, système ou ensemble conçu pour être hermétiquement refermé de manière fiable.
''Exemple'' : Ce contenant clausible se révèle particulièrement efficace pour préserver son contenu.
=== '''Champ sémantique et usage''' ===
Le terme ''clausible'' s’inscrit dans le champ des propriétés physiques et fonctionnelles des objets. Il est particulièrement '''utile pour décrire des contenants, dispositifs ou structures capables de se fermer de manière étanche et sécurisée''', là où le français courant recourt à des expressions comme refermable, hermétique ou à fermeture fiable.
Un objet est dit clausible lorsqu’il peut être fermé sans altération de son contenu, ni perte de substance, garantissant ainsi sa conservation ou son isolement.
=== '''Intérêt linguistique''' ===
''Clausible'' enrichit la langue française en proposant un adjectif précis pour désigner une propriété fonctionnelle spécifique, distincte de la simple possibilité de fermeture. Il introduit une nuance d’intégrité et de fiabilité dans l’acte de se refermer.
Dans les domaines technique, scientifique ou descriptif, '''ce terme permet d’exprimer avec concision une qualité''' souvent décrite par des périphrases plus longues, tout en conservant une élégance formelle.
=== '''Étymologie''' ===
Du latin ''clausibilis'' (« qui peut être fermé »), francisé pour former un adjectif descriptif et fonctionnel.
=== '''Source''' ===
[https://limiel.omeka.net/items/show/290 Lexique informatisé des mots insolites à étymologie latine (LiMiEL), le 28 mars 2026]
p3ij5w17y847n9ug1i3z74f7rj0tl8f
762938
762936
2026-04-04T18:26:17Z
ROSEMARSH HOOD
122846
ajout catégories
762938
wikitext
text/x-wiki
== clausible ==
''Adjectif'' <small>(voir aussi ''[[Guide des mots rares à adopter/clausibilité|clausibilité]]'')</small>
'''Définition :'''
'''Se dit de ce qui peut se refermer ou se sceller sur soi-même sans perte d’intégrité''', en conservant parfaitement son contenu ou sa structure. Par extension, ''clausible'' qualifie tout objet, système ou ensemble conçu pour être hermétiquement refermé de manière fiable<ref>https://limiel.omeka.net/items/show/290</ref>.
''Exemple'' : Ce contenant clausible se révèle particulièrement efficace pour préserver son contenu.
=== '''Champ sémantique et usage''' ===
Le terme ''clausible'' s’inscrit dans le champ des propriétés physiques et fonctionnelles des objets. Il est particulièrement '''utile pour décrire des contenants, dispositifs ou structures capables de se fermer de manière étanche et sécurisée''', là où le français courant recourt à des expressions comme refermable, hermétique ou à fermeture fiable.
Un objet est dit clausible lorsqu’il peut être fermé sans altération de son contenu, ni perte de substance, garantissant ainsi sa conservation ou son isolement.
=== '''Intérêt linguistique''' ===
''Clausible'' enrichit la langue française en proposant un adjectif précis pour désigner une propriété fonctionnelle spécifique, distincte de la simple possibilité de fermeture. Il introduit une nuance d’intégrité et de fiabilité dans l’acte de se refermer.
Dans les domaines technique, scientifique ou descriptif, '''ce terme permet d’exprimer avec concision une qualité''' souvent décrite par des périphrases plus longues, tout en conservant une élégance formelle.
=== '''Étymologie''' ===
Du latin ''clausibilis'' (« qui peut être fermé »), francisé pour former un adjectif descriptif et fonctionnel.
=== '''Source''' ===
[https://limiel.omeka.net/items/show/290 Lexique informatisé des mots insolites à étymologie latine (LiMiEL), le 28 mars 2026]
[[Catégorie:Linguistique]]
[[Catégorie:Français]]
ozyk69sg1jrul4feknlbl6yxs204ij7
Guide des mots rares à adopter/clausibilité
0
83782
762939
2026-04-04T18:30:35Z
ROSEMARSH HOOD
122846
Page créée avec « == clausibilité == ''Nom féminin'' <small>(voir aussi ''[[Guide des mots rares à adopter/clausible|clausible]]'')</small> '''Définition :''' Capacité d’un objet, d’un système ou d’un ensemble '''à se refermer sur lui-même ou à se sceller sans perte d’intégrité'''. Par extension, ''clausibilité'' désigne la qualité intrinsèque de ce qui peut être fermé de manière fiable tout en préservant son contenu<ref>https://limiel.omeka.net/items/... »
762939
wikitext
text/x-wiki
== clausibilité ==
''Nom féminin'' <small>(voir aussi ''[[Guide des mots rares à adopter/clausible|clausible]]'')</small>
'''Définition :'''
Capacité d’un objet, d’un système ou d’un ensemble '''à se refermer sur lui-même ou à se sceller sans perte d’intégrité'''. Par extension, ''clausibilité'' désigne la qualité intrinsèque de ce qui peut être fermé de manière fiable tout en préservant son contenu<ref>https://limiel.omeka.net/items/show/296</ref>.
''Exemple'' : La clausibilité du contenu lexicographique m’apparaît époustouflante.
=== '''Champ sémantique et usage''' ===
Le terme ''clausibilité'' s’inscrit dans le champ des propriétés structurelles et fonctionnelles. Il est particulièrement '''adapté pour désigner, de manière abstraite, l’aptitude d’un dispositif ou d’un ensemble à être refermé efficacement''', là où le français courant recourt à des expressions comme capacité de fermeture ou aptitude à être hermétique.
Une structure possède une clausibilité lorsqu’elle garantit une fermeture complète, sans altération ni fuite de ce qu’elle contient.
=== '''Intérêt linguistique''' ===
''Clausibilité'' enrichit le lexique en introduisant un nom abstrait dérivé directement de ''clausible'', permettant de conceptualiser une propriété technique ou théorique avec précision. Il offre ainsi un pendant nominal utile dans les discours scientifiques, techniques ou analytiques.
Ce terme '''permet de condenser en un seul mot une notion complexe''', évitant des formulations longues et favorisant une expression plus rigoureuse et structurée.
=== '''Étymologie''' ===
Du latin ''clausibilis'' (« qui peut être fermé »), à l’origine de l’adjectif ''[[Guide des mots rares à adopter/clausible|clausible]]'', dont dérive le nom ''clausibilité''.
=== '''Source''' ===
[https://limiel.omeka.net/items/show/296 Lexique informatisé des mots insolites à étymologie latine (LiMiEL), le 29 mars 2026]
[[Catégorie:Linguistique]]
[[Catégorie:Français]]
inqj5v3ni8gr0ync37s5aqt5zvzao07