Chapitre 5
L'évolution de l'architecture (1960-1970)
L'avènement des transistors et des circuits intégrés a non seulement permis de construire des ordinateurs plus rapides et plus fiables, mais a également profondément influencé leur architecture interne. La décennie 1960-1970 voit l’émergence de nouveaux concepts architecturaux s’éloignant des modèles monolithiques des premiers mainframes, ouvrant la voie à des systèmes plus modulaires, plus flexibles et adaptés à un plus large éventail d’applications.
5.1 L'émergence des mini-ordinateurs et des nouvelles architectures
Comme mentionné dans le chapitre précédent, l'un des développements les plus significatifs de cette période a été l'essor des mini-ordinateurs . Ces systèmes, tels que le DEC PDP-8 (introduit en 1965) et le HP 2100 (introduit en 1966), différaient des grands ordinateurs centraux par plusieurs caractéristiques architecturales :
- Longueur des mots : Les mini-ordinateurs utilisaient souvent des longueurs de mots plus courtes que les ordinateurs centraux (par exemple, 12 ou 16 bits contre 36 ou 60 bits sur les ordinateurs centraux). Ce compromis a réduit la complexité et le coût du matériel tout en fournissant une puissance de calcul importante pour de nombreuses applications.
- Taille de la mémoire : La quantité de mémoire principale adressable des mini-ordinateurs était généralement plus petite que celle des ordinateurs centraux, mais toujours suffisante pour de nombreuses applications scientifiques, de contrôle de processus et de traitement de données de taille moyenne.
- Jeux d'instructions : Les jeux d'instructions des mini-ordinateurs étaient souvent plus simples et plus compacts que ceux des ordinateurs centraux, se concentrant sur les opérations les plus fréquemment utilisées.
- Architecture plus modulaire : Les mini-ordinateurs étaient souvent conçus avec une architecture plus modulaire, ce qui permettait au système d'être configuré avec différentes quantités de mémoire, de périphériques et d'interfaces en fonction des besoins spécifiques de l'utilisateur.
- Un plus grand accent sur l'interactivité : Contrairement aux ordinateurs centraux, qui fonctionnaient souvent en mode batch, les mini-ordinateurs ont commencé à prendre en charge des modes d'interaction plus directs avec l'utilisateur, ouvrant la voie aux systèmes de partage de temps et aux applications interactives.
L'architecture du DEC PDP-8, par exemple, était considérablement plus simple que celle des grands mainframes IBM de l'époque. Il utilisait un seul bus (Omnibus) pour interconnecter le processeur, la mémoire et les périphériques, simplifiant ainsi la conception et la maintenance du système. Cette architecture plus épurée a contribué au succès du PDP-8 et à sa diffusion dans de nombreux laboratoires et universités.
5.2 Concepts de mémoire plus avancés
L'évolution de l'architecture informatique au cours de cette période était étroitement liée aux progrès des technologies de mémoire. la mémoire à noyau de ferrite est devenue la technologie dominante de mémoire principale (RAM) en raison de sa fiabilité, de sa vitesse d'accès relativement rapide (par rapport aux tambours magnétiques) et de sa non-volatilité (données conservées même en l'absence d'alimentation électrique).
L'organisation de la mémoire à noyau de ferrite était généralement tridimensionnelle, avec les noyaux disposés sur une grille traversée par des fils de sélection et de lecture/écriture.
L'adressage de la mémoire se faisait en sélectionnant les lignes de fil appropriées pour magnétiser ou lire l'état d'un noyau particulier. La capacité de la mémoire principale des mini-ordinateurs a considérablement augmenté au cours des années 1960, passant de quelques kilo-octets à des dizaines de kilo-octets.
De plus, les premiers concepts de hiérarchie de la mémoire ont commencé à apparaître au cours de cette période. L'idée était d'utiliser différents types de mémoire avec différentes caractéristiques de vitesse et de coût pour optimiser les performances du système. Par exemple, certains systèmes peuvent inclure une petite quantité de mémoire très rapide (bien que coûteuse), utilisée comme une sorte de « cache » pour les données et les instructions les plus fréquemment utilisées, en combinaison avec une plus grande quantité de mémoire principale, plus lente et moins chère. Cette première forme de hiérarchie de mémoire anticipait les systèmes de mise en cache sophistiqués qui allaient devenir une caractéristique fondamentale des architectures informatiques modernes.
5.3 Introduction de l'interruption
Une innovation architecturale clé introduite au cours de cette période était le mécanisme d'interruption . Dans les premiers ordinateurs, le processeur devait constamment interroger les périphériques d'entrée/sortie pour voir s'ils avaient besoin d'attention (par exemple, si un périphérique d'entrée avait de nouvelles données prêtes ou si un périphérique de sortie avait terminé une opération). Cette approche s'est avérée inefficace, car le processeur gaspillait de précieux cycles d'horloge en attente d'événements.
L'introduction d'interruptions a permis aux périphériques externes de signaler le besoin d'attention directement au processeur.
Lorsqu'un périphérique générait une interruption, le processeur suspendait temporairement l'exécution du programme en cours, enregistrait son état (par exemple, le contenu des registres et l'adresse de la prochaine instruction à exécuter) et exécutait ensuite une routine de gestion d'interruption spéciale associée à ce périphérique. Une fois le traitement de l'interruption terminé, la CPU rétablissait l'état du programme interrompu et reprenait son exécution à partir du point où il avait été interrompu.
L'introduction d'interruptions a considérablement amélioré l'efficacité des systèmes informatiques, permettant au processeur de passer plus de temps à exécuter des programmes et de répondre plus rapidement aux événements externes. Ce mécanisme était crucial pour le développement de systèmes d'exploitation plus sophistiqués et pour prendre en charge des interactions plus dynamiques avec les utilisateurs et le monde extérieur.
5.4 Introduction du DMA (accès direct à la mémoire)
Une autre évolution architecturale importante a été l'introduction du DMA (Direct Memory Access) . Initialement, tous les transferts de données entre les périphériques d'entrée/sortie et la mémoire principale devaient passer par le processeur. Cette approche pourrait surcharger le processeur, en particulier pour les transferts de données volumineux, tels que la lecture ou l'écriture sur un disque ou une bande magnétique.
DMA a introduit un mécanisme qui permettait à certains périphériques d'accéder directement à la mémoire principale pour transférer des données, sans l'intervention continue du CPU. Un contrôleur DMA était chargé de gérer le transfert de données, libérant ainsi le CPU pour effectuer d'autres opérations.
Une fois le transfert terminé, le contrôleur DMA pouvait générer une interruption pour informer le CPU que les données étaient prêtes en mémoire ou que l'écriture était terminée.
L'introduction du DMA a considérablement amélioré les performances du système, en particulier pour les opérations d'entrée/sortie à grande vitesse, permettant de transférer plus efficacement de grandes quantités de données et de libérer le processeur pour d'autres tâches de traitement.
5.5 Architecture 16 bits et au-delà
Comme mentionné précédemment, les mini-ordinateurs ont souvent adopté des architectures avec des longueurs de mots plus courtes que les ordinateurs centraux. Cependant, au cours des années 1960, on a constaté une tendance vers des mots plus longs. L'introduction des architectures 16 bits dans les mini-ordinateurs, comme le DEC PDP-11 (introduit en 1970), a représenté un pas en avant significatif. Une longueur de mot plus longue a permis d'adresser davantage de mémoire et de manipuler des données plus volumineuses en une seule opération, améliorant ainsi les performances globales du système et ouvrant la voie à des logiciels plus complexes.
Dans le même temps, le monde des ordinateurs centraux a également continué à évoluer vers des architectures avec des mots de plus grande longueur, comme les systèmes IBM System/360 qui utilisaient des mots de 32 bits (et également des formats de 64 bits pour les nombres à virgule flottante), offrant une plus grande puissance de calcul et une plus grande capacité d'adressage.
5.6 L'influence des langages de programmation sur l'architecture
Il est important de noter que l'évolution de l'architecture informatique ne s'est pas produite de manière isolée, mais a souvent été influencée par les besoins des langages de programmation de haut niveau qui émergeaient. Des langages tels que FORTRAN et COBOL, avec leurs exigences spécifiques en matière de manipulation de nombres, de tableaux, de chaînes et de structures de données, ont poussé les concepteurs architecturaux à inclure des jeux d'instructions et des mécanismes de gestion de mémoire capables de prendre en charge efficacement de telles opérations. Cette interaction entre les besoins du logiciel et les capacités du matériel a été un moteur fondamental de l’évolution de l’informatique.
La décennie 1960-1970 a été une période cruciale dans l’évolution de l’architecture informatique. L'émergence de mini-ordinateurs avec leurs architectures plus modulaires et interactives, l'introduction de concepts de mémoire plus avancés tels que la hiérarchie de la mémoire et la mise en œuvre de mécanismes fondamentaux tels que les interruptions et le DMA ont représenté des étapes significatives vers des systèmes informatiques plus puissants, flexibles et efficaces. La tendance vers des mots plus longs et l’influence croissante des langages de programmation sur l’architecture ont ouvert la voie aux innovations qui caractériseraient les décennies suivantes, culminant avec les révolutions des microprocesseurs et des ordinateurs personnels.