Bus ISA

Un article de Wikipédia, l'encyclopédie libre.
Industry Standard Architecture

Type Connecteur parallèle
Historique de production
Auteur IBM
Date de création 1981
Spécifications
Connexion à chaud Non
Externe Non
Signal audio Non
Signal vidéo Non
— Nombre de bits 8 ou 16
Description de l'image ISA 8-bits.png.
Brochage
NuméroAbréviationDescription

Industry Standard Architecture (ISA) désigne le système de connexion interne de 16 bits utilisé dans les IBM PC/AT et des ordinateurs similaires qui ont utilisé les processeurs Intel 80286 et leurs successeurs pendant les années 1980. Ce bus, un peu comme un réseau de routes à l'intérieur de l'ordinateur, permet aux différentes parties de l'ordinateur, comme le processeur, la mémoire et les périphériques, de communiquer entre elles. Il a été spécialement conçu pour être compatible avec le bus de 8 bits des premiers IBM PC équipés de processeurs 8088, comme l'IBM PC/XT, ainsi que les ordinateurs compatibles avec les IBM PC..

Appelé à l'origine bus PC (8 bits) ou bus AT (16 bits), il a également été appelé I/O Channel par IBM. Le terme ISA a été repris par les fabricants de clones d'IBM PC à la fin des années 1980 ou au début des années 1990, en réaction aux tentatives d'IBM de remplacer le bus AT par sa nouvelle et incompatible architecture Micro Channel.

Le bus ISA 16 bits a également été utilisé avec des processeurs 32 bits pendant plusieurs années. Une tentative d'extension à 32 bits, appelée Extended Industry Standard Architecture (EISA), n'a cependant pas été couronnée de succès. Des bus ultérieurs tels que le bus local VESA et le PCI ont été utilisés à la place, souvent en même temps que les emplacements ISA sur la même carte mère. Des dérivés de la structure du bus AT ont été et sont encore utilisés dans ATA/IDE, la norme PCMCIA, CompactFlash, le bus PC/104 et en interne dans les puces Super I/O.

Bien que l'ISA ait disparu des ordinateurs de bureau grand public il y a de nombreuses années, elle est encore utilisée dans les PC industriels, où l'on utilise certaines cartes d'extension spécialisées qui n'ont jamais fait la transition vers PCI et PCI Express.

Histoire[modifier | modifier le code]

Cinq emplacements ISA 16 bits et un emplacement ISA 8 bits sur une carte mère.

Le bus PC original a été développé par une équipe dirigée par Mark Dean chez IBM dans le cadre du projet IBM PC en 1981[1]. Il s'agissait d'un bus 8 bits basé sur le bus E/S du système IBM System/23 Datamaster - il utilisait le même connecteur physique, ainsi qu'un protocole de signal et un brochage similaires[2].

Une version 16 bits, le bus IBM AT, a été introduite avec la sortie de l'IBM PC/AT en 1984[3],[4]. Le bus AT était une extension essentiellement rétro compatible du bus PC - le connecteur du bus AT était un sur ensemble du connecteur. En 1988, la norme EISA 32 bits a été proposée par le groupe « Gang of Nine » de fabricants de PC compatibles, dont Compaq[5],[6],[7]. Compaq a créé le terme « Industry Standard Architecture » (ISA) pour remplacer « compatible PC » et a renommé rétroactivement le bus AT en "ISA" pour éviter d'enfreindre la marque déposée d'IBM sur ses systèmes PC et PC/AT[8],[7].

Il s'agit d'une carte d'interface réseau Novell Ethernet 10Mbps de 1988. Elle possède des connecteurs 10Base-5 (AUI) et 10Base-2 (BNC), mais seuls l'un ou l'autre peuvent être utilisés. Elle peut être insérée dans n'importe quel bus compatible ISA.

