Section courante

A propos

Section administrative du site

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 :

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 :

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 :

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 :

Architecture 32 bits

NuBus est conçu dès l'origine autour d'une architecture :

À 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 :

Cette conception anticipe l'arrivée massive des processeurs 32 bits dans les années 1980.

Bus multiplexé

NuBus utilise une architecture dite :

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 :

puis :

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 :

NuBus est donc un bus :

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 :

Cette valeur doit être privilégiée dans une fiche technique rigoureuse.

On trouve parfois :

dans des résumés historiques.

Cette valeur correspond généralement à une approximation basée sur :

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 :

plutôt que 40 Mo/s.

Multimaster

NuBus est conçu comme une architecture :

Cela signifie que plusieurs cartes peuvent demander à prendre temporairement le contrôle du bus.

Par exemple :

ou :

ou :

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 :

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 :

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 :

à :

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 :

Cartes NuBus

De nombreuses catégories de cartes ont été développées.

Parmi les plus fréquentes :

Sur Macintosh, les cartes graphiques NuBus occupent une place particulièrement importante.

NuBus chez Apple

Apple adopte NuBus avec le :

commercialisé en :

Le Macintosh II possède :

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 :

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 :

À cet égard, NuBus est plus évolué que plusieurs bus PC contemporains comme ISA.

Slot Manager

Mac OS utilise notamment le :

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 :

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 :

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 :

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 :

de Lisp Machines Inc.

Ces systèmes sont principalement destinés :

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 :

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 :

est développée afin d'augmenter les performances.

Elle vise notamment une fréquence plus élevée, généralement :

contre :

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 :

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 :

Inconvénients

NuBus possède néanmoins plusieurs limites :

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.



Dernière mise à jour: Vendredi, le 31 janvier 2020