|
|||||||||||||||||||||||||||||||||||||||||||
|
Parmi la pléthore de cartes accélératrices disponibles pour nos bons vieux Amiga 2000, les cartes GVP se sont toujours taillé la part du lion, de par leurs performances : mémoire 32 bits DMA (ou Direct Memory Access, nom mythique pour désigner des échanges de données à très haut débit dont le principe laisse énormément de temps libre au microprocesseur pour faire autre chose) haute vitesse, contrôleur de disque dur IDE ou SCSI (toujours DMA), port parallèle supplémentaire, etc. Nombre de ces fonctions font cruellement défaut à pas mal de cartes concurrentes, pour qui notamment le fameux DMA reste un mythe dont souffre le microprocesseur (68020/030/040) qui doit littéralement passer son temps à gérer tout ça lui-même, au grand dam du multitâche. A toute médaille son revers : si les G-Force '030 étudiées ici (appelées également "Combo" car regroupant processeur, FPU, mémoire 32 bits et contrôleur disque dur SCSI sur une même carte) sont parmi les plus performantes, elles nécessitent un type de mémoire spécial qui revient vite aussi cher que la carte elle-même. Note de Michel : il existe à l'heure actuelle une multitude de cartes pour Amiga 1200 qui ont des performances supérieures (Mtec, DKB, Blizzard, Apollo...) utilisant la mémoire traditionnelle 32 bits. Par exemple, la dernière Blizzard a des accès mémoires de 15 Mo/s et en disque dur de 3 Mo (c'est la première carte pour A1200 en vrai SCSI-2 que j'ai testée). Et pour ce premier article consacré à ces cartes GVP Combo, je vais m'appliquer à vous (dé)montrer ci-après qu'il est possible, à peu de frais, de leur faire aimer de la mémoire plus "classique" pour compatible PC, donc forcément nettement moins chère. Les mémoires dites "32 bits" des cartes Chaque carte accélératrice possède sa propre mémoire, extensible (jusqu'à une certaine limite) ou non, à laquelle elle a un accès préférentiel, beaucoup plus rapide que n'importe quelle autre mémoire Amiga Chip ou Fast. Cette mémoire très rapide est appelée mémoire 32 bits car les processeurs des cartes accélératrices, 68020/030/040 confondus, ont tous un bus de données ("data bus") de 32 bits. Par exemple, si ces processeurs veulent accéder à de la mémoire Amiga "normale" Chip ou Fast qui elle ne "pèse" que 16 bits (car prévue à l'origine pour un 68000), il leur faudra deux cycles d'accès mémoire pour lire 2x16=32 bits, au lieu d'un seul cycle sur la mémoire dite 32 bits, d'où un gain de vitesse appréciable. Un autre facteur de ralentissement lors de l'accès à de la mémoire Chip ou Fast 16 bits est que cet accès doit se faire à travers le bus Zorro II, alors que l'accès à la propre mémoire 32 bits de la carte accélératrice est direct sans intermédiaire. Comme Ralph Babel l'explique dans le manuel de la Guru ROM (dont je décrirai le mariage avec ma Combo dans un prochain article), certaines cartes, dont la GVP Combo elle-même, configurent tout ou partie de leur mémoire 32 bits dans la plage d'adressage Zorro II (16 Mo) correspondant au 68000 de base, rendant ainsi cette mémoire accessible par DMA aux processeurs Amiga (Agnus, etc.) et aux autres cartes Zorro II. Les transferts DMA haute vitesse sont correctement gérés grâce à l'électronique de la carte, qui régit les accès 16 et 32 bits de manière transparente pour le processeur (32 bits) et pour les accès "extérieurs" par le bus Zorro II (16 bits). Mais, je l'avoue, ça commence à faire très compliqué à résumer en deux mots. En conclusion, on peut considérer la mémoire 32 bits comme une sorte de mémoire Fast comparée à la mémoire Chip : en effet, la "Fast", comme son nom l'indique, a un accès préférentiel au processeur 68000 notablement plus rapide que la "Chip", qui elle est partagée entre le 68000 et le reste des coprocesseurs (Agnus, Denise...) d'où source de ralentissements possibles. Tous les possesseurs de cartes d'extension mémoire Fast vous le diront. On voit donc l'intérêt de posséder un maximum de mémoire 32 bits sur la carte accélératrice elle-même. Un test facile de rapidité est l'utilitaire GVPMemTest livré avec les cartes GVP : la mémoire 32 bits est lue et écrite à vitesse lumière comparée au reste de la mémoire Fast ou Chip, ça saute aux yeux. Donc, qui dit accès plus rapide dit vitesse d'exécution des programmes plus rapide ! Vous pouvez aussi essayer de dévalider la mémoire 32 bits de la carte (il y a des cavaliers pour ça, sinon il faut enlever les circuits de mémoire...) et comparer la rapidité d'exécution : c'est le lièvre contre la tortue. Bien sûr, cette mémoire 32 bits n'a pas une capacité infinie : les Combo 325 en ont 1 Mo d'origine, et les Combo 340/350 4 Mo. Lorsque la totalité est utilisée par les programmes, la carte va se rabattre sur la mémoire Fast (ou Chip) qu'elle trouvera ensuite. Et là, bonjour la perte de vitesse. À propos : octets contre 32 bits Ne pas se laisser embrouiller par les expressions du genre "1 Mo de RAM 32 bits". On parle de mégaoctets, donc 8 bits, et en même temps de 32 bits ? La raison en est historique : les premiers microprocesseurs ("CPU") travaillaient sur des données de 8 bits, donc on parlait de mémoire en octets (bloc de 8 bits, ou "byte"). Aujourd'hui, les microprocesseurs les plus répandus travaillent sur 32 bits ou plus, mais l'expression de la capacité mémoire en octets est restée. On parle ainsi de mot ("word") pour désigner la taille de données avec laquelle chaque processeur travaille : en général de 8 à 64 bits. Chaque mot pèse donc, vu du processeur, un ou plusieurs octets : par exemple, un processeur 68030 travaille sur des mots de 32 bits donc 4 octets à la fois. Une Combo avec 1 Mo de RAM 32 bits veut donc dire : 1 Mo de RAM (donc 1 mégaoctet, donc 1 méga x 8 bits) répartie sur 32 bits, donc 1 méga x 8/32= 256 kilo-mots de 32 bits. "4 Mo de RAM 32 bits" signifiera de la même manière "1 méga-mots de 32 bits". Et caetera. Sachez enfin que, sous le Workbench, l'Amiga affiche la mémoire totale restant disponible en octets, qu'elle soit 32 bits, Chip ou Fast. D'autres logiciels, tel SysInfo, font la différence et vous diront si telle mémoire est de la Chip, de la Fast ou de la 32 bits. La mémoire 32 bits spéciale GVP Combo Pour profiter à fond d'une carte accélératrice, il ne resterait donc plus qu'à augmenter sa mémoire 32 bits. Certaines cartes assez anciennes, telle la Commodore A2058 en Zorro II, utilisent des puces "discrètes" ; on en rajoute par blocs de 8 (x4) ou 32 (x1) pour toujours obtenir ces fameux 32 bits de données, faute de quoi ça ne marchera pas. D'autres cartes utilisent des SIMM (= Single In-Line Memory Module, les anglophobes apprécieront) 30 broches : les anciennes SIMM "courtes" de 8 bits, par blocs de 4 (8x4=32 bits encore et toujours) ; ou bien 72 broches, telles les nouvelles SIMM "longues" de 32 bits (36 bits avec la parité) que l'on trouve dans tout PC récent. D'autres encore utilisent des mémoires spécialement conçues pour la carte accélératrice, telles les SIMM Chipack 3240 de 4 Mo pour les cartes GVP (pas seulement Combo). Et là commence la technique dite du "remplissage de poches made in GVP". Ces fameux Chipack 3240 ont en effet une particularité majeure dont on se serait bien passé : leur prix. Elles sont spéciales à plus d'un titre
A vos fers à souder Possesseur peu fortuné d'une Combo 325 d'occasion, donc avec seulement 1 Mo de RAM 32 bits d'origine, je n'avais pas les moyens d'acheter de telles Chipack 3240 à prix d'or. Or 1 Mo de RAM, ca file vite, et une fois le Kickstart relogé dans cette mémoire 32 bits, une fois le Workbench chargé, pfuiit ! Plus de RAM 32 bits disponible. Le reste des programmes se charge donc péniblement dans mes 6 Mo de mémoire Fast (16 bits je rappelle), où ils tournent à des vitesses à peine plus rapides qu'avec mon 68000 d'origine. J'en pleure encore. Puis par hasard, je suis tombé sur une occasion d'enfer : deux SIMM 4 Mo 60 ns (tiens tiens) pour... je ne vous dirai pas ! (vous en seriez verts) que j'ai utilisées au profit de ma GVP Combo. Attention ! La manipulation s'est avérée longue mais tout à fait réalisable, mais n'est pas à la portée d'un débutant en soudures : il faut savoir manier le fer à souder avec précision ! D'autant plus que la barrette SIMM elle-même devra être quelque peu "malmenée". Mais le résultat, financièrement parlant, en vaut la chandelle. A vous donc de décider s'il faut prendre le risque ou pas. Vous êtes responsables de vos actes ! Comme matériel, il vous faudra
Veillez à prendre une SIMM 32 bits donc sans parité, car la parité est inutile dans notre cas ; une SIMM 36 bits (utilisée essentiellement par des PC plus anciens, tels les IBM PS/1) est aussi plus chère et plus rare. Préférez également une SIMM 32 bits mais sur laquelle il y a les emplacements prévus vides pour souder les puces de parité : les pistes ainsi libres seront réutilisées à bon escient ci-après. Demandez à un ami spécialiste de vous montrer : on "voit" qu'il reste de la place sur la barrette. C'est courant et plus simple pour les fabricants pour faire des SIMM 36 bits sans changer de circuit imprimé. Ainsi armé, on peut passer aux choses sérieuses. Je serai amené à expliquer toute la manipulation dans des détails qui pourront paraître fastidieux mais indispensables, en cas de "fausse manoeuvre" de votre part pour remonter à la source du problème. Principe des SIMM "normales" Toute mémoire RAM dynamique, qui compose l'ordinaire de la mémoire des micro-ordinateurs, possède quatre broches de commande : /RAS (Row Address Strobe) /CAS (Column Address Strobe) /WE (Write Enable) /OE (Output Enable) On applique à la puce mémoire ces quatre signaux selon des chronogrammes bien précis (dont je vous fais grâce), et le bus de données présenté à la puce voit soit sa donnée écrite dedans, soit reçoit la donnée lue dans la puce. Les adresses elles sont multiplexées, c'est-à-dire appliquées en deux fois : lignes -Row- et colonnes -Column- comme une matrice de 10 bits de côté A0..9. Sur une SIMM 4 Mo de 32 bits, on a donc 32 bits de données réparties en 4 blocs de 8 bits (4x8=32) donc 4 blocs de 1 Mo. Chaque bloc de 1 Mo est composé lui-même de 2 puces mémoire de 1 Mbit x4. Cela nous fait donc 2 puces x 4 bits chacune x 4 blocs pour un total de 32 bits, nous y voilà ! Appelons le 1er bloc de données 8 bits (bits D0..7) "0", le 2e (bits D8..15) "1", le 3e (bits D16-23) "2" et le 4e (bits D24-31) "3". Il y a deux signaux /RAS0 /RAS2 (un pour deux blocs, donc par groupe de quatre puces) et quatre signaux /CAS0 /CAS1 /CAS2 /CAS3 (un par bloc, donc pour deux puces). Les signaux d'adresse A0..9, ainsi que /WE, /OE et les alimentations (VSS et VCC) sont communs à toutes les puces. Le signal /OE est relié d'origine à la masse (validé en permanence) et donc n'apparaît pas sur le connecteur. Les 32 bits de données D0..31 sont acheminés par 8 (bloc de 1 Mo) de chaque puce vers le connecteur. Principe des SIMM Chipack 3240 GVP Comme aucun schéma n'était livré avec la carte Combo, je me suis armé de patience et j'ai reconstitué les connexions vers les plans mémoires, à l'aide d'un testeur de continuité. On retrouve ainsi les blocs "0" à "3" (chacun composé de deux puces 1 Mbit x4) mais on dirait que GVP a fait exprès de mettre une pagaille monstre sur ses propres SIMM. Jugez plutôt :
Note : il y a un bruit qui court comme quoi ces Chipack 3240 auraient un équivalent moins cher du côté d'Apple : les SIMM pour Mac II FX. Après renseignement, j'ai constaté que ces SIMM Apple avaient effectivement le même connecteur 64 broches, mais elles ne font que 1 Mo chacune au lieu de 4 Mo 32 bits pour les GVP. Par conséquent, elles sont inutilisables sur la Combo. Dommage vu leur prix (moins de 1000 FF les 4 Mo). Le connecteur mémoire 64 broches GVP Au vu de l'embrouillamini précédent, je redoutais le pire... Heureusement, nombre de signaux sont interconnectés en simplifiant le tout :
Elle ressemble donc au schéma suivant. On se rapproche donc grandement d'une SIMM "normale" et l'adaptation peut être envisagée. Par contre, il y a toujours les quatre signaux d'écriture /WE1, /WE2, /WE3, /WE4 séparés, ce qui pose un énorme problème car il n'y a qu'un seul signal /WE commun sur une SIMM "normale". D'où la trépanation de la SIMM, hélas indispensable. ![]() Cette opération est la plus rapide mais de loin la plus délicate à réaliser. Il vous faudra suivre point par point la liste des opérations ci-dessous :
![]()
Préparation des fils C'est la partie la plus longue et la plus fastidieuse, mais heureusement moins compliquée qu'elle n'y paraît. Pour préparer le câblage, découpez le câble nappe gris en plusieurs petits tronçons de 6 cm de long environ. Séparez les tronçons de câble, à l'aide d'un cutter qui coupe (!), en quatre de 8 fils de large chacun, plus un de 10 fils de large. Bon, c'est vrai, expliqué comme ça c'est un peu nébuleux, mais vous comprendrez une fois devant la "bête". Ensuite, à chaque extrémité de tronçon, séparez les fils (toujours au cutter) sur une petite longueur (2 cm maxi), jusqu'à obtenir une sorte de "peigne" double, avec les fils toujours reliés ensemble au centre du tronçon, comme ceci. Ensuite, préparez, avec ce qui vous reste de câble nappe, des fils plus longs (10 cm) séparés les uns des autres, pour les différents signaux de commande. Enfin, prenez le fil de câblage un peu plus gros, et coupez-en autant de petits bouts (6 à 8 cm) qu'il y a de connexions VCC et VSS sur le connecteur 72 broches, de préférence de deux couleurs distinctes pour vous éviter le fameux "gag" mal inspiré du VCC court-circuitant le VSS et ainsi de faire fumer quelque chose. Il vous reste à dénuder soigneusement chaque fil sur quelques millimètres à ses deux extrémités, puis à l'étamer (fer basse puissance et un peu de soudure) pour le rigidifier, comme indiqué ci-avant. Le matériel est prêt ! Reste le câblage proprement dit. Connexion de la SIMM 72 à la Combo Un dessin valant mieux qu'un long discours, voici révélées les interconnexions nécessaires et suffisantes pour parachever votre travail. Tout cela paraît, disons... "embrouillé", mais en suivant chaque piste à la trace d'un bout à l'autre, il n'y a aucun risque de se tromper. J'ai volontairement tracé en gras certains fils, qui sinon auraient disparu noyés dans l'écheveau, mais il n'y a pas besoin de les réaliser en fil plus gros pour autant (c'était juste pour une meilleure lisibilité du dessin). Notez que les fils en gras plus épais encore, sont ceux d'alimentation (VCC et VSS). Pour vous aider, rappelez-vous les correspondances suivantes entre les noms. ![]() Sur la Combo Conn. 64 broches GVP Conn. 72 broches SIMM 4Mo D0..D7 Dx.1 (4) et Dx.2 (4) DQ0..7 D8..D15 Dx.3 (4) et Dx.4 (4) DQ8..15 D16..23 Dx.5 (4) et Dx.6 (4) DQ16..23 D24..31 Dx.7 (4) et Dx.8 (4) DQ24..31 /WE1 /WE12 /WE0 (PE0) /WE2 /WE34 /WE1 (PE1) /WE3 /WE56 /WE2 (PE2) /WE4 /WE78 /WE3 (PE3) /CAS1 /CAS13 ou /CAS24 /CAS0 + /CAS1 ensemble /CAS2 /CAS57 ou /CAS68 /CAS2 + /CAS3 ensemble /RAS /RAS1357 ou /RAS2468 /RAS0 + /RAS2 ensemble /OE /OE + pin 62 ensemble pas connecté VSS VSS VSS VCC VCC VCC"Ensemble" = souder les deux broches ensemble. Dans le cas du signal /OE, celui-ci doit reboucler vers la Combo par la broche 62, grâce à un petit fil que vous souderez directement sur la Combo. "Ou" = le signal de la Combo vient sur chacune des deux broches, donc la SIMM 72 peut se connecter sur l'une ou l'autre au choix (sur le schéma, j'ai choisi, par exemple, un des deux /CAS au hasard, mais rien ne vous empêche d'utiliser l'autre). Soudure des fils Je vous conseille de souder dans l'ordre :
Le cavalier important à ne pas oublier est J12. Maintenant que vous avez davantage que les 1 Mo ou les 4 Mo d'origine, il faut éviter tout conflit possible avec de la mémoire Fast éventuelle que vous auriez sur une carte d'extension Zorro II séparée (comme moi et ma GVP HCD8+). Le manuel de la Combo vous dira comment positionner J12. Rappelez-vous, si J12 est fermé, qu'il peut y avoir au maximum 8 Mo de mémoire Fast (ou 6 Mo avec une BridgeBoard XT/AT) mais qu'il n'y a pas de limitation concernant la mémoire "32 bits" non-Fast (J12 ouvert). Mise en route Instant crucial.. Si les écrans gris foncé/gris clair/blanc défilent, que votre Amiga démarre, que le Workbench apparaît, c'est quasiment gagné ! Reste à être sûr que les 4 Mo supplémentaires ont bien été trouvés (en lançant "Avail", ou "Sysinfo" ou consort). Si non, c'est que vous avez oublié un fil, voire le pont de câblage sur /OE sur la Combo, qui semble servir de détection de SIMM (je n'ai pas vérifié, mais en tout cas il existe sur les Chipack 3240 donc c'est qu'il sert à quelque chose !). Si l'écran gris foncé apparaît mais qu'après la LED "Power" clignote avec un écran jaune, ça m'est arrivé aussi : la SIMM est détectée mais les signaux de commande sont mal connectés. Avez-vous bien connecté tous les /RAS, /CAS et autres /WEx ? Et la SIMM elle-même est bien enfoncée dans son support ? Aucun des petits fils n'est cassé ? Dans mon cas, je m'étais trompé de /RAS (connecté dans le vide) puis j'avais fait un essai avec un /WE commun et re-paf ! Écran jaune. Une fois ces deux erreurs corrigées, miracle, le Workbench m'est apparu. Pour finir J'espère que la lecture de cette manipulation ne vous a pas trop dégoûté(e) de vous y frotter. Personnellement, elle m'a surtout coûté en main d'oeuvre et en sueur : une heure pour trépaner la SIMM en douceur, plus deux bonnes heures de câblage intensif, le tout en y allant lentement. Mais j'ai apprécié les 4 Mo 32 bits supplémentaires, vous pouvez m'en croire ! Depuis un mois je m'en sers tous les jours, et malgré la "toile" de fils qui courent derrière ma Combo, aucun plantage n'est survenu. Une fois que le montage marche et que vous êtes sûr que vos soudures tiendront le coup, n'hésitez pas à solidifier le tout (par exemple en les noyant dans de la colle-résine Araldite) pour éviter que les soudures finissent par s'arracher en tirant par mégarde sur les fils. Autre solution : nouer un fil (de pêche par exemple, en tout cas non conducteur) entre la SIMM et la carte, de la manière de votre choix. Ne négligez rien : ressouder un fil perdu au milieu des autres n'est pas une sinécure, j'ai testé pour vous. Au fait, il me reste encore une SIMM 4 Mo 60 ns qui n'attend plus que ma Combo pour prendre vie, alors je me réattaquerai à celle-ci un de ces soirs... à moins que je dessine un bout de circuit imprimé double-face pour remplacer tous ces fils disgracieux et fastidieux à souder. Je vous tiendrai au courant ! Et le mot de la fin... il est temps maintenant de l'avouer : j'ai eu recours à une petite astuce lors du câblage Combo -> SIMM 72, au niveau du brochage, que je vous ai volontairement cachée pour ne pas vous embrouiller encore davantage. Si d'aventure vous la trouviez, écrivez-moi ! J'enverrai gratuitement au premier d'entre vous le circuit imprimé promis ci-avant (auquel je jure de m'atteler tantôt). Dans un prochain article : les cavaliers, la Guru ROM, et comment pousser la carte dans ses retranchements en vitesse (changement de processeur, FPU et des oscillateurs par des plus rapides).
|