NuBus |
MIT, Texas Instruments, Apple |
|---|---|
| Architecture | |
Introduction
Le NuBus est une architecture de bus d'extension parallèle 32 bits conçue à la fin des années 1970 au Massachusetts Institute of Technology (MIT) dans le cadre du projet expérimental **NuMachine**. Son objectif est de fournir une architecture de fond de panier (backplane bus) moderne, indépendante du microprocesseur utilisé et capable de prendre en charge aussi bien des périphériques classiques que des systèmes multiprocesseurs. Cette indépendance constitue une innovation importante à une époque où de nombreux bus sont encore étroitement liés aux signaux électriques et au fonctionnement d'un processeur particulier.
Après plusieurs implémentations expérimentales et commerciales, notamment dans des machines Lisp, le NuBus est normalisé en 1987 sous la référence IEEE 1196-1987, intitulée IEEE Standard for a Simple 32-Bit Backplane Bus: NuBus. La norme définit un bus synchrone fonctionnant à 10 MHz, doté d'un chemin de données et d'adresses multiplexé de 32 bits, d'un mécanisme d'arbitrage équitable et de capacités multimaster. L'IEEE spécifie un débit maximal de 37,5 Mo/s pour les transferts à haute performance.
NuBus devient particulièrement connu grâce à Apple Computer, qui l'adopte comme principal bus d'extension de plusieurs générations de Macintosh professionnels, en commençant par le Macintosh II en 1987. Ce dernier possède six emplacements NuBus, utilisés pour installer notamment des cartes graphiques, réseau, accélératrices, d'acquisition ou de stockage. Apple exploite ainsi l'un des principaux avantages du NuBus : permettre à différentes cartes de fonctionner dans une architecture relativement indépendante du processeur central. Apple confirme officiellement la présence de six emplacements NuBus sur le Macintosh II.
NuBus est également utilisé par Texas Instruments dans certaines stations Lisp et inspire une variante appelée NeXTBus chez NeXT. Malgré ses qualités techniques, il reste plus coûteux et complexe à mettre en oeuvre que certains bus concurrents. Au cours des années 1990, son utilisation diminue progressivement au profit de standards comme PCI, plus économiques et mieux adaptés au marché des ordinateurs personnels.
Spécifications générales
| Spécification | Description |
|---|---|
| Nom | NuBus |
| Norme principale | IEEE 1196-1987 |
| Origine | Massachusetts Institute of Technology (MIT) |
| Période de conception | Fin des années 1970 |
| Normalisation IEEE | 1987 |
| Publication IEEE | 1988 |
| Type | Bus parallèle de fond de panier |
| Largeur logique | 32 bits |
| Fréquence standard | 10 MHz |
| Architecture | Synchrone, multiplexée |
| Topologie | Bus partagé |
| Multimaster | Oui |
| Arbitrage | Oui, mécanisme équitable |
| Débit maximal IEEE | 37,5 Mo/s |
| Connecteur standard | DIN 41612 à 96 contacts pour l'implémentation IEEE courante |
| Applications | Stations de travail, Macintosh professionnels, systèmes multiprocesseurs, équipements spécialisés |
| Utilisateurs connus | Apple, Texas Instruments, Lisp Machines Inc., Western Digital |
| Évolution | NuBus90 |
| Remplacement progressif | PCI et autres bus plus récents |
La norme IEEE décrit explicitement NuBus comme un bus 32 bits, 10 MHz, multiplexé, multimaster et doté d'un mécanisme d'arbitrage équitable.
Origine du NuBus
Le NuBus prend naissance dans le projet :
- NuMachine
développé au MIT à la fin des années 1970.
L'objectif est de concevoir une architecture de station de travail modulaire dans laquelle plusieurs cartes peuvent communiquer sans dépendre directement du microprocesseur utilisé.
Cette idée diffère de nombreux bus contemporains.
Par exemple, un bus très proche du microprocesseur peut exposer directement :
- ses lignes d'adresse ;
- ses lignes de données ;
- ses signaux de contrôle ;
- ses particularités électriques.
Cela signifie qu'un changement de processeur peut nécessiter une nouvelle architecture de bus.
NuBus cherche précisément à éviter cette dépendance.
Indépendance du processeur
L'une des caractéristiques les plus importantes du NuBus est son indépendance relative vis-à-vis de l'architecture du processeur.
Une carte NuBus n'est pas censée dépendre directement de :
- Motorola 68000 ;
- Motorola 68020 ;
- Intel x86 ;
- processeur Lisp ;
- autre architecture particulière.
Le système utilise plutôt une interface adaptée entre le processeur et le bus.
Cette approche permet théoriquement d'utiliser NuBus sur des machines très différentes.
C'est notamment ce qui explique son utilisation dans :
- stations Lisp ;
- Macintosh ;
- systèmes professionnels ;
- architectures multiprocesseurs.
Architecture 32 bits
NuBus est conçu dès l'origine autour d'une architecture :
- 32 bits
À la fin des années 1970, il s'agit d'un choix particulièrement ambitieux puisque de nombreux micro-ordinateurs utilisent encore des processeurs 8 ou 16 bits.
La norme IEEE parle d'ailleurs explicitement d'un :
- Simple 32-Bit Backplane Bus
Cette conception anticipe l'arrivée massive des processeurs 32 bits dans les années 1980.
Bus multiplexé
NuBus utilise une architecture dite :
- multiplexée
Cela signifie qu'un même ensemble de lignes peut servir à transporter différents types d'informations pendant différentes phases d'une transaction.
Par exemple, certaines lignes peuvent transporter :
- adresse
puis :
- données
Cette technique réduit le nombre de conducteurs et de broches nécessaires.
En contrepartie, les transactions nécessitent plusieurs phases successives.
Fréquence
La norme IEEE 1196 définit une fréquence de :
- 10 MHz
NuBus est donc un bus :
- synchrone
Les périphériques utilisent une référence temporelle commune pour coordonner leurs transactions.
L'IEEE précise explicitement que NuBus est un bus synchrone à 10 MHz.
Débit
La norme IEEE indique un débit maximal de :
- 37,5 Mo/s
Cette valeur doit être privilégiée dans une fiche technique rigoureuse.
On trouve parfois :
- 40 Mo/s
dans des résumés historiques.
Cette valeur correspond généralement à une approximation basée sur :
- 32 bits × 10 MHz = 40 Mo/s
mais elle ne tient pas entièrement compte du protocole réel du bus.
Pour une documentation précise, il est donc préférable d'indiquer :
- Débit maximal normalisé : 37,5 Mo/s
plutôt que 40 Mo/s.
Multimaster
NuBus est conçu comme une architecture :
- multimaster
Cela signifie que plusieurs cartes peuvent demander à prendre temporairement le contrôle du bus.
Par exemple :
- CPU
ou :
- contrôleur spécialisé
ou :
- autre processeur
peut devenir maître du bus.
Cette caractéristique facilite les systèmes multiprocesseurs et les périphériques capables d'effectuer directement des transferts importants.
Arbitrage
Lorsque plusieurs maîtres souhaitent utiliser le bus simultanément, un mécanisme d'arbitrage est nécessaire.
NuBus utilise un système conçu pour fournir une distribution équitable de l'accès au bus.
L'IEEE décrit précisément NuBus comme disposant d'un :
- fair arbitration mechanism
c'est-à-dire un mécanisme d'arbitrage équitable.
Cela permet d'éviter qu'un seul périphérique monopolise continuellement la liaison.
Architecture multiprocesseur
NuBus est spécifiquement conçu pour prendre en charge les besoins des :
- systèmes multiprocesseurs
La norme IEEE mentionne explicitement cette fonction.
Une architecture peut par exemple ressembler à :
Plusieurs composants peuvent partager les ressources du système en utilisant le mécanisme d'arbitrage du bus.
Connecteur
L'implémentation IEEE courante utilise un connecteur :
- DIN 41612
à :
- 96 contacts
organisés en trois rangées.
Ce type de connecteur est également utilisé par d'autres architectures industrielles de fond de panier.
Le connecteur permet notamment de transporter :
- lignes de données/adresses ;
- signaux de contrôle ;
- alimentation ;
- arbitrage ;
- autres fonctions du bus.
Cartes NuBus
De nombreuses catégories de cartes ont été développées.
Parmi les plus fréquentes :
- cartes graphiques ;
- cartes Ethernet ;
- contrôleurs SCSI ;
- cartes d'acquisition vidéo ;
- cartes audio professionnelles ;
- accélérateurs processeur ;
- cartes spécialisées pour la recherche ;
- interfaces industrielles ;
- cartes de communication.
Sur Macintosh, les cartes graphiques NuBus occupent une place particulièrement importante.
NuBus chez Apple
Apple adopte NuBus avec le :
- Macintosh II
commercialisé en :
- 1987
Le Macintosh II possède :
- 6 emplacements NuBus
et ne possède pas de contrôleur vidéo intégré standard.
Une carte graphique NuBus est donc normalement nécessaire pour connecter un moniteur.
Apple confirme officiellement les six emplacements NuBus dans les caractéristiques techniques du Macintosh II.
Cette architecture rend le Macintosh II extrêmement extensible par rapport aux premiers Macintosh tout-en-un.
Exemple : Macintosh II
Un système Macintosh II peut être représenté ainsi :
Chaque carte peut apporter une fonction totalement nouvelle au système.
Macintosh utilisant NuBus
NuBus est utilisé dans plusieurs générations de Macintosh, notamment dans différentes machines des familles :
- Macintosh II ;
- Macintosh IIfx ;
- Macintosh IIci ;
- Macintosh Quadra ;
- Macintosh Centris ;
- certains premiers Power Macintosh.
Le nombre exact d'emplacements varie selon les modèles.
Le Macintosh II original est particulièrement remarquable avec ses six slots NuBus.
ROM des cartes et identification
Dans l'écosystème Macintosh, les cartes NuBus peuvent contenir des informations permettant au système de les identifier et de charger les ressources nécessaires.
Cette philosophie réduit la nécessité de configurations manuelles du type :
- cavaliers ;
- commutateurs DIP ;
- adresses matérielles fixes configurées par l'utilisateur.
À cet égard, NuBus est plus évolué que plusieurs bus PC contemporains comme ISA.
Slot Manager
Mac OS utilise notamment le :
- Slot Manager
pour identifier et gérer les cartes installées.
Les ressources contenues dans la ROM d'une carte peuvent fournir au système des renseignements concernant :
- type de périphérique ;
- fabricant ;
- fonctions ;
- paramètres matériels ;
- ressources nécessaires.
Cette approche donne au NuBus une forme de configuration automatique très avancée pour son époque.
Carte graphique et plusieurs moniteurs
L'un des avantages spectaculaires du NuBus sur Macintosh est la possibilité d'utiliser plusieurs cartes graphiques simultanément.
Un Macintosh II possède six emplacements.
En théorie, plusieurs cartes vidéo peuvent donc être installées afin de piloter plusieurs moniteurs.
Cette caractéristique devient particulièrement appréciée dans :
- publication assistée par ordinateur ;
- graphisme ;
- CAO ;
- montage vidéo ;
- édition professionnelle.
NuBus et Texas Instruments
NuBus n'est pas une technologie exclusivement Apple.
Avant et parallèlement à son adoption dans les Macintosh, il est utilisé dans plusieurs systèmes liés aux machines Lisp.
Texas Instruments l'utilise notamment dans sa famille :
- TI Explorer
Le NuBus est donc historiquement une architecture de station de travail avant de devenir célèbre dans les Macintosh.
NuBus et Lisp Machines
La première utilisation commerciale importante du NuBus apparaît dans des machines Lisp.
Parmi celles-ci figure :
- LMI Lambda
de Lisp Machines Inc.
Ces systèmes sont principalement destinés :
- à l'intelligence artificielle ;
- à la recherche ;
- au développement Lisp ;
- aux environnements universitaires.
Cela explique pourquoi NuBus intègre dès le départ des mécanismes particulièrement bien adaptés aux architectures avancées et multiprocesseurs.
NuBus et NeXTBus
NeXT développe une architecture dérivée ou inspirée de NuBus appelée :
- NeXTBus
pour certains de ses systèmes.
NeXTBus n'est cependant pas simplement identique au NuBus IEEE.
Il faut donc éviter d'écrire que les cartes NuBus Macintosh sont directement compatibles avec les systèmes NeXT.
Les deux architectures ont une parenté conceptuelle mais ne constituent pas nécessairement le même environnement matériel.
NuBus90
Une évolution appelée :
- NuBus90
est développée afin d'augmenter les performances.
Elle vise notamment une fréquence plus élevée, généralement :
- 20 MHz
contre :
- 10 MHz
pour NuBus classique.
Cette évolution permet d'accroître considérablement la bande passante.
NuBus90 conserve plusieurs principes du standard original mais ajoute diverses améliorations destinées aux systèmes plus rapides.
NuBus contre ISA
| Caractéristique | NuBus | ISA 16 bits |
|---|---|---|
| Origine | MIT / IEEE | IBM PC/AT |
| Normalisation | IEEE 1196 | Standard de fait |
| Largeur | 32 bits | 16 bits |
| Fréquence typique | 10 MHz | ≈ 8 MHz |
| Multimaster | Oui | Plus limité |
| Architecture processeur-indépendante | Oui | Non, issue du PC/AT |
| Configuration automatique | Très évoluée selon plateforme | Faible à l'origine |
| Utilisation principale | Stations de travail | PC compatibles |
| Multiprocesseur | Prévu explicitement | Pas objectif principal |
NuBus est donc beaucoup plus sophistiqué architecturalement qu'ISA, mais il est également plus coûteux à mettre en oeuvre.
NuBus contre MCA
NuBus et MCA (Micro Channel Architecture) apparaissent tous deux sur des ordinateurs professionnels à la fin des années 1980.
| Caractéristique | NuBus | MCA |
|---|---|---|
| Normalisation principale | IEEE | IBM |
| Largeur | 32 bits | 16/32 bits |
| Fréquence | 10 MHz | 10 MHz environ |
| Multimaster | Oui | Oui |
| Configuration automatique | Oui selon système | Oui |
| Architecture ouverte | Standard IEEE | Technologie IBM propriétaire |
| Marché | Stations de travail / Macintosh | IBM PS/2 |
Les deux architectures présentent donc plusieurs fonctions avancées que l'ISA ne possède pas à l'origine.
NuBus contre PCI
Lorsque PCI apparaît au début des années 1990, il reprend plusieurs idées générales caractéristiques des bus modernes :
- indépendance relative du processeur ;
- configuration automatique ;
- bus mastering ;
- architecture standardisée ;
- compatibilité avec plusieurs plateformes.
PCI devient cependant beaucoup plus largement adopté.
| Caractéristique | NuBus | PCI |
|---|---|---|
| Origine | MIT / IEEE | Intel / PCI-SIG |
| Largeur courante | 32 bits | 32 bits |
| Fréquence courante initiale | 10 MHz | 33 MHz |
| Débit caractéristique | 37,5 Mo/s | 133 Mo/s |
| Configuration automatique | Oui | Oui |
| Marché principal | Stations de travail | PC, serveurs, stations |
| Adoption industrielle | Limitée | Très large |
Le PCI dispose donc d'une bande passante beaucoup plus élevée dans ses configurations courantes.
Avantages
Les principaux avantages du NuBus sont :
- architecture 32 bits dès son origine ;
- indépendance relative vis-à-vis du processeur ;
- fonctionnement multimaster ;
- arbitrage équitable ;
- adaptation aux systèmes multiprocesseurs ;
- configuration sophistiquée des périphériques ;
- capacité à prendre en charge des cartes graphiques, réseau et stockage avancées ;
- excellente modularité ;
- standardisation IEEE ;
- bonne adaptation aux stations de travail professionnelles.
Inconvénients
NuBus possède néanmoins plusieurs limites :
- coût de mise en ouvre relativement élevé ;
- logique d'interface plus complexe ;
- fréquence limitée à 10 MHz dans le standard d'origine ;
- bande passante inférieure aux bus apparus dans les années 1990 ;
- connecteurs relativement volumineux ;
- faible adoption sur le marché PC ;
- écosystème beaucoup plus restreint qu'ISA puis PCI ;
- progressivement remplacé par PCI.
Comparaison chronologique
| Bus | Introduction / normalisation | Largeur | Utilisation principale |
|---|---|---|---|
| S-100 | Années 1970 | 8 puis 16 bits | Premiers micro-ordinateurs |
| Multibus | Années 1970 | 8/16 bits | Industrie |
| NuBus | Conception fin 1970 ; IEEE 1987 | 32 bits | Stations de travail |
| ISA 8 bits | 1981 | 8 bits | IBM PC |
| ISA 16 bits | 1984 | 16 bits | PC/AT |
| MCA | 1987 | 16/32 bits | IBM PS/2 |
| EISA | 1988 | 32 bits | Serveurs / PC professionnels |
| VLB | 1992 | 32 bits | PC 486 |
| PCI | 1992 | 32/64 bits | PC et stations |
| PCI Express | 2000 | Série | Ordinateurs modernes |
Importance historique
Le NuBus constitue l'un des bus les plus avancés de son époque. Alors que de nombreux systèmes des années 1970 et du début des années 1980 exposent directement les signaux de leur microprocesseur aux cartes d'extension, NuBus cherche à créer une abstraction indépendante du processeur. Cette approche rend possible l'utilisation d'un même principe de bus dans des machines très différentes.
Son architecture 32 bits, son fonctionnement multimaster, son arbitrage équitable et son orientation vers les systèmes multiprocesseurs sont particulièrement remarquables pour une conception remontant à la fin des années 1970. La norme IEEE 1196-1987 confirme officiellement ces caractéristiques et fixe le fonctionnement standard à 10 MHz avec un débit maximal de 37,5 Mo/s.
Apple donne ensuite au NuBus une visibilité beaucoup plus importante en l'intégrant dans le Macintosh II et plusieurs générations de Macintosh professionnels. Le Macintosh II de 1987 possède six emplacements NuBus, permettant d'ajouter cartes graphiques, contrôleurs réseau, entreposage et autres périphériques spécialisés.
L'arrivée du PCI au début des années 1990 réduit progressivement l'intérêt du NuBus. PCI offre une bande passante supérieure, une forte adoption industrielle et un coût plus favorable. NuBus disparaît donc progressivement des ordinateurs personnels et des stations de travail.
Malgré cette disparition, son importance historique demeure considérable. De nombreux concepts qu'il met en avant - indépendance du processeur, configuration intelligente des périphériques, bus mastering, arbitrage et architecture multiprocesseur - annoncent les principes qui deviendront courants dans les architectures d'interconnexion ultérieures.