Section courante

A propos

Section administrative du site

Introduction

Le micro-ordinateur A3000 a été lancé en mai 1989, juste avant la gamme A4x0/1. Il a été conçu pour être un ordinateur bon marché avec une extension limitée et un clavier et un système combinés. Il avait un ARM2, RISCOS 2.00 et le MEMC1a. Une fois de plus, Acorn a omis le port RS232 pour économiser de l'argent et l'extension est limitée à un seul mini-podule et un seul podule externe. Il n'y a pas d'option de disque dur, sauf sur un module de contrôleur externe SCSI ou IDE. L'A3000 était le dernier "micro-ordinateur BBC" avec un logo BBC sur le clavier.

Fiche technique

Voici les caractéristiques du «A3000» de «Acorn» :

Spécification Description
Fabricant Acorn
Modèle A3000
Date de fabrication 1989
Microprocesseur ARM2 VL2333-QC ou ARM VL86C010-10QC cadencé à 8MHz
Contrôleur de mémoire MEMC1a
Mémoire 1 Mo extensible à 2 Mo, vitesse d'horloge à 8 MHz
Contrôleur vidéo VIDC1a
Contrôleur d'entrée/sortie IOC (VL2311-QCou VL86C410-10QC)
Unité de disquette Citizen OSDC-65C
Podule 0 Port utilisateur AKA12, mise à jour MIDI
Econet Module Econet 0259,200
Système d'exploitation RISC OS 2 à RISC OS 3.11

Architecture

L'ordinateur A3000 est construit autour de l'ensemble de puces ARM, comprenant le Acorn Risc Machine (ARM) elle-même, le contrôleur de mémoire MEMC (Memory Controller), le contrôleur vidéo VIDC (Video Controller) et le contrôleur d'entrée-sortie IOC (Input Output Controller). Un schéma fonctionnel de l'A3000 est présenté ci-dessous :

L'ARM IC est un microprocesseur à ensemble d'instructions réduit de 32 bits en pipeline acceptant les instructions et manipule les données via un bus de données 32 bits haute vitesse et un bus d'adresses 26 bits, offrant un espace d'adressage uniforme de 64 Mo. L'ARM prend en charge les systèmes de mémoire virtuelle en utilisant un ensemble d'instructions simple mais puissant avec une bonne prise en charge du compilateur de langage de haut niveau.

Le MEMC agit comme l'interface entre l'ARM, les contrôleurs vidéo et les entrées/sorties, la mémoire morte (ROM) et les périphériques de mémoire dynamique (DRAM), fournissant tous les signaux de synchronisation critiques du système, y compris les horloges du microprocesseur. De 1 à 2 Mo de DRAM sont connectés au MEMC fournissant tous les signaux et les opérations de rafraîchissement. Un convertisseur logique vers physique cartographie la mémoire physique dans un espace d'adressage logique de 32 Mo (avec trois niveaux de protection) permettant la mise en oeuvre des opérations de mémoire virtuelle et de multitâche. Les accès DRAM en mode page rapide sont utilisés pour maximiser la bande passante mémoire. Le VIDC demande des données à la RAM lorsque cela est nécessaire et les met en mémoire tampon dans l'une des trois FIFO avant de les utiliser. Les données sont demandées par blocs de quatre mots de 32 bits, ce qui permet une utilisation efficace de la DRAM en mode paginé sans verrouiller le bus de données système pendant de longues périodes. Le MEMC prend en charge les opérations d'accès direct à la mémoire (DMA) avec un ensemble de générateurs d'adresses DMA programmables fournissant une mémoire tampon circulaire pour les données vidéo, une mémoire tampon linéaire pour les données de curseur et une double mémoire tampon pour les données sonores.

Le contrôleur d'entrée-sortie (IOC) contrôle le bus d'entrée/sortie et les cartes d'extension et fournit des fonctions de base telles que l'interface clavier, les temporisateurs système, les masques d'interruption et les registres de contrôle. Il prend en charge un certain nombre de cycles périphériques différents et tous les accès entrées/sorties sont cartographiés en mémoire.

