s
19 708 Pages

L 'jeu de puces d'origine (OCS) La première génération est de la chipset utilisé pour plate-forme informatique Amiga.

utilisé par 1985 un 1991, Amiga OCS met en œuvre, entre autres, les capacités graphiques et du son qui, en particulier dans les premières années, ils ont été extraordinaires en ce qui concerne deux des classes de ordinateur de sorte que le OCS a été utilisé, l 'ordinateur à la maison et ordinateur personnel.

L'OCS a été évincé de la première 'ECS, une légère amélioration, puis par 'AGA, une amélioration substantielle.

Nom de naissance

OCS est une abréviation de 'Anglais "Set original Chip", en italien "Chipset original". Le fait de dénomination OCS n'est pas affecté immédiatement, mais après la commercialisation de nouvelles générations de chipsets pour la plate-forme Amiga.

produits commerciaux

L'OCS a été utilisé dans de nombreux produits commerciaux, un ordinateur à la maison, les ordinateurs personnels et cinq postes de travail. En particulier, il a été utilisé pour les ordinateurs suivants:
(Ordinateur Accueil :)

  • Amiga 500

(Ordinateur personnel :)

  • Amiga 1000
  • Amiga 2000
  • Amiga 2000HD
  • Amiga 2500
  • Amiga 2500/30
  • Amiga 1500

(Station de travail :)

  • Amiga 2500UX

Vue d'ensemble de puces

L'OCS se compose principalement des trois suivants puce coutume:

  • Agnus/Fat Agnus;
  • Denise;
  • Paula.

L'OCS, ainsi que le 'ECS, Il a été produit en logique NMOS de Groupe Commodore Semiconductor, fabricant de temps à puce filiale de Commodore international. Pour Agnus, Denise et Paula a utilisé un paquet DIP à 48 pieds, tandis qu'un paquet pour Fat Agnus PLCC à 84 contacts.

Agnus est le projet central de la puce. Il contrôle l'accès à la RAM Chip, si elles sont effectuées par microprocesseur si elles sont effectuées par d'autres puces personnalisées, en utilisant un système complexe de priorités. Les Agnus peuvent adresser jusqu'à 512 Kio RAM Chip, tandis que Fat Agnus peut adresser jusqu'à 512 Kio, 1 MiB, ou 2 Mo de RAM Chip selon les versions. Les versions de Fat Agnus peuvent adresser jusqu'à 1 ou 2 Mo de RAM Chp ont été officieusement appelé aussi "super Agnus", "Super Fat Agnus'," Fatter Agnus "" Big Agnus "" Big Fat Agnus "" super Fat Agnus ». Agnus contient en elle la blitter et le cuivre.

Denise est le coprocesseur vidéo. Sans overscan, l'écran graphique Amiga est large 320 ou 640 pixel et élevé 200 (NTSC) Ou 256 (PAL) Pixels. Denise soutient également entrecroisement, qui double la résolution verticale. Denise utilise des graphiques bitmap planes, qui divise l'individu bits par pixel dans les zones de mémoire séparées, appelées plan de bits (plans de bits). En fonctionnement normal, Denise supporte plan de bits 1 à 5, ou de 2 à 32 couleurs uniques, choisi parmi une palette de couleurs 4,096. Il y a aussi deux modes spéciaux vidéo, réalisée grâce à un sixième plan de bits: l 'EHB et l 'HAM. Denise soutient également huit sprites, mode de défilement et « double zone de jeu ». Enfin, gère les entrées de la souris et la manche à balai Numérique.

Paula est principalement la puce sonore, avec 4 canaux matériels indépendants PCM à 8 bits, dont chacun supporte 65 niveaux de volumes et une fréquence d'échantillonnage comprise entre environ 20 Hz et 29 kHz. Paula gère également interruptions et diverses fonctions d'E / S, y compris la lecteur de disquettes, le port série et la joystick analogique.

Agnus

La puce Agnus coordonne le fonctionnement de l'ensemble du jeu de puces. Toutes les opérations sont synchronisées avec la brosse vidéo, y compris l'accès à la RAM de chipset dédié, appelé à ce puce RAM. Le microprocesseur central 68000 et d'autres membres des chipsets en lice pour l'accès à la RAM via Agnus. En ce qui concerne les ordinateurs, l'architecture parler l'accès direct à la mémoire (En anglais: Adresse mémoire directe, DMA) et Agnus est le contrôleur DMA (DMAC).