IBM a conçu la version 8 bits comme une interface tamponnée avec les bus de la carte mère du processeur Intel 8088 (16/8 bits) dans les PC et PC/XT d'IBM, avec des interruptions prioritaires et des canaux DMA[9]. La version 16 bits était une mise à niveau pour les bus de carte mère de l'unité centrale Intel 80286 (et des fonctions d'interruption et de DMA étendues) utilisées dans l'IBM AT[10], avec une meilleure prise en charge de la maîtrise du bus. Le bus ISA était donc synchrone avec l'horloge du CPU, jusqu'à ce que des méthodes sophistiquées de mise en mémoire tampon soient mises en œuvre par les chipsets pour interfacer l'ISA avec des CPU beaucoup plus rapides.

L'ISA a été conçu pour connecter des cartes périphériques à la carte mère et permet la maîtrise du bus. Seuls les 16 premiers Mo de la mémoire principale sont adressables. Le bus 8 bits d'origine fonctionnait à partir de l'horloge de 4,77 MHz de l'unité centrale 8088 dans les PC et PC/XT d'IBM[11]. Le bus 16 bits d'origine fonctionnait à partir de l'horloge du CPU 80286 dans les ordinateurs IBM PC/AT, qui était de 6 MHz dans les premiers modèles et de 8 MHz dans les modèles ultérieurs[12]. L'IBM RT PC utilisait également le bus 16 bits. L'ISA a également été utilisé dans certaines machines non compatibles IBM, telles que les stations de travail Apollo (68020) et Amiga 3000 (68030) basées sur la technologie 68k de Motorola[13],[14], l'éphémère AT&T Hobbit et la BeBox basée sur le PowerPC[15].

Il s'agit d'une carte d'interface réseau commutable Token Ring 4/16Mbps de 1987 de Madge Networks. Elle peut être insérée dans n'importe quel bus compatible ISA.

Des sociétés comme Dell ont amélioré les performances du bus AT[16], mais en 1987, IBM a remplacé le bus AT par son architecture propriétaire Micro Channel Architecture (MCA). La MCA a surmonté bon nombre des limitations alors apparentes de l'ISA[17], mais a également constitué un effort de la part d'IBM pour reprendre le contrôle de l'architecture et du marché des PC. La MCA était beaucoup plus avancée que l'ISA et présentait de nombreuses caractéristiques qui apparaîtraient plus tard dans le PCI[18]. Cependant, le MCA était également une norme fermée, alors qu'IBM avait publié des spécifications complètes et des schémas de circuits pour l'ISA. Les fabricants d'ordinateurs ont réagi au MCA en développant l'EISA (Extended Industry Standard Architecture) et, plus tard, le VLB (VESA Local Bus). Le VLB a utilisé certaines pièces électroniques initialement prévues pour le MCA, car les fabricants de composants étaient déjà équipés pour les fabriquer[19]. L'EISA et le VLB étaient des extensions rétro compatibles du bus AT (ISA)[19].

Les utilisateurs de machines basées sur la norme ISA devaient posséder des informations spécifiques sur le matériel qu'ils ajoutaient au système[19]. Bien qu'un petit nombre de périphériques soient essentiellement "prêts à l'emploi", cela était rare[20]. Les utilisateurs devaient souvent configurer des paramètres lors de l'ajout d'un nouveau périphérique, tels que la ligne IRQ, l'adresse E/S ou le canal DMA[20]. Le MCA avait éliminé cette complication et le PCI a en fait incorporé de nombreuses idées explorées pour la première fois avec le MCA, bien qu'il soit plus directement issu de l'EISA.

Ces problèmes de configuration ont finalement conduit à la création de l'ISA PnP, un système plug-n-play qui utilisait une combinaison de modifications du matériel, du BIOS du système et du système d'exploitation pour gérer automatiquement les allocations de ressources. En réalité, l'ISA PnP pouvait poser des problèmes et n'a bénéficié d'un bon soutien que lorsque l'architecture a vécu ses derniers jours[20].

Les emplacements PCI ont été les premiers ports d'extension à évincer directement l'ISA de la carte mère en raison de leur incompatibilité physique. Au début, les cartes mères étaient principalement équipées de connecteurs ISA, avec seulement quelques emplacements PCI. Au milieu des années 1990, les deux types d'emplacements étaient à peu près équilibrés, et les emplacements ISA sont rapidement devenus minoritaires dans les systèmes grand public. La spécification PC-99 de Microsoft recommandait la suppression totale des emplacements ISA[21],[22], bien que l'architecture du système exigeait toujours la présence d'ISA d'une manière ou d'une autre en interne pour gérer le lecteur de disquettes, les ports série, etc. Les emplacements ISA sont restés en place pendant quelques années encore et, vers la fin du siècle, il était courant de voir des systèmes dotés d'un port graphique accéléré (AGP) près de l'unité centrale, d'un ensemble d'emplacements PCI et d'un ou deux emplacements ISA à l'extrémité du système[23]. Fin 2008, même les lecteurs de disquettes et les ports série disparaissaient, et l'extinction de l'ISA vestigial (à l'époque le bus LPC) des chipsets se profilait à l'horizon.