Le VIDC prend les données vidéo de la mémoire sous contrôle DMA, les sérialise et les transmet à une palette de recherche de couleurs, puis les convertit en signaux analogiques pour piloter les canons CRT. Le VIDC contrôle également tous les paramètres de synchronisation d'affichage et contrôle la position et le motif du sprite du curseur. De plus, il intègre un convertisseur numérique-analogique (DAC) exponentiel et une table d'images stéréo pour la génération d'un son de haute qualité à partir des données de la DRAM. Le VIDC est un appareil hautement programmable, offrant un très large choix de formats d'affichage. La palette de recherche de couleurs pilotant les trois DAC sur puce a une largeur de 13 bits, offrant un choix de 4096 couleurs ou une source vidéo externe. Le sprite du curseur mesure 32 pixels de large et n'importe quel nombre de rasters de haut. Trois couleurs simultanées (à nouveau parmi un choix de 4096) sont prises en charge et n'importe quel pixel peut être défini comme transparent, ce qui rend possibles les curseurs de nombreuses formes. Il peut être placé n'importe où sur l'écran.

Le système audio mis en oeuvre sur l'appareil peut prendre en charge jusqu'à 8 canaux, chacun avec une position stéréo distincte.

Le système d'entrée/sortie

Le système d'entrée/sortie est contrôlé par le contrôleur d'entrée/sortie (IOC) et le contrôleur de mémoire (MEMC). Le bus d'entrée/sortie prend en charge tous les périphériques internes et les cartes d'extension. Pour s'assurer que n'importe quel périphérique peut être branché dans n'importe quel emplacement, tous les codes de pilote pour les cartes d'extension doivent pouvoir être déplacés. Les références aux adresses des cartes d'extension directe ne doivent jamais être utilisées. Il appartient au système d'exploitation de la machine, conjointement avec l'ID de la carte d'extension, de déterminer l'adresse à laquelle une carte d'extension doit être accessible.

Architecture du système

Le système d'entrée/sortie (comprenant des cartes d'extension) se compose d'un bus de données 16 bits (BD[0:15]), d'un bus d'adresses tamponnées (LA[2:21]) et de divers signaux de contrôle et de synchronisation. Le bus de données d'entrée/sortie est indépendant du bus de données système principal à 32 bits, en étant séparé par des verrous et des tampons bidirectionnels. De cette façon, le bus de données d'entrée/sortie peut fonctionner à des vitesses beaucoup plus lentes que le bus système principal pour prendre en charge les périphériques plus lents. Les verrous entre les deux bus, et donc la synchronisation du bus d'entrée/sortie, sont contrôlés par IOC. Le IOC prend en charge 4 vitesses de cycle différentes (lente, moyenne, rapide et synchronisé).

Carte mémoire système

La carte de la mémoire système est définie par le MEMC a la composition suivante :

Adresse hexadécimal Lecture Écriture
3800000 à 3FFFFFF ROM (haut) Conversion d'adresse logique à physique
3600000 à 3800000 ROM (bas) Générateur d'adresse DMA
3400000 à 3600000 Contrôleur vidéo
3000000 à 3400000 Contrôleur d'entrée/sortie
2000000 à 3000000 Cartographie physique de la RAM
0000000 à 2000000 Cartographie logique de la RAM

Notez que tous les composants du système, y compris les périphériques d'entrée/sortie, sont cartographiés en mémoire.

Carte mémoire de l'espace d'entrée/sortie

Cet espace contrôlé par IOC a une allocation pour les cartes d'extension simples et les cartes d'extension MEMC.

Cartographie du bus de données

Le bus de données d'entrée/sortie a une largeur de 16 bits (8 bits pour l'interface de carte d'extension interne). Les accès bytewide sont utilisés pour les périphériques 8 bits. Le bus de données d'entrée/sortie (BD[0:15]) se connecte au bus de données système principal (D[0:31]) via un ensemble de verrous de données bidirectionnels.

Accès aux octets