Agnus gère 25 canaux DMA pour le chipset avec une politique complexe en fonction des priorités. Du fait que le processeur accède à 68.000 normalement mémoire tous les deux cycles d'horloge de la RAM, Agnus effectue de préférence les accès de la puce seulement pendant les cycles impairs, laissant ceux égale à la CPU, qui de cette manière est pas ralentie. Mais cette coexistence pacifique est en danger au moment de choisir le mode vidéo avec plus de 4 plan de bits à faible résolution (ou 2 plan de bits en haute résolution): dans ces cas Agnus commence à accéder aussi la RAM dans le même, en ralentissant les cycles de CPU. même la blitter, si elle est activée, il peut soustraire les cycles de CPU, surtout si vous réglez le bit « Blitter Nasty »: dans ce cas Agnus peut nier égale à la CPU à chaque cycle, le cas échéant par le blitter.

Les horaires de Agnus sont mesurés en « horloge de couleur » 280 ns, équivalent à deux pixels de basse résolution (140ns) et quatre pixels à haute résolution (70ns). Quant à Denise, ces horaires ont été conçus pour les écrans de télévision domestique, et peuvent être synchronisés à une source d'horloge externe.

blitter

la blitter Il est une sous-composante de Agnus. « Blit » est l'abréviation de « transfert d'image de bloc » (transfert d'images à des blocs) ou bit blit. Le blitter est une des unités de parallélisme élevées capables d'effectuer le transfert de blocs de mémoire et des opérations logiques. Il dispose de trois modes: une copie des blocs de mémoire, des remplissages de polygones et de dessin au trait.

Le blitter permet la copie rapide de mémoire vidéo, libérant ainsi le CPU pour d'autres tâches. Le blitter a été principalement utilisé pour dessiner des images graphiques sur l'écran appelé « bob » et « abréviation de l'objet blitter ».

Dans le mode de copie l'blitter prend de zéro à trois sources en mémoire, appelée A, B et C, et effectue sur eux un programmable de fonction booléenne. Le résultat est (peut-être) écrit dans une zone de destination, D. Ces zones peuvent se chevaucher, et tous les blocs doivent être alignés à 16 bits. Le blitter peut fonctionner sur les blocs est du début à la fin, dans un mode appelé « ascendant », est au contraire, en mode descendant.

Les blocs sont « rectangulaire »; Ils ont une largeur multiple de 16 bits, une hauteur mesurée en lignes, et une étape, ou l'écart entre l'extrémité d'une ligne et la suivante. Cela permet au blitter de fonctionner dans une résolution vidéo. Lorsque la copie est effectuée automatiquement une opération logique sur des pixels individuels, qui est décrit par minterms. Les opérations typiques sont la copie (D = A), ou l'application d'un masque de pixel autour des objets blittati (D = A et C). La copie peut également glisser (shiftare) Chaque ligne de jusqu'à 15 pixels, ce qui permettrait à l'blitter dessiner coordonnées horizontales qui ne sont pas nécessairement un multiple de 16 pixels.

Dans le mode de suivi de lignes, l'blitter dessine des lignes d'épaisseur d'un pixel en utilisant le 'algorithme Bresenham. Il peut également être appliqué à une ligne de modèle 16 bits. Dans le mode de remplissage, l'blitter fonctionne pour les lignes horizontales, le remplissage des intervalles horizontaux comprises entre deux pixels lumineux. Pour chaque ligne, chacun à son tour lit chaque pixel de gauche à droite; lors de la lecture d'un pixel à un, il commence à remplir tous les bits qui suivent jusqu'à ce que le bit suivant l'une quelconque ou à la fin de la ligne. Ensemble, ces modes permettent le blitter de dessiner des polygones d'une seule couleur, bien que très lentement par comparaison avec chipset graphique 3D moderne ou même avec la même CPU d'un Amiga accéléré.

cuivre

Le cuivre est un autre sous-élément de Agnus. Le nom est une abréviation de « co-processeur ». Le cuivre est un machine à états finis Programmable en cours d'exécution d'un flux d'instructions synchronisé sur le matériel vidéo.

En cas de fonctionnement, le cuivre a trois états: une lecture de l'instruction en cours d'exécution, ou en attente de la brosse vidéo atteint une position spécifique sur l'écran. Le cuivre exécute un programme (appelé Liste de cuivre) En parallèle avec l'unité centrale principale, synchronisé avec la vidéo et la brosse peut être utilisé pour effectuer diverses opérations nécessitant une synchronisation avec la vidéo. Le plus souvent il est utilisé pour contrôler la sortie vidéo, mais peut écrire à un registre du chipset et peut ainsi également contrôler l'audio ou d'envoyer une interruption à la CPU.

La liste de cuivre a trois types d'instructions, dont chacune est composée d'une paire de mots de 16 bits, pour un total de quatre octets.

  • L'instruction MOVE écrit un mot de 16 bits dans l'un des registres du chipset.
  • L'instruction WAIT arrête le cuivre jusqu'à ce qu'il atteigne une vidéo de position donnée, permettant de synchroniser avec d'autres instructions sur le suivi de l'écran. Il peut aussi attendre que le blitter pour terminer une tâche.
  • L'instruction SKIP provoquera le cuivre saute l'instruction suivante si elle a déjà été réalisé sur la position de la brosse vidéo. Il peut être utilisé pour créer des boucles dans la liste de cuivre.

La longueur d'une liste de cuivre est limitée par le temps d'exécution. Le cuivre redémarrer l'exécution de la liste de cuivre au début de chaque trame vidéo. Il n'y a aucune instruction explicite « fin », à sa place l'instruction d'attente est utilisé pour attendre une position vidéo inaccessible.

L'utilisation du cuivre

  • Le cuivre est couramment utilisé pour (re) initialiser les registres du matériel vidéo au début de chaque trame vidéo. Il peut également être utilisé pour changer le matériel vidéo tout en suivant un cadre. Ceci permet à l'Amiga de changer la configuration vidéo, y compris la résolution, d'une ligne. L'Amiga peut afficher plusieurs résolutions différentes horizontales et profondeurs de couleur sur le même écran. L'interface graphique de 'AmigaOS Il permet à deux programmes de fonctionner avec deux résolutions vidéo différentes, alors que les deux sont visibles simultanément à l'écran. Un programme de conception peut, par exemple, utiliser cette fonction pour permettre aux utilisateurs de dessiner directement sur un écran Tenir et Modifier basse résolution, tout en offrant une barre d'outils en haute résolution en haut ou en bas de l'écran.
  • Le cuivre peut également modifier les registres de couleur pour chaque ligne de balayage, ce qui crée des effets « barres de trame » si commun dans les jeux Amiga. Le cuivre peut faire encore plus, comme changer la couleur de fond assez souvent pour afficher un bloc graphique sans utiliser tous les plan de bits.
  • Le cuivre permet de réutiliser les sprites: Après un sprite est affiché pour la première fois, le cuivre peut passer immédiatement à un nouvel emplacement, faisant de lui aussi tirer à la même ligne de balayage.
  • Le cuivre peut également être utilisé pour programmer et activer le blitter. Ceci est utile pour effectuer des tâches multiples en séquence avec le blitter, comme le cuivre peut être prévu que les termes de blitter et reprogramme une opération peu après pour l'opération suivante.
  • Le cuivre peut être utilisé pour produire le mode vidéo « découpé en tranches HAM», Ou S-HAM[1], qui consiste à construire une liste de cuivre qui modifie la palette de couleurs pour chaque ligne de balayage, en améliorant le choix des couleurs de base en mode graphique Tenir et Modifier.

Denise

Denise génère la synchronisation vidéo, mais elle peut également être synchronisé sur un signal vidéo externe. Denise est programmé pour récupérer des données à partir d'un certain nombre de Bitplane (plans de bits) et de les traduire en indices à une palette de couleurs. Le nombre de plan de bits est sélectionnable entre 1 et 5, de sorte que si vous ne avez pas besoin de 32 couleurs, si elle ne peut utiliser que 2, 4, 8 ou 16. Le nombre de plan de bits (et la résolution) peut être modifiée à la volée, pour par exemple du cuivre. Ceci permet une utilisation très économique de RAM.

Il y a aussi un sixième plan de bits, qui peut être utilisé dans trois modes graphiques spéciaux:

  • en Extra-chemin Halfbrite (EHB), les pixels continuer à avoir la couleur de la palette spécifiée par plan de bits 1 à 5, mais si le bit correspondant dans le sixième plan de bits est égal à 1, la luminosité de couleur est divisé par deux. Les premières versions de 'Amiga 1000 vendus aux États-Unis n'étaient pas la voie extra-HalfBrite[2].
  • Ce Tenez-et-Modifier (HAM), les 6 bits de chaque pixel sont interprétées comme 2 bits de commande et de 4 données. Les quatre valeurs possibles des bits de contrôle correspondent à « prendre de la palette », « changer le rouge », « changement vert » et « changer le bleu ».
    • Par « prendre de palette », la couleur du pixel est repris avec précision à partir de la palette, avec les autres indicizzandola 4 bits.
    • Avec l'un des cependant « modifier », les quatre bits indiquent explicitement quelle valeur doit assumer la composante rouge, vert ou bleu pour ce pixel; les deux autres restent les mêmes que celles du pixel précédent. Cela vous permet de visualiser toutes les 4096 couleurs sur l'écran en même temps.
  • Ce double Playfield, au lieu d'avoir un seul écran, vous disposez de deux écrans superposés ( « playfield ») de 8 couleurs chacun. Les deux écrans peuvent être faites à coulisser indépendamment et la couleur de fond de l'écran supérieur ne sont pas visibles, mais laisse l'écran inférieur de briller à travers.

Il y a deux résolutions graphiques horizontales: basse résolution (lowres), Avec des pixels de 140 ns et la haute résolution (embauche), Avec des pixels de 70 ns. Celles-ci correspondent respectivement à des écrans de 320 et 640 pixels de large, en utilisant aucun surbalayage. Denise soutient très grande overscan, il est pas nécessaire d'avoir une bordure autour de l'image comme cela a été le cas dans d'autres systèmes. La résolution verticale, sans débordement, est de 200 pixels pour un Amiga NTSC à 60 Hz et 256 pixels pour un PAL Amiga à 50 Hz. La résolution verticale peut être doublée par enlacement.

Denise peut également afficher 8 sur les graphiques de sprites et de détecter les collisions entre les sprites et le fond ou entre les sprites eux-mêmes. Ces sprites ont 3 couleurs visibles et transparente, mais il est possible de relier deux sprites pour obtenir une image-objet unique à partir de 15 couleurs.

La sortie vidéo RGB numérique Denise est de 12 bits. La conversion RVB analogique est effectuée par un convertisseur numérique-analogique nommé Vidiot. Sull 'Amiga 2000, Sortie numérique RVB est disponible dans une machine à sous vidéo spéciale.

timings vidéo externes

Normalement, l'Amiga génère sa synchronisation autonome, mais le jeu de puces est capable de se synchroniser sur un signal externe, de manière à être en mesure de faire un genlock avec un dispositif vidéo externe. Grâce à l'un des signaux de sortie sur le connecteur vidéo, Denise est également en mesure d'indiquer si la sortie couleur actuelle est d'arrière-plan ou moins, ce qui simplifie considérablement la construction du matériel pour superposer le signal vidéo Amiga à un signal externe. Cela a rendu l'Amiga particulièrement intéressant lorsqu'il est utilisé comme générateur de caractères pour les émissions de titrages vidéo et de télévision, en épargnant l'utilisation d'unités de rouleau coûteux AB chroma. Le soutien de overscan, et entrelaçant genlock, couplé avec le fait que les horaires de l'écran étaient très proches de la norme de transmission vidéo (NTSC ou PAL), la référence en ordinateur Amiga pour les applications vidéo à faible coût. De nombreux studios de télévision ont utilisé pour capturer la vidéo (ou un cadre accaparement), et des nouvelles sous-titrages vidéo interactive.

Paula

jeu de puces d'origine
Chip Paula R4 utilisé dans 8364 'Amiga 1000

La puce Paula est principalement utilisé pour produire des signaux audio. La puce fournit quatre canaux audio PCM 8-bit DMA. Deux des canaux sonores sont mélangés dans le canal audio gauche, les deux autres à droite. Le format pris en charge est linéaire pour les échantillons en 8 bits complément à deux. Chaque canal audio a le volume et la fréquence d'échantillonnage indépendant. En interne, cela est mis en œuvre quatre machines d'état du matériel audio, chacun avec huit états.

Vous pouvez également utiliser l'un des canaux de chaque paire pour moduler la période ou l'amplitude de l'autre. Cette fonctionnalité a été rarement utilisé nell'Amiga, mais pourrait être utilisé pour simuler les effets trémolo et vibrait.

Avec quelques astuces de programmation, il est possible de reproduire audio 14 bits, combinant deux canaux dont les volumes ont été correctement configuré. Il est ainsi possible d'obtenir deux canaux de 14 bits au lieu de 4 canaux et 8 bits.

Dans un écran normal, NTSC ou PAL, la lecture audio est limitée à une fréquence maximale de 28867 Hz échantillonnage, en raison de la quantité de données qui peuvent être lues à partir de la mémoire avec le temps réservé à Paula. Comme expliqué dans la section consacrée à Agnus, les accès mémoire sont prioritaires et seulement quelques-uns des emplacements pour les accès mémoire sont disponibles pour les canaux audio Paula. Cette limite peut être dépassée dans 'Chip Set amélioré en utilisant un mode vidéo avec une fréquence plus élevée, ou directement à l'aide de la CPU pour commander la sortie audio.

L'Amiga contient un filtre passe-bas analogique (filtre de reconstruction) externe Paula. Il est un filtre passe-bas Butterworth 12 dB / octave avec une fréquence de coupure d'environ 3,3 KHz. Le filtre ne peut être appliqué globalement à quatre canaux. Dans les modèles plus tard l'Amiga 1000, la luminosité de l'alimentation LED a été utilisé pour indiquer l'état du filtre. Le filtre est actif lorsque la LED est allumée normalement; Il est désactivé lorsque la LED allume faiblement (dans les premiers modèles Amiga 500 la LED est complètement éteint). Les modèles précédents l'Amiga 1200 ont également un filtre passe-bas statique constamment activé, quel que soit le dell'opzionale d'état filtre « LED ». Ce filtre est un passe-bas de 6 dB / octave avec une fréquence de coupure à 4,5 kHz ou 5 kHz.

Contrôleur de disquette

Le contrôleur de disquette est particulièrement polyvalent. Vous pouvez lire et écrire des données à l'aide codages MFM ou RME, dans tout format, par l'intermédiaire d'E / S programmé ou DMA. Il prend également en charge certaines fonctionnalités pratiques telles que la synchronisation sur mot (dans le codage de MFM, en utilisant généralement 4489 $ en un mot de synchronisation). Le codage et le décodage de MFM sont généralement faites avec le blitter - dans une étape de décodage, en trois étapes pour le codage. Habituellement, les pistes sont entièrement écrits en une seule opération, plutôt que par secteur.

En plus du format natif des disques 3,5 pouces de 880 Kio, le contrôleur peut gérer beaucoup d'autres formats, tels que:

  • IBM PC
  • apple II
  • Mac 800 kB (avec un lecteur Mac)
  • émulateur AMAX Mac (Une disquette spéciale avec seulement 200 Ko, pour échanger des données entre Amiga et Macintosh qui pourrait être mis en forme sur un Amiga et lu et écrit à partir du lecteur de disquette des deux systèmes)
  • Commodore 1541 (Il faut un lecteur de 5,25 pouces ralenti à 280 tr / min)
  • Lecteur de C64 et C128 de 3,5 pouces au format par un Commodore 1581

port série

Le port série est rudimentaire: ne supporte que les E / S programmée et est exempt de tampon FIFO. positif Caractéristique: il est possible de sélectionner pratiquement toute vitesse de transmission, y compris toutes ces normes, l'interface MIDI, et beaucoup d'autres non standard.

curiosité

Agnus Le nom provient de « unités de générateur d'adresses », car il contient tous les registres d'adresses et moniteurs accès à la mémoire des puces personnalisées. à la place Paula prit le nom de la fille du concepteur de puce.

notes

bibliographie

  • Miner, Jay et al (1991). Amiga matériel Manuel de référence: Troisième édition. Addison-Wesley Publishing Company, Inc. ISBN 0-201-56776-8.

Articles connexes

  • Chip Set amélioré
  • Advanced Graphics architecture
  • Avancée Amiga architecture
  • Hombre (chipset)

liens externes