L'interface de disque dur AT Attachment (ATA) est directement issue de l'ISA 16 bits du PC/AT[24],[25],[26]. L'ATA trouve son origine dans l'adaptateur de disque fixe et de disquette d'IBM PC[26],[27],le contrôleur de disque fixe de cette carte mettait en œuvre le jeu de registres et le jeu de commandes de base qui sont devenus la base de l'interface ATA (et qui différaient grandement de l'interface de la carte de contrôleur de disque fixe d'IBM pour le PC XT).

Architecture du bus ISA[modifier | modifier le code]

Le bus PC/XT est un bus ISA 8-bits utilisé par les systèmes Intel 8086 et Intel 8088 dans l'IBM PC et l'IBM PC XT dans les années 1980[28],[29]. Parmi ses 62 broches se trouvaient des versions démultiplexées et électriquement tamponnées des 8 lignes de données et des 20 lignes d'adresse du processeur 8088, ainsi que des lignes d'alimentation, des horloges[29], des stroboscopes de lecture/écriture, des lignes d'interruption, etc. Les lignes d'alimentation comprennent -5 V et ±12 V afin de supporter directement les circuits pMOS et nMOS en mode d'amélioration, tels que les RAM dynamiques, entre autres. L'architecture du bus XT utilise un seul PIC Intel 8259[29], offrant huit lignes d'interruption vectorisées et priorisées. Il dispose de quatre canaux DMA fournis à l'origine par l'Intel 8237. Trois des canaux DMA sont amenés vers les slots d'extension du bus XT ; parmi ceux-ci, deux sont normalement déjà alloués à des fonctions de la machine (lecteur de disquette et contrôleur de disque dur) .

Le bus PC/AT, une version 16 bits (ou 80286) du bus PC/XT, a été introduit avec le PC/AT d'IBM[28]. Ce bus a été officiellement appelé I/O Channel par IBM[30],[4]. Il étend le bus XT en ajoutant un deuxième connecteur plus court en ligne avec le connecteur XT-bus 8-bits, qui est inchangé, conservant la compatibilité avec la plupart des cartes 8 bits[31]. Le second connecteur ajoute quatre lignes d'adresse supplémentaires pour un total de 24, et 8 lignes de données supplémentaires pour un total de 16[31]. Il ajoute également de nouvelles lignes d'interruption connectées à un second PIC 8259 (connecté à l'une des lignes du premier) et 4 canaux DMA 16 bits, ainsi que des lignes de contrôle pour sélectionner les transferts 8 ou 16 bits[31].