Pour accéder aux cartes d'extension à l'échelle de l'octet, des instructions d'octet sont utilisées. Une instruction d'entreposage d'octet placera l'octet écrit sur les quatre octets du mot, et placera donc correctement la valeur souhaitée sur l'octet le plus bas du bus d'entrée/sortie. Un chargement d'octet ou de mot peut être utilisé pour lire une carte d'extension à l'échelle de l'octet dans l'octet le plus bas d'un registre ARM.

Accès à demi-mot

Pour accéder à une carte d'extension de 16 bits, des instructions à demi-mot sont utilisées. Lors de la mémorisation, le demi-mot est placé sur les 16 bits supérieurs, D[16:31]. Pour maintenir une compatibilité ascendante avec les futures machines, les mémoires de demi-mots reproduisent les données écrites sur le demi-mot inférieur, D[0:15]. Lors de la lecture, les 16 bits supérieurs sont indéfinis.

Identification de la carte d'extension

Il est important que le système puisse identifier quelles cartes d'extension (le cas échéant) sont présentes et où elles se trouvent. Cela se fait en lisant le ou les octets d'identification (PI) du podule (carte d'extension) dans le champ d'identification du podule.

Cartographie de la mémoire des adresses d'entrée/sortie

Tous les accès d'entrée/sortie sont cartographiés en mémoire. Le IOC est connecté comme détaillé dans ce tableau :

IOC ARM
CS LA[21]
T[1] LA[20]
T[0] LA[19]
B(2] LA[18]
B[1] LA[17]
B[0] LA[16]

Carte de la mémoire du registre interne

Adresse Lecture Écriture
3200000H Contrôle Contrôle
3200004H Données série Rx Données série Tx
3200008H - -
320000CH - -
3200010H État A du IRQ -
3200014H Requête A du IRQ Efface le IRQ
3200018H Masque A du IRQ Masque A du IRQ
320001CH - -
3200020H État B du IRQ -
3200024H Requête B du IRQ -
3200028H Masque B du IRQ Masque B du IRQ
320002CH - -
3200030H État du FIQ -
3200034H Requête FIQ -
3200038H Masque FIQ Masque FIQ
320003CH - -
3200040H Compte T0 Faible Loquet T0 Bas
3200044H Compte T0 Élevé Loquet T0 Haut
3200048H - Aller à la commande T0
320004CH - Commande de locket T0
3200050H Compte T1 Bas Loquet T1 Bas
3200054H Compte T1 Haut Loquet T1 Haut
3200058H - Aller à la commande T1
320005CH - Commande de loquet T1
3200060H Compte T2 Bas Loquet T2 Bas
3200064H Compte T2 Haut Loquet T2 Haut
3200068H - Aller à la commande T2
320006CH - Commande de loquet T2
3200070H Compteur de T3 bas Loquet T3 Bas
3200074H Compte T3 haut Loquet T3 haut
3200078H - Aller à la commande T3
320007CH - Commande de loquet T3

Adresse de périphérique

Type de cycle Bk Adresse de base CI Utiliser
Rapide 1 &3310000 1772 Contrôleur d'unité de disquette
Synchronisé 2 &33A0000 6854 Contrôleur Econet
Synchronisé 3 &3380000 6551 Contrôleur de ligne série
Moyen 5 &32D0000 HD63463 Disque dur
Moyen 5 &32D0020 HD63463 Disque dur
Moyen 5 &32D0008 HD63463 Disque dur
Moyen 5 &32D0028 HD63463 Disque dur
Rapide 5 &3350010 HC374 Données d'imprimante
Rapide 5 &3350018 HC574 Loquet B
Rapide 5 &3350040 HC574 Loquet A
Rapide 6 - - Réservé
Lent 4 &3244000 Podule Expansion interne
Moyen 4 &32C4000 Podule Expansion interne
Rapide 4 &3344000 Podule Expansion interne
Synchronisé 4 &33C4000 Podule Expansion interne
Lent 4 &3240000 Podule Expansion externe
Moyen 4 &32C0000 Podule Expansion externe
Rapide 4 &3340000 Podule Expansion externe
Synchronisé   &33C0000 Podule Expansion externe
Lent 7 &3270000 Podule Expansion externe étendue


Dernière mise à jour : Dimanche, le 30 Mai 2021