|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ce qui permet à l'Amiga de se surpasser, c'est sans conteste son système de circuits spécialisés, plus connus sous le nom "chipset" ou, en français, "jeu de composants". Certains de ces circuits et coprocesseurs ont pour rôle de relayer le processeur pour certaines tâches (son, graphisme, DMA...), ce qui a l'avantage de ne pas le surcharger dans bon nombre d'opérations. D'autres comme les ROM Kickstart et le système de mémoire offrent une souplesse d'utilisation et des possibilités d'extensions très intéressantes. Nous allons, dans cet article, décrire ces différents circuits spécialisés qui ont fait le succès de l'Amiga. Nous avons aussi ajouté les puces spécialisées qui n'ont pas été commercialisées (Andrea, Grace, Toni...), les puces présentes dans les Amiga mais pas conçues par les ingénieurs d'Amiga ou de Commodore, les différentes ROM Kickstart ainsi que les types de mémoire.
Les ROM Kickstart [retour au plan] La ROM Kickstart est certainement la puce la plus importante de l'Amiga. Elle fait partie intégrante du système d'exploitation, il s'agit même du coeur de celui-ci. Elle permet notamment l'amorçage du système et contient les paramétrages par défaut et des fichiers résidents (comme le noyau Exec, le Shell ou la police Topaz). Les ROM Kickstart de l'Amiga correspondent (en beaucoup plus complet) au BIOS des PC. La ROM Kickstart se matérialise par une ou deux puces selon les modèles, avec une taille totale allant de 64 ko (pour le premier prototype) à 1 Mo (pour le Walker). Les modèles d'Amiga commercialisés n'ont cependant que deux tailles de ROM : 256 ko ou 512 ko. Et parmi ceux-ci, deux modèles font exception : l'A1000 et l'A3000. La ROM Kickstart de l'A1000 n'est pas en ROM mais sur une disquette. Quant au Kickstart de l'A3000, il est chargé depuis le disque dur, mais il possède un support de ROM (accès 32 bits) en deux parties. Les ROM Kickstart ne sont pas soudées à la carte mère pour permettre une mise à jour aisée de la machine. ![]() La ROM Kickstart 1.3 d'un Amiga 500 ![]() Les ROM Kickstart 3.0 d'un Amiga 1200 Le contenu des ROM varie d'une version à l'autre. Les plus grosses ROM sont en règle générale les plus récentes, elles renferment tout au plus 40 fichiers. Par exemple, pour la ROM Kickstart 3.1 (40.68) d'un A1200, on trouve : audio.device_37.10 (4420 octets), battclock.resource_39.3 (2496 octets), battmem.resource_39.2 (564 octets), bootmenu_40.5(A1200) (5932 octets), card.resource_40.4 (3160 octets), carddisk.resource_40.1 (2472 octets), cia.resource_39.1 (1088 octets), con-handler_40.2 (10348 octets), console.device_40.2 (15688 octets), disk.resource_37.2 (932 octets), dos.library_40.3 (40272 octets), exec_40.10(A1200) (14560 octets), expansion_40.2(A1200) (2876 octets), filesystem.resource_40.1 (488 octets), filesystem_40.1 (24552 octets), gadtools.library_40.4 (23656 octets), graphics.lib_40.24(AGA) (106652 octets), icon.library_40.1 (9588 octets), input_40.1 (6140 octets), intuition.library_40.85 (114536 octets), keymap.library_40.4 (3512 octets), layers.library_40.1 (12832 octets), mathffp.library_40.1 (1268 octets), mathieeesingbas.lib_40.4(020) (3844 octets), misc.resource_37.1 (252 octets), potgo.resource_37.4 (400 octets), ram-handler_39.4 (9412 octets), ramdrive_39.35 (1620 octets), ramlib_40.2 (1132 octets), romboot_40.1 (3956 octets), scsi.device_40.12(A1200) (10724 octets), shell_40.2 (18016 octets), timer.device_39.4 (3776 octets), trackdisk.device_40.1 (7568 octets), utility.library_40.1(020) (2572 octets), wbtask_39.1 (268 octets) et workbench.library_40.5 (71408 octets). Les versions de ROM Kickstart
La mémoire [retour au plan] L'Amiga, contrairement aux autres plates-formes, possède trois types de mémoire différents, et optionnellement quatre : la mémoire Chip, la mémoire Fast, la mémoire Slow et la mémoire des cartes graphiques. ![]() Les quatre puces de la mémoire Chip d'un A1200 (révision 1D3) La mémoire Chip est aussi utilisée pour le stockage des données sonores et les accès DMA. Elle est utilisée de façon transparente par le processeur si celui-ci n'a pas ou plus à sa disposition de mémoire Fast. Cette mémoire figure sur la carte mère et est présente d'origine sur tous les Amiga : 256 ko (A1000), 512 ko (A2000A, A500), 1 Mo sur (A2000B, A500+, CDTV, A600, A3000) et 2 Mo (A4000, A1200, CD32). 2 Mo est la limite de la mémoire Chip que tous les modèles peuvent atteindre sauf l'A1000 (512 ko). L'Amiga 4000 dispose, lui, d'un cavalier sur sa carte mère pour passer à 8 Mo mais cela n'a jamais été opérationnel. La mémoire Fast est également une mémoire vive. Si de la mémoire Fast est présente sur un Amiga, le 68k et Agnus/Alice peuvent accéder en même temps à ces deux zones mémoires : mémoire Fast pour le 68k et Chip pour Agnus/Alice. Les deux mémoires sont physiquement indépendantes par une barrière trois états. Lorsque le 68k doit accéder à la Chip, il en fait la demande, la barrière est levée et à nouveau les deux doivent se partager les accès. La mémoire Fast n'est pas plus rapide que la mémoire Chip mais elle permet un accès au 68k sans attente. Cela se traduit, dans les faits, par une accélération assez importante quand on fait tourner un programme avec un accès à la mémoire Fast. En outre, elle possède une priorité supérieure à la mémoire Chip : cela signifie que lorsque le système fait une demande d'allocation mémoire, on lui donnera en priorité de la mémoire Fast sauf s'il demande explicitement de la mémoire Chip. Il existe enfin la mémoire Slow : ce n'est pas de la Chip car non accessible via Agnus/Alice, et ce n'est pas de la Fast car elle n'est pas séparée de la Chip par la barrière trois états. C'est une pseudo-mémoire Fast qui partage le même bus que celui de la Chip. La mémoire Slow peut être adressée en tant que mémoire Chip avec la puce Agnus 1 Mo ou plus (mais pas 512 ko). La mémoire Slow peut être utilisée pour les besoins du système d'exploitation, ceci permettant aux puces spécialisées d'utiliser la totalité de la mémoire Chip. Le nom de "mémoire Slow" vient du fait que les conflits de bus avec les puces spécialisées peuvent toujours se produire même si seul le processeur peut accéder à la mémoire. Comme la mémoire Slow est arbitrée par la même interface qui contrôle la mémoire Chip, les puces spécialisées peuvent bloquer l'accès du processeur à la mémoire Slow dans les modes vidéo haute résolution. Cette mémoire est présente par exemple dans l'extension A501 qui ajoute 512 ko à l'Amiga 500 (qui n'est donc pas de la Fast contrairement à ce que l'on pourrait croire). La mémoire Chip à une priorité de -10, la mémoire Slow de 0 et la mémoire Fast de +10. Et si l'on a de la mémoire 32 bits, elle aura une priorité de +20. Agnus : Adress GeNerator Unit [retour au plan] Agnus est l'une des premières puces Amiga a avoir été créées, avec Daphne/Denise et Portia/Paula. Son rôle est de générer les adresses mémoire, générer les adresses registre et de contrôler la mémoire dite "Chip", celle qui peut être accédée par le processeur et les puces spécialisées. Agnus gère les fréquences d'horloge (à partir de l'oscillateur central à 28,63636 MHz en NTSC et 28,37516 MHz en PAL), contrôle le rafraîchissement de la DRAM et la synchronisation vidéo. Sa fréquence est de 3,579545 MHz en NTSC et 3,546895 MHz en PAL. Elle gère aussi 25 canaux DMA (Direct Memory Access), ce qui permet au graphisme, à l'audio et aux entrées/sorties d'être utilisés avec un minimum d'intervention de la part du processeur. Enfin, c'est dans Agnus que figurent deux coprocesseurs aidant la gestion graphique : le Copper et le Blitter. Elle existe en plusieurs dénominations (Agnus, Fat Agnus, Fat Lady, Fatter Agnus, Super Fat Agnus, Obese Agnus) qui se différencient notamment par la taille de la puce (DIP 48 broches, PLCC 84 broches) ou la quantité de mémoire à laquelle ils ont accès. Elle compte quelque 21 000 transistors dans sa version 8361. Elle est parfois surnommée Agnes. Son successeur est Alice dans les machines AGA. Les premières versions furent notamment conçues par Joseph Decuir et David Needle. Brochages : Agnus 8361, Agnus 8361, Agnus 8370, Agnus 8372, Agnus 8372B. Schémas : Agnus 8375 (ensemble, Blitter, Registres Light Pen, RAM Adress Generator, Plans de bits DMA, Sprites Vertical Comparator, Copper). ![]() Agnus 8361R5 issu d'un A1000
Alice [retour au plan] Alice est le successeur d'Agnus, et fait partie du jeu de composants AGA. Il est responsable des 25 canaux DMA, il génère les adresses pour la vidéo et pour la mémoire Chip. Il dispose d'un bus de données d'interfaçage avec la mémoire Chip en 16 bits, mais il est capable d'y accéder directement en 32 bits et peut aussi profiter de doubles cycles CAS en mode "Fast Page" permettant des échanges plus importants avec la mémoire, et ainsi avoir des performances accrues. Alice compte 80 000 transistors. Comme dans Agnus, on trouve dans Alice deux coprocesseurs aidant la gestion graphique : le Copper et le Blitter. Il a été conçu par Victor Andrade. Brochages : Alice 8374, Alice 8374.
Copper [retour au plan] C'est un coprocesseur (d'où son nom) intégré à Agnus/Alice qui possède trois instructions : WAIT, MOVE et SKIP. Le Copper gère la quasi-intégralité du système graphique. Il reçoit ses informations de la mémoire Chip via des accès DMA. Il intervient directement sur les registres de contrôle des autres composants. Il peut mettre à jour plusieurs éléments comme les registres, les données concernant le placement des sprites, la palette de couleurs, les canaux sonores et le Blitter. Il peut aussi transférer les données sonores vers le convertisseur analogique de sortie. Il exécute une liste d'instructions appelée "copperlist" (liste Copper). Le Copper attend que le faisceau atteigne une position prédéfinie pour envoyer les données dans un registre du système. Ainsi, le bus mémoire est libre pour les autres canaux DMA ou le processeur. Cette attente engendre des transferts de données qui utilisent des cycles de mémoire au Blitter et au processeur. Ainsi, pour que le Copper puisse accéder au bus, il doit attendre les cycles de mémoire pairs. Il est ainsi en synchronisation avec la plupart des accès DMA, l'audio, les lecteurs de disquette, le rafraîchissement de l'écran et les sprites qui, eux, utilisent des cycles impairs. Le Copper permet, par exemple, la création d'effets spéciaux graphiques avec une charge processeur minimale, comme des écrans mobiles ou des écrans en défilement bitmap géants. Schéma : partie Copper d'Agnus 8375. Blitter [retour au plan] Tout comme le Copper, le Blitter est un coprocesseur 16 bits intégré d'Agnus/Alice. Sa principale fonction est de déplacer des zones de mémoire rectangulaires de manière efficace (deux fois plus rapidement qu'un 68000 à 7,16 MHz) et de tracer des lignes (un million de pixels par seconde). C'est un ensemble de quatre canaux DMA (trois canaux sources et un canal cible) qui fournit des données graphiques au processeur et les écrit ensuite en mémoire Chip. L'utilisation des canaux DMA permet au Blitter de travailler en asynchrone avec le processeur, donc celui-ci est libre pour exécuter d'autres tâches. Le Blitter autorise le contrôle de l'incrustation vidéo sur n'importe quelle couleur et peut exécuter des manipulations logiques spécifiques sur les données en cours. Le Blitter permet d'effectuer des opérations comme : la copie de bloc (animation, défilement vertical), le décalage de bloc (défilement horizontal), des opérations logiques (filtres graphiques), le masquage (calques, traitement des collisions), le tracé de lignes droites (dessin vectoriel 2D, 3D) et le remplissage de bloc (dessin vectoriel 2D, 3D). Le Blitter, dans sa version ECS (8372R3 et supérieur), peut déplacer des régions de 32 768x32 768 pixels au lieu de 1024x1024 pixel pour l'OCS. Enfin, il dispose de multiples registres de pointeurs et de modulos (utile pour zoomer), d'adressage mémoire ascendant ou descendant (pour les défilements), de la détection du zéro (détection de collision) et d'adressage mémoire linéaire ou rectangulaire. Schéma : partie Blitter d'Agnus 8375. Denise : Display Encoder chip [retour au plan] Cette puce est responsable de la plupart des tâches liées au graphisme comme la génération des couleurs (32 couleurs par écran sur une palette de 4096) et l'affichage des différentes résolutions. De plus, Denise possède 8 contrôleurs de sprites matériels (dont le pointeur de la souris). Elle autorise le contrôle de l'incrustation vidéo sur n'importe quelle couleur. Elle gère, dans ses versions égales ou supérieures à 8263R6, le mode EHB (Extra Half-Brite) qui permet de monter à 64 couleurs par écran, mais les 32 dernières couleurs se doivent d'avoir 50% de la luminosité des 32 premières. Les données graphiques de la mémoire Chip sont transférées par Agnus vers les registres bitmap de Denise. La taille des registres de Denise est de 16 bits, chaque registre contiendra donc 16 points. Denise transforme ces données pour la visualisation RGB : un séquenceur va tout d'abord transformer les 16 points contenus dans le registre en signaux électriques séries. A chacun des 16 bitmaps correspond une transformation. Les données séries électriques en provenance du séquenceur bitmap formeront donc un signal d'une longueur de 6 bits. Ensuite, le contrôle logique va sélectionner les données valides du point parmi celles du séquenceur bitmap et celle du séquenceur sprite. A partir de ces données, le décodeur couleur va choisir un des 32 registres couleur. La valeur de ce registre sera traduite sous la forme d'un signal numérique RGB. Si l'un des modes HAM (Hold And Modify) ou EHB (Extra Half Bright) est sélectionné, les données des registres couleur seront modifiées avant que le signal ne quitte le circuit. Les données du séquenceur passent aussi par le contrôle logique des collisions qui indiquera si un sprite occupe la même position sur l'écran qu'une image. Les Denise 8373R2A et supérieures offrent de nouvelles possibilités de genlock. Denise 8373R2A permet de contrôler l'incrustation vidéo avec n'importe quelle couleur et plus seulement la couleur 0 (chromaKey). L'incrustation vidéo peut également être commandée par un plan de bits directement (BitPlaneKey). En groupant correctement les couleurs par plan de bits, cela revient à sélectionner l'incrustation à partir d'un ensemble de couleurs. Des bords peuvent être rajoutés ou non autour de la zone "active" (BorderBlank et BorderNot Transparent). Elle fut appelée "Daphne" au début de son développement puis renommée en "Denise" aux alentours de sa version 8362R5 ou R6. Il existe une Super Denise (Fat Denise) qui permet d'atteindre la Super Haute Résolution (1280x512 en 2 couleurs) ou encore le mode Productivity (640x480 en 2 couleurs). Denise se trouve sur les machines OCS/ECS alors que les machines AGA disposent de son équivalent, Lisa. Elle a été conçue par Akio Tanaka, David Dean et Jay Miner. Brochages : Denise 8362, Denise 8362. Schémas : Denise 8373 (ensemble, Sprite Select Serializer, Détection des collisions, Bitplane Data Registers, Display Priority).
Lisa [retour au plan] Lisa, qui fait partie du jeu de composants AGA, est le remplaçant de Denise. Il a été conçu par Bob Raible. Implémenté en technologie CMOS, Lisa peut gérer des modes vidéo de 2 à 256 couleurs, ou en 262 144 couleurs (HAM-8), le tout parmi une palette 24 bits (16 777 216 couleurs). Le mode EHB (Extra Half-Bright) est également géré par Lisa, pour des raisons de compatibilité, et permet de produire des écrans 6 bits (64 couleurs) comme avec Denise. Ce circuit est cadencé à 14 MHz. De plus, sa capacité d'effectuer des doubles cycles d'accès mémoire en 32 bits lui permet d'augmenter son débit d'échange à 64 bits par cycle, soit un rapport de 4 par rapport à Denise. Il possède également huit contrôleurs de sprites matériels. Brochages : Lisa 4203, Lisa 4203.
Paula : Ports Audio Uart and Logic [retour au plan] Paula est le composant audio principal de l'Amiga, il permet de jouer du son stéréo par DMA matériel sur quatre canaux. Deux canaux sont mélangés sur la sortie audio gauche et les deux autres sur la sortie audio droite, produisant ainsi un son stéréo. L'échantillonnage se fait en 8 bits PCM jusqu'à un taux de 28867 Hz (en NTSC) ou de 28837 Hz (en PAL). Sa fréquence est de 3546895 Hz en PAL et 3579545 Hz en NTSC. Il est cependant possible d'émuler du son 14 bits avec le DMA, en modulant deux canaux et le réglage du volume sur 6 bits. Un filtre audio analogique (style filtre de Butterworth) est disponible sur les Amiga, qui permet de filtrer/adoucir les sons des quatre canaux de Paula. Ce filtre est externe à Paula et sa désactivation se matérialise par un changement de luminosité de la diode d'alimentation (moins de luminosité, voire diode complètement éteinte pour les premiers A500). Paula est aussi le contrôleur des lecteurs de disquette, de la souris, du clavier, des ports externes et des interruptions pour diverses tâches système. Cette puce portait le nom de Portia sur le Lorraine, le prototype du premier Amiga, ainsi que sur l'Amiga Development System. On doit sa conception notamment à Glenn Keller et Jay Miner. Brochages : Paula 8364 (PD), Paula 8364 (PD). Schémas : Paula 8364 (ensemble, UART Port Controller, Disk Port Controller, Audio Port Controller, Pot Port Controller) ![]() Paula 8364R7PL
Gary : Gate Array [retour au plan] Gary est responsable du fonctionnement des décodages des adresses du bus. Il contrôle les signaux pour tous les circuits de l'Amiga. Tous les modèles ne disposent pas de Gary (il n'est par exemple pas présent sur les A1000 et A2000A). Une version améliorée, appelée "Fat Gary", est présente sur les A3000 et A4000. Le prototype A3000+ dispose, lui, de Gary+. Le Gary de l'A3000 fut notamment conçu par Greg Berlin, alors que le Gary des A500/A2000 est l'oeuvre de George Robbins. Ses principales caractéristiques sont :
Schéma : Gary
Gayle [retour au plan] La puce Gayle est la remplaçante de Gary sur les A600, A1200 et le Walker. Elle propose les mêmes fonctions que Gary et en ajoute des supplémentaires. Elle contrôle le bus IDE, génère le signal d'horloge temps réel ECLK, contrôle le tampon de données, contrôle la réinitialisation et intervient dans la gestion du lecteur de disquette. Gayle gère et synchronise aussi la ROM, la flashROM optionnelle, la mémoire Chip (et ses registres), les CIA, le connecteur PCMCIA, le composant Arcnet COM200020 et le connecteur de la carte mère. Gayle a été conçu notamment par George Robbins. Brochages : Gayle 5191, Gayle 5191.
Ramsey [retour au plan] Les principales fonctions de Ramsey sont de gérer la mémoire Fast (gestion du mode "static column" pour améliorer le temps d'accès à la mémoire) et de générer les adresses pendant les transferts DMA. Il gère également une partie du SCSI des A3000 et A4000 en combinaison avec le DMAC. L'utilisation de Ramsey révision D ou 4 entraîne l'utilisation de Super-DMAC révision 1 ou 2. L'utilisation de Ramsey révision 7 ou G entraîne l'utilisation de Super-DMAC révision 4. Ramsey est uniquement présent dans les A3000(T)/A4000(T) et sur les cartes A590/A2091. Le premier Ramsey a été conçu par Hedley Davis et le second par Greg Berlin.
DMAC/Super-DMAC [retour au plan] Le DMAC s'occupe de la gestion de l'accès DMA du contrôleur SCSI des A3000 et des A4000T. Il travaille en combinaison avec Ramsey. Il est aussi présent sur CDTV où il contrôle le lecteur de CD et tous les matériels que vous pouvez insérer dans le port d'extension DMA (qui n'est pas un port SCSI puisqu'il n'y a pas de contrôleur SCSI sur CDTV). Le prototype A3000+ a un DMAC amélioré qui possède un tampon FIFO plus important et permet de gérer la mémoire 32 bits aussi rapidement que le processeur (68030). L'utilisation de Ramsey révision D ou 4 entraîne l'utilisation de Super-DMAC révision 1 ou 2. L'utilisation de Ramsey révision 7 ou G entraîne l'utilisation de Super-DMAC révision 4.
Amber [retour au plan] Amber est responsable du désentrelacement/doublage de fréquence de l'affichage natif de l'Amiga (15,5 kHz) en 31 kHz, grâce à la synchronisation et au contrôle des signaux nécessaires aux mémoires vidéo et à l'affichage. Cela permet un affichage des modes vidéo de l'Amiga sur écrans VGA/SVGA. Cette puce est présente dans les A3000, A3000T, A3500 et aussi dans les désentrelaceurs A2320 de Commodore. Amber a été conçue par Scott Hood.
Bridgette [retour au plan] Il s'agit d'une mémoire cache pour le bus Zorro III. Il comprend les fonctions de six puces 74F646 et de quatre 74F245 (qui sont des émetteurs récepteurs octal d'autobus avec des sorties de trois états). Ce composant n'est présent que dans les A4000(T).
Budgie [retour au plan] Cette puce est un contrôleur de DRAM et de bus que l'on trouve uniquement sur A1200 et le prototype Walker. Il gère le port d'extension interne et offre une interface entre le bus processeur 32 bits et le bus 32 bits de la mémoire Chip. Il génère les signaux de sélection RAS et CAS à partir des signaux de synchronisation RAS et CAS gérés par Alice. Il offre aussi une mémoire de bus 16 bits qui peut être utilisée soit pour un bus d'extension soit pour le tampon de données du port PCMCIA. Il a aussi pour fonction de modifier la fréquence de l'oscillateur de 28 à 14 MHz, et de générer une horloge multiplexée pour un genlock. Brochage : Budgie.
Buster [retour au plan] Buster est le contrôleur de bus. Il est chargé d'interfacer le bus Zorro II (A2000B) ou Zorro II/III (A3000(T), A4000(T)) avec le processeur et de gérer les entrées/sorties. Il s'occupe aussi de l'arbitrage du bus. Sur A2000B, il serait également responsable de la gestion des ports ISA mais je n'ai pas trouvé de confirmation à cette information. Les versions pour A3000(T) et A4000(T) sont appelées Super Buster/Fat Buster. Le développement de cette puce, mené par Dave Haynie, n'a jamais été vraiment terminé, il existe ainsi plusieurs révisions avec des niveaux de compatibilité différents : Le niveau I (jusqu'à la révision 07, uniquement présent dans les A3000) ne gère pas le DMA des Zorro III et les "quick interrupts". Il n'essaie pas de traduire les cycles d'accès en rafale du bus local en cycles d'accès en rafale Zorro III. La révision 06 présente un bogue qui cause des erreurs à 16 MHz, mais elle fonctionne bien à 25 MHz. Le niveau II (révisions 09 et K/11) gère l'arbitrage du bus Zorro III, le DMA, les "quick interrupts" et la traduction des cycles d'accès en rafale du bus local en cycles à "transfert multiple" Zorro III. Elle est donc plus rapide que le Buster en niveau I. La révision 09 a des problèmes concernant l'arbitrage du bus Zorro (blocage du système dans certaines conditions) et avec la synchronisation de fin de cycle. Il y a aussi un problème avec la faiblesse de Bridgette qui ne peut garantir le temps de propagation requis par le Buster révision 09. La révision K ou 11 permet de résoudre nombre de ses problèmes. De nombreuses cartes Zorro III nécessitent la mise à jour vers la révision K/11 pour fonctionner correctement. Brochages : Buster 5721, Super Buster 45. Schéma : Super Buster.
CIA A et B : Complex Interface Adapter [retour au plan] L'Amiga a deux CIA connus sous le nom de CIA A et CIA B (ou CIA Even et CIA Odd), mais ce sont les mêmes composants, un 8520. Ils fonctionnent à 1 ou 2 MHz. Son ancienne version se nomme 6526, utilisée notamment dans des Amiga 1000 de préproduction et les C64 et C128. Ils sont principalement présents pour gérer les entrées/sorties, l'horloge permanente, les moteurs des disques, la diode, le filtre audio et quelques interruptions système. Enfin, d'autres fonctions sont partagées entre eux :
Akiko [retour au plan] Akiko, uniquement présent dans la CD32 et les prototypes A5000/A6000, gère une partie de la logique du lecteur de CD, le port série "AUX" et la conversion des pixels chunky en pixels planar (alias "bitplan") grâce à l'utilisation d'un jeu complexe de registres. Ainsi cette opération peut-être réalisée aussi vite que l'unité centrale peut lire et écrire les données. L'affichage natif de l'Amiga se fait en plan de bits, il est performant pour le traitement comme les défilements de l'écran, alors que l'affichage chunky est plus doué pour les routines 3D. Akiko est composé d'une partie de l'électronique d'un 8520. Il fut nommé "Arizona" durant sa phase de développement et conçu notamment par Hedley Davis, Chris Colley, Beth Richard et Scott Schaeffer. ![]() Akiko
Keyboard MPU et 6570 [retour au plan] La gestion du clavier des Amiga est léguée à des puces nommées Keyboard MPU, 6570 (processeur 6500) et 4510, qui sont des microcontrôleurs 8 bits. Le 6570/6500 est utilisé pour les claviers des Amiga dont la carte mère n'est pas CMS, comme les A1000, A2000 et A500. Il dispose d'une ROM de 2 ko et d'une mémoire tampon de 64 octets. Le Keyboard MPU gère, lui, les claviers des Amiga dont la carte mère est CMS. Ce circuit est le 68HC05C4A (ou 68HC05C12 pour le Walker) de chez Motorola. Le 4510 n'est utilisé que dans le prototype CDTV-CR.
Beauty [retour au plan] Il s'agit d'une puce que l'on retrouve dans le CDTV-CR. Beauty est le contrôleur pour les éléments de la façade avant (affichage LCD, port infrarouge...). Hedley Davis et Scott Schaeffer travaillèrent sur ce circuit. ![]()
Grace [retour au plan] Grace est un contrôleur d'adresses mémoire, gérant notamment le lecteur CD, la flashROM et le PCMCIA. Il a été conçu pour le CDTV-II (alias CDTV-CR ou CDTV-500) mais son développement n'a pas dépassé le stade du prototype. Beth Richard et Hedley Davis travaillèrent sur ce circuit. ![]()
Andrea [retour au plan] Andrea est le contrôleur de la mémoire Chip, remplaçant de Agnus/Alice. La puce contient 126 broches de signal et est emballée dans un QFP à 144 broches. Elle fait partie du jeu de composants AAA qui n'a jamais été terminé et commercialisé. Ses caractéristiques :
Le Copper intégré à Andrea a été amélioré dans plusieurs domaines. Il peut opérer en 32 bits pour les nouveaux registres 32 bits. Il ajoute la fonction de déplacement multiple ("multiple move") pour pouvoir bouger plus efficacement des registres consécutifs. Il a enfin la capacité d'interruption : le Copper peut recevoir un ordre d'interruption du Blitter, permettant de gérer une série d'opérations sans l'intervention du processeur. Brochages : Andrea 1200 (1), Andrea 1200 (2), Andrea 1200 (3). ![]() ![]() Andrea
Monica [retour au plan] Monica est le générateur d'adresses, il assure la plupart des fonctions de Denise. Il fait lui aussi partie du jeu de composants AAA. Cette puce possède 131 broches de signal et les broches de polarisation et d'alimentation du DAC. Elle est logée dans un QFP à 144 broches. Ses caractéristiques :
![]() ![]() Monica
Mary [retour au plan] Mary est le contrôleur audio et de diverses entrées/sorties, il réalise la plupart des fonctions de Paula dans l'AAA. La puce contient 82 broches de signal et est emballée dans un QFP à 144 broches. Ses caractéristiques :
![]() Mary
Linda [retour au plan] Linda fait office de puce pour le double tampon mémoire ("double buffering" en anglais), dans l'AAA. Plus exactement, le tampon de ligne de données. La puce contient 114 broches de signal et est emballée dans un QFP à 144 broches. Ses caractéristiques :
![]() Linda
Toni [retour au plan] Ce composant spécialisé se trouve dans le Walker, machine qui n'a pas été commercialisée. Il joue le rôle de contrôleur du bus système : gestion de l'interface mémoire DRAM, du port série FIFO et d'autres entrées/sorties. Sa fréquence initiale est de 33 MHz mais des problèmes de stabilité se posent à cette vitesse, c'est pourquoi une cadence de 25 MHz aurait été prévue par la suite. C'est une puce programmable (FPGA) de chez Xilinx, la XC4013. ![]() Toni
SuperIO [retour au plan] SuperIO est également un composant du Walker. Il gère par exemple l'E-IDE, l'EPP (Enhanced Parallel Port), le port série, le MIDI et le lecteur de disquette PC haute densité. ![]() SuperIO
Kelly [retour au plan] Kelly est un RAMDAC (Random Access Memory Digital-to-Analog Converter), autrement dit un convertisseur numérique-analogique. C'est un composant électronique chargé de convertir l'image numérique stockée dans la mémoire vidéo en signal analogique destiné au moniteur. Cette puce a été en développement à l'époque de l'AA3000 et de l'A3000+ (autour de 1991). Commodore souhaitait produire sa propre puce RAMDAC au lieu d'en acheter une déjà faite. Mais Commodore s'est heurté à un problème légal concernant la construction de RAMDAC et a donc abandonné ce projet.
Ariel [retour au plan] Ariel (Agnus/Paula Element) est le successeur d'Agnus/Alice et Paula présent dans le projet de jeu de composants AA+. Ariel est une puce CMOS personnalisée qui présente 160 broches, 100 000 transistors et qui est cadencée à 57 MHz. Ariel peut être vu comme une fusion Agnus/Alice avec Paula. Elle est responsable de la génération, de la synchronisation et du contrôle des adresses pour la vidéo et pour la mémoire Chip. Elle gère aussi l'interfaçage pour les périphériques et propose des fonctions audio. Mais comme tous les composants de l'AA+ de Commodore, son développement n'a pas dépassé le stand du projet. Belle [retour au plan] Belle est le successeur de Denise/Lisa présent dans le projet de jeu de composants AA+. Belle est une puce CMOS personnalisée qui présente 84 broches, 100 000 transistors et qui est cadencée à 57 MHz. Belle est responsable des fonctions d'affichage vidéo et présente un DAC 8 bits à triple tampon mémoire. Pour les applications nécessitant le bus vidéo numérique RVB 24 bits complet, le convertisseur numérique-analogique (DAC) aurait pu facilement être supprimé de la base de données et le bus vidéo numérique pu être mis sur pastilles (ce qui aurait nécessité un boîtier à 144 broches). Mais comme tous les composants de l'AA+ de Commodore, son développement n'a pas dépassé le stand du projet. Debi [retour au plan] Debi est le successeur du CIA 8520 (ou du Video DAC ?) présent dans le projet de jeu de composants AA+. Debi est une puce CMOS de type réseau de portes (gate array) qui présente 160 broches. Il aurait s'agit d'une conception à nombre de portes relativement faible avec des exigences de vitesse modérées. L'interface du processeur et la logique de contrôle du système n'auraient pas été radicalement différentes de celles implémentées dans la puce Gayle de l'A600, mais les conceptions du VIA 8520 auraient dû être portées et réimplémentées dans la technologie des réseaux de portes. Mais comme tous les composants de l'AA+ de Commodore, son développement n'a pas dépassé le stand du projet. Nathaniel [retour au plan] Nathaniel est l'une des deux puces composant Hombre. Elle est l'oeuvre d'Edward Hepler et disponible uniquement sous forme de schéma. Elle devait inclure le processeur (PA-7150 à 125 MHz), un moteur de rendu 3D (d'où le nom "RISC 3D" donné parfois par la presse), un Blitter, un processeur audio, une interface pour CD (simple et double vitesse), une interface pour les périphériques (PBI - Peripheral Bus Interface), une interface pour le bus et des contrôleurs pour l'affichage et la mémoire. ![]() ![]() Nathaniel Nathalie est l'une des deux puces composant Hombre. Elle est l'oeuvre d'Edward Hepler et disponible uniquement sous forme de schéma. Elle aurait fait office de contrôleur vidéo : tampons mémoire pour les champs de jeu, mémoire du curseur, contrôle de l'écran, logique de la sortie vidéo, table de consultation de couleurs (CLUT), logique pour la souris et la manette, logique pour le genlock et l'échantillonnage. ![]() ![]() Nathalie L'OCS est l'ensemble des composants formés par Agnus, Denise et Paula. Bien que ce trio de puces ait été déjà présent depuis le Lorraine, la dénomination "OCS" ne fut pas mentionnée avant 1989/1990, quand l'ECS arriva et qu'il fallut les différencier. Ni l'équipe Amiga d'origine ni Commodore n'officialisa ce nom. Avant 1989, on parlait juste de "puces spécialisées" ou "Amiga chipset". L'OCS est fourni avec les A1000, A2000, A500 et CDTV. Les A2000 et A500 les plus récents ont été produits avec l'ECS ou bien un mélange entre OCS et ECS (Fat Agnus avec Denise 8362). Les résolutions de l'OCS reprennent les caractéristiques d'Agnus et Denise, soient :
ECS : Enhanced Chip Set [retour au plan] L'ECS est l'ensemble des composants formés par Agnus, Denise et Paula. Il est apparu sous forme incomplète en 1989 et complète en 1990 avec l'arrivée de l'A3000. Les autres puces comme Gary, Ramsey, Amber et Buster ne font pas, à proprement parlé, partie de l'ECS. Il fut baptisé ainsi ("enhanced" signifie "amélioré" en anglais) car il améliore l'OCS, sans toutefois en être très différent. Il est présent dans les derniers A2000 et A500 ainsi que dans les A500+, A600, A3000 et A3000T. Les résolutions de l'ECS reprennent les caractéristiques des versions les plus récentes d'Agnus et Denise, soient :
AGA : Advanced Graphics Architecture [retour au plan] L'AGA est l'ensemble des composants formés par Alice, Lisa et Paula. On peut également ajouter Akiko pour la CD32, par contre, les autres puces comme Gayle, Ramsey et Buster ne font pas partie, à proprement parlé, de l'AGA. Il est apparu officiellement en 1992 avec l'arrivée de l'Amiga 4000 bien que le prototype A3000+ en fut doté dès 1991. Son nom d'origine, durant sa phase de développement, fut Pandora. Il a été commercialisé sous le nom AA (Advanced Amiga) mais ce sigle fut rapidement renommé AGA pour éviter une confusion avec l'Association Automobile sur le marché européen. Il est présent sur les A4000, A4000T, A1200, CD32, Access ainsi que sur les prototypes A3000+, AA3000, Walker, A5000/A6000, BoXeR et InsideOut. Les résolutions de l'AGA reprennent les caractéristiques d'Alice et de Lisa, soient :
Ranger [retour au plan] "Ranger" ou "Amiga Ranger" est le nom de code d'un projet de nouveau matériel initié par l'équipe d'Amiga originelle de Los Gatos, en 1986, pour une sortie possible vers 1988/1989. Ranger devait être la seconde génération d'Amiga ou, du moins, la seconde génération du jeu de composants, mais Commodore refusa cette idée pour des raisons de coût. Les caractéristiques de ce jeu de composants mentionnaient notamment la capacité d'avoir 2 Mo de mémoire Chip (sur des puces VRAM, plus rapides), une palette de 4096 couleurs, une résolution jusqu'à 1024x1024 en 128 couleurs (7 bits), un Blitter par plan et toutes les capacités de Paula (audio 8/14 bits sur quatre canaux, lecteur de disquette 880 ko, etc.). Plus d'informations sur obligement.free.fr/articles/ranger.php. AAA : Advanced Amiga Architecture [retour au plan] L'AAA (prononcé "triple a") est un jeu de composants qui fut en développement dans les laboratoires de Commodore mais qui n'a jamais été terminé. L'AAA est basé sur quatre circuits intégrés VLSI (Very Large Scale Integration - intégration à très grande échelle) qui est une technologie de circuit intégré dont la densité d'intégration permet de gérer plus de 100 000 composants électroniques sur une même puce. Ces quatre puces sont Andrea, Linda, Monica et Mary, nommées avec des prénoms féminins comme avec les précédents jeux de composants. Chaque aspect de l'ECS et de l'AGA a été amélioré avec l'AAA. Mieux, l'AAA peut être dédoublé, permettant ainsi de fonctionner en 64 bits ou de doubler la quantité de mémoire Chip adressable. Dans un système double, il y a toujours une Andrea et une Mary mais deux Linda et deux Monica. Contrairement aux autres jeux de composants qui étaient inclus à la fois dans les machines d'entrée et haut de gamme, l'AAA est donc entièrement modulaire, ce qui aurait permis de l'adapter suivant les machines voulues : console, ordinateur d'entrée de gamme, ordinateur haut de gamme, etc. Il fut notamment conçu par Dave Haynie, Edward Hepler et Tim McDonald. Caractéristiques générales :
AA+ [retour au plan] L'AA+ est un jeu de composants annoncé par Commodore fin 1992, mais qui n'est jamais sorti. Il était prévu pour équiper les Amiga d'entrée de gamme de 1994. C'était une sorte de remise à niveau de l'AGA avec l'ajout des fonctions manquantes de ce dernier (vraie gestion des lecteurs de disquette haute densité, écrans 800x600 en 72 bits, mode de pixel en chunky, etc.). Le travail sur ce jeu de composants n'a pas dépassé le stade du papier (voir photo 1, photo 2). Conçu notamment par Dave Haynie. Plus d'informations sont disponibles sur obligement.free.fr/articles/aa+.php. Voici les spécifications annoncées de l'AA+ :
Hombre [retour au plan] Hombre ("homme" en espagnol) fut un projet de circuit "tout-en-un" initié par Commodore et Hewlett-Packart. Ce fut aussi le dernier projet de Commodore en matière de jeu de composants. Il devait remplacer l'AAA. La personne derrière Hombre est l'ingénieur Edward Hepler. Comme le projet fut loin d'être achevé, ses caractéristiques furent sujettes à modification. Hombre aurait dû être un système complet basé sur deux puces CMOS de 0,6 micron. L'une pour le processeur avec un coeur RISC, un moteur de rendu 3D, un Blitter, un processeur audio, une interface CD, une interface pour périphériques, une interface pour le bus et des contrôleurs pour l'affichage et la mémoire. L'autre puce aurait fait office de contrôleur vidéo. La collaboration avec Hewlett-Packard vint notamment du fait que Hombre devait intégré son nouveau processeur, le PA-7150. Ainsi architecturé, Hombre nécessitait très peu de composants extérieurs (une ROM, de la mémoire vive...) et pouvait ainsi être utilisé pour des machines peu chères comme une console de jeu ou un décodeur numérique. Mais Hombre était également complètement incompatible avec ses prédécesseurs. Plus d'informations sur obligement.free.fr/articles/hombre.php. Voici ses principales caractéristiques :
AA+ (Access) [retour au plan] Le nom "AA+" fut repris en 1998 par Mick Tinker, de la société Access Innovation, pour un nouveau jeu de composants. L'AA+ d'Access n'a jamais été terminé. Il devait être la prochaine génération d'AGA, plus performance. Sa particularité est qu'il devait regrouper en une seule puce les composants Alice, Lisa et Paula. Seuls les deux CIA auraient été gardés tel quel. Le circuit est basé sur un tout nouveau coeur en 32 bits, il possède un émulateur matériel pour l'AGA en 16 bits. Le coeur 32 bits, qui utilise des techniques modernes d'accès à la mémoire, peut multiplier par 20 les capacités de la bande passante de l'AGA d'origine. L'effet de l'amélioration des accès mémoire et de l'ajout de mémoire tampon fait que les accès DMA pour l'affichage vidéo consomment bien moins de bande passante et est moins lent. Cela permet à une UMA (Unified Memory Architecture) d'être utilisée sans solliciter le processeur. Lors d'un accès au Blitter original, les registres 16 bits sont traduits en opérations 32 bits, en utilisant un accès mémoire en rafale qui est jusqu'à 20 fois plus rapide que le Blitter d'origine. Access Innovation prévoyait les caractéristiques suivantes :
Bt101KPJ et Bt121KPJ80 [retour au plan] Il s'agit de convertisseurs audio numérique/analogique localisables sur la plupart des clones Amiga jamais commercialisés comme la carte Walker (Bt101KPJ), l'Access, l'InsideOut, le BoXeR et l'A5000/A6000 (Bt121KPJ80). ![]() La puce Bt101KPJ
6525A [retour au plan] Le 6525A est une puce qui gère le lecteur de CD sur le CDTV/A570. C'est un composant TRI (Tri-Port Interface). Le 6525 fonctionne à 1 MHz, le 6525A à 2 MHz et le 6525B à 3 MHz, mais seul le 6525A est utilisé sur Amiga. ![]() La puce 6525A
LC6554 [retour au plan] Le LC6554 est un composant qui gère le panneau LCD avant du CDTV. C'est un microcontrôleur 4 bits fabriqué par Sanyo. ![]() La puce LC6525H
LC7883 [retour au plan] Les LC7883 sont des puces conçues par Sanyo qui sont utilisées en tant que filtre et convertisseur audio numérique/analogique 18 bits. Elles sont présentes sur la CD32 (LC78835M) et le CDTV (LC7883M). ![]() La puce LC78835M
Video DAC [retour au plan] Le Video DAC (Digital-to-Analog Conversion) est présent dans les A4000, A4000T, A1200, CD32 et cartes FMV. Il a pour tâche de transformer des signaux numériques de l'Amiga en signaux analogiques pour le moniteur (triple 8 bits). Il fonctionne à 30 MHz. Quatre Video DAC existent sur Amiga (en différentes variantes) : les ADV7120KP30 et ADV101KP30 d'Analog Devices, le VP101-3BA de GEC Plessey Semiconductors et le STV8438CV de STMicroelectronics.
Quelques liens Voici d'autres sites et pages parlant des puces Amiga. Il y a beaucoup d'information mais, hélas, aussi beaucoup d'erreurs :
|