Brochage 16-bit
Broche Nom Direction Description
A1 I/O CH CK I/O channel check; active low=parity error
A2 D7 Bit de donnée 7
A3 D6 Bit de donnée 6
A4 D5 Bit de donnée 5
A5 D4 Bit de donnée 4
A6 D3 Bit de donnée 3
A7 D2 Bit de donnée 2
A8 D1 Bit de donnée 1
A9 D0 Bit de donnée 0
A10 I/O CH RDY I/O Channel ready, pulled low to lengthen memory cycles
A11 AEN Address enable; active high when DMA controls bus
A12 A19 Bit d'adresse 19
A13 A18 Bit d'adresse 18
A14 A17 Bit d'adresse 17
A15 A16 Bit d'adresse 16
A16 A15 Bit d'adresse 15
A17 A14 Bit d'adresse 14
A18 A13 Bit d'adresse 13
A19 A12 Bit d'adresse 12
A20 A11 Bit d'adresse 11
A21 A10 Bit d'adresse 10
A22 A9 Bit d'adresse 9
A23 A8 Bit d'adresse 8
A24 A7 Bit d'adresse 7
A25 A6 Bit d'adresse 6
A26 A5 Bit d'adresse 5
A27 A4 Bit d'adresse 4
A28 A3 Bit d'adresse 3
A29 A2 Bit d'adresse 2
A30 A1 Bit d'adresse 1
A31 A0 Bit d'adresse 0
B1 GND Masse
B2 RESET Active high to reset or initialize system logic
B3 +5V +5 VDC
B4 IRQ2 Requête d'interruption 2
B5 -5VDC -5 VDC
B6 DRQ2 Requête DMA 2
B7 -12VDC -12 VDC
B8 /NOWS No WaitState
B9 +12VDC +12 VDC
B10 GND Masse
B11 /SMEMW System Memory Write
B12 /SMEMR System Memory Read
B13 /IOW I/O Write
B14 /IOR I/O Read
B15 /DACK3 DMA Acknowledge 3
B16 DRQ3 Requête DMA 3
B17 /DACK1 Quittance DMA 1
B18 DRQ1 Requête DMA 1
B19 /REFRESH Rafraîchissement
B20 CLOCK Horloge système (67 ns, 8-8.33 MHz, 50% duty cycle)
B21 IRQ7 Requête d'interruption 7
B22 IRQ6 Requête d'interruption 6
B23 IRQ5 Requête d'interruption 5
B24 IRQ4 Requête d'interruption 4
B25 IRQ3 Requête d'interruption 3
B26 /DACK2 Quittance DMA 2
B27 T/C Terminal count; pulses high when DMA term. count reached
B28 ALE Address Latch Enable
B29 +5V +5 VDC
B30 OSC Horloge haute vitesse (70 ns, 14,31818 MHz, 50% duty cycle)
B31 GND Masse
C1 SBHE System bus high enable (data available on SD8-15)
C2 LA23 Bit d'adresse 23
C3 LA22 Bit d'adresse 22
C4 LA21 Bit d'adresse 21
C5 LA20 Bit d'adresse 20
C6 LA18 Bit d'adresse 19
C7 LA17 Bit d'adresse 18
C8 LA16 Bit d'adresse 17
C9 /MEMR Memory Read (Active on all memory read cycles)
C10 /MEMW Memory Write (Active on all memory write cycles)
C11 SD08 Bit de donnée 8
C12 SD09 Bit de donnée 9
C13 SD10 Bit de donnée 10
C14 SD11 Bit de donnée 11
C15 SD12 Bit de donnée 12
C16 SD13 Bit de donnée 13
C17 SD14 Bit de donnée 14
C18 SD15 Bit de donnée 15
D1 /MEMCS16 Memory 16-bit chip select (1 wait, 16-bit memory cycle)
D2 /IOCS16 I/O 16-bit chip select (1 wait, 16-bit I/O cycle)
D3 IRQ10 Requête d'interruption 10
D4 IRQ11 Requête d'interruption 11
D5 IRQ12 Requête d'interruption 12
D6 IRQ15 Requête d'interruption 15
D7 IRQ14 Requête d'interruption 14
D8 /DACK0 Quittance DMA 0
D9 DRQ0 Requête DMA 0
D10 /DACK5 Quittance DMA 5
D11 DRQ5 Requête DMA 5
D12 /DACK6 Quittance DMA 6
D13 DRQ6 Requête DMA 6
D14 /DACK7 Quittance DMA 7
D15 DRQ7 Requête DMA 7
D16 +5 V +5 VDC
D17 /MASTER Used with DRQ to gain control of system
D18 GND Masse

Utilisation passée et actuelle[modifier | modifier le code]

L'ISA est encore utilisée aujourd'hui à des fins industrielles spécialisées. En 2008, IEI Technologies a lancé une carte mère moderne pour les processeurs Intel Core 2 Duo qui, en plus d'autres caractéristiques d'E/S spéciales, est équipée de deux emplacements ISA. Elle est destinée aux utilisateurs industriels et militaires qui ont investi dans des adaptateurs de bus ISA spécialisés et coûteux, qui ne sont pas disponibles en version bus PCI[32].

De même, ADEK Industrial Computers sortira début 2013 une carte mère pour les processeurs Intel Core i3/i5/i7, qui contient un emplacement ISA (non DMA)[33].

XT-IDE[modifier | modifier le code]

Avant l'interface ATA/IDE 16 bits, il existait une interface XT-IDE (également connue sous le nom de XTA) 8 bits pour les disques durs. Elle n'était pas aussi populaire que l'ATA et le matériel XT-IDE est aujourd'hui assez difficile à trouver. Certains adaptateurs XT-IDE étaient disponibles sous forme de cartes ISA 8 bits, et des prises XTA étaient également présentes sur les cartes mères des derniers clones XT d'Amstrad, ainsi que sur une ligne éphémère d'unités Philips. Le brochage de XTA était très similaire à celui de l'ATA, mais seules huit lignes de données et deux lignes d'adresse étaient utilisées, et les registres physiques des périphériques avaient des significations complètement différentes. Quelques disques durs (comme le Seagate ST351A/X) pouvaient prendre en charge l'un ou l'autre type d'interface, sélectionné à l'aide d'un cavalier[34],[35].

Émulation par des puces intégrées[modifier | modifier le code]

Bien que la plupart des ordinateurs modernes n'aient pas de bus ISA physiques, presque tous les PC - IA-32 et x86-64 - ont des bus ISA alloués dans l'espace d'adressage physique. Certains Southbridges et certains CPU fournissent eux-mêmes des services tels que la surveillance de la température et la lecture de la tension par l'intermédiaire des bus ISA en tant que dispositifs ISA.

Standardisation[modifier | modifier le code]

L'IEEE a commencé à normaliser le bus ISA en 1985, sous le nom de spécification P996. Cependant, malgré la publication de livres sur la spécification P996, celle-ci n'a jamais dépassé officiellement le statut de projet[36].

Cartes ISA modernes[modifier | modifier le code]

Il existe toujours une base d'utilisateurs d'anciens ordinateurs, c'est pourquoi certaines cartes ISA sont encore fabriquées, par exemple avec des ports USB ou des ordinateurs à carte unique basés sur des processeurs modernes, USB 3.0 et SATA[37],[38],[39].

Références[modifier | modifier le code]

  1. (en) Edwin D. Reilly, Milestones in computer science and information technology, Greenwood Press, (ISBN 978-1-57356-521-9), p. 37
  2. (en-US) Jon Titus, « Whence came the IBM PC? », sur EDN, (consulté le )
  3. (en-US) By, « How The IBM PC Went 8-Bit », sur Hackaday, (consulté le )
  4. a et b La Nouvelle Norme IBM PC-AT, vol. 25, Science & Vie Micro, (lire en ligne), p. 55
  5. Lionel Lumbroso, « EISA » Accès libre, sur 01net.com, (consulté le )
  6. Pieterjan Van Leemputten, « Le ‘Personal Computer’ souffle ses quarante bougies » Accès libre, sur https://datanews.levif.be, (consulté le )
  7. a et b (en) Robin Mitchell, « Tales from 80s Tech: How Compaq’s Clone Computers Skirted IBM’s IP and Gave Rise to EISA » Accès libre, sur allaboutcircuits.com, (consulté le )
  8. (en) LaPlante, Alice; Furger, Roberta, Compaq Vyving To Become The IBM of the '90', InfoWorld Media Group, Inc., (lire en ligne), p. 1, 8
  9. vnv, « L’ordinateur PC XT fête ses 30 ans », sur POLYMEDIA SA, (consulté le )
  10. « DOS Days - 80286 Motherboards », sur www.dosdays.co.uk (consulté le )
  11. « Processeur Intel 8088 », sur www.materiel-informatique.be (consulté le )
  12. « CPUs: Intel 80286 | Low End Mac », sur lowendmac.com (consulté le )
  13. « Amiga Hardware Database - Amiga 3000 », sur amiga.resource.cx (consulté le )
  14. « Informations techniques et photos de l'Amiga 3000 », sur amigaga.chez-alice.fr (consulté le )
  15. « NetBSD/bebox », sur wiki.netbsd.org (consulté le )
  16. (en-US) Peter H. Lewis, « THE EXECUTIVE COMPUTER; Introducing the First PS/2 Clones », The New York Times,‎ (ISSN 0362-4331, lire en ligne Accès payant, consulté le )
  17. « Ordinateur - Bus ISA, MCA et VLB » Accès libre, sur web.maths.unsw.edu.au (consulté le )
  18. « Les bus pour ordinateurs PC: ISA, PCI, AGP, PCI-express, PCI-X, ... », sur www.ybet.be (consulté le )
  19. a b et c (en-US) Dave Farquhar, « ISA vs EISA vs VLB », sur The Silicon Underground, (consulté le )
  20. a b et c (en) Intel, Microsoft, « Plug and Play ISA Specification : Version 1.0a » Accès libre [PDF], sur osdever.net, (consulté le )
  21. (en) PC 99 system design guide, Microsoft Press, coll. « Microsoft professional editions », , 576 p. (ISBN 978-0-7356-0518-3, lire en ligne)
  22. « La fin du bus ISA », sur www.touslesdrivers.com (consulté le )
  23. (en-US) By, « Resurrecting ISA Hardware », sur Hackaday, (consulté le )
  24. « Les disques durs », sur www.courstechinfo.be (consulté le )
  25. (en) InetDaemon, « ATA / IDE » Accès libre, sur www.inetdaemon.com, (consulté le )
  26. a et b (en) « AT Attachment with Packet Interface », sur www.atozwiki.com (consulté le )
  27. (en) « Overview and History of the IDE/ATA Interface » [archive du ] Accès libre, sur pcguide.com (consulté le )
  28. a et b (en) « DOS Days - ISA Bus », sur www.dosdays.co.uk (consulté le )
  29. a b et c « Références des systèmes - PC XT », sur www.gladir.com (consulté le )
  30. « TechFest - ISA Bus Technical Summary », sur wearcam.org (consulté le )
  31. a b et c « Références des systèmes - PC AT », sur www.gladir.com (consulté le )
  32. (en) IEI Technology Corp, « Model: IMBA-945ISA » Accès libre [PDF], sur theretroweb.com, (consulté le )
  33. (en) ADEK Indsutrial Computer, « MS-98A9 Industrial ATX Motherboard Sheet » Accès libre [PDF], sur adek.com (consulté le )
  34. « Nerdly Pleasures: The Original 8-bit XT IDE Interface », sur Nerdly Pleasures, (consulté le )
  35. (en) « XT-IDE Rev 4 (and 4A, and 4B) » Accès libre, sur www.minuszerodegrees.net (consulté le )
  36. Michael Graves, A+ guide to PC hardware maintenance and repair, Thomson/Delmar Learning, (ISBN 978-1-4018-5230-6, OCLC ocm57401585, lire en ligne)
  37. (en) « PCA-6763 » Accès libre [PDF], sur advdownload.advantech.com (consulté le )
  38. (en) « PCA-6763 » Accès libre [PDF], sur ftp.emacinc.com (consulté le )
  39. (en) Alexey Tikhomirov, James Drummond et Dalhousie University, « ISA to USB Adapter for Optech FDC-700 Counter Board » [archive du ] Accès libre [PDF], sur fizz.phys.dal.ca, Halifax, Canada, (consulté le )