Commodore Amiga Retro PC: Detaljerad analys av dess hårdvara

Commodore Amiga Retro PC

Den mest veteran på platsen kommer att vara mycket förtjust i Amiga de Commodore, en 16-bitars dator som tillhör generationen av andra halvan av 80-talet och början av 90-talet. Det kommer ihåg för sin höga kapacitet för vintage multimedia över resten. Varken IBM -datorn eller Apple Macintosh, eller Atari ST kunde överskugga det.

Commodore Amiga är en av de mest mytiska och ihågkomna plattformarna i datorhistorien och dess hårdvara. Designad av ett team som leds av Jay Miner, som redan hade designat Atari VCS konsol och Atari 8-bitars datorer, Atari 400 och 800, Commodore Amiga var en 16-bitars förbättrad version av deras tidigare mönster. . Det var ett krampaktigt projekt där det först föddes som en spelkonsol för Atari för att senare utvecklas som en dator för sin rival Commodore och gå längs vägen som ett projekt av ett oberoende företag.

Kommodor Amiga

Commodore Amiga lanserades 1985, i form av Amiga 1000, men den dator som många av oss säkert kommer ihåg är Commodore Amiga 500, en lågkostnadsversion av den första modellen som kom ut 1987 med ett reducerat pris och minskad formfaktor. Eftersom den hade all hårdvara integrerad i ett tangentbord som många liknande datorer på den tiden, motsvarade dess slutliga utseende inte den enorma potential som den innehöll inom.

Som en påminnelse om denna mytomspunna dator, men särskilt för dem som inte visste den, har vi bestämt oss för att hylla den.

Commodore Amiga -arkitektur

Arquitectura Amiga

För i HardZone är vi dedikerade till att prata om hårdvara, det är vad vi ska göra när vi pratar om Amiga, för att förstå vad som gjorde den så speciell måste vi prata om dess arkitektur. Vems organisation du kan se i diagrammet ovan är det sant att jämfört med de system som finns idag är det en relativt enkel arkitektur.

Vad var det som gjorde Amiga speciell? Den enorma kraft den hade tack vare vad som så småningom blev kallat Original ChipSet eller OCS. En kombination av tre kvinnliga namnstödprocessorer som heter AGNUS, DENISE och PAULA. När det gäller kärnan CPU detta var allmänt antaget Motorola 68K. När det gäller RAM, Amiga var en NUMA -konfiguration och därför med två olika RAM -minnesbrunnar var dessa följande:

  • RAM -chipet inkluderades som standard i systemet, dess åtkomst gjordes via koprocessorn eller stödchipet AGNUS. Som fungerade som en minneskontroller och tillåter alla komponenter att komma åt denna typ av minne.
  • Snabbt RAM -minne var endast för CPU: n. Ett system kunde fungera utan snabb RAM och det fanns till och med modeller som såldes utan det, så det var möjligt att använda Amiga utan den här typen av minne, men på bekostnad av att förlora mycket prestanda.

Nu ska vi göra en sammanfattning av de olika komponenterna i Commodore Amiga.

CPU: n för Amiga, Motorola 68000

Motorola 68000

Commodore Amigas huvudprocessor var den mytomspunna Motorola 68K, som var en del av en familj av processorer med en egen uppsättning register och instruktioner som användes i många system. Från flera av de 16-bitars datorfamiljerna (Amiga, Atari ST, X68000, Apple Macintosh). I en stor mängd fritidsbrädor från olika företag och i tv-spelskonsoler som Sega Mega Drive eller Neo-Geo från SNK. På en jämförande nivå kan man säga att 68K var på 80 -talet vad ARM är idag, ISA och arkitektur för allt som inte var Intel eller med andra ord datorn.

Det var en CISC-typ CPU som x86, med 32-bitars register, en extern 16-bitars databuss och 24 stift för adressering. Så RAM -gränsen som stöds av systemen var 16 MB. På bruttoeffektnivån var den lite över den ursprungliga 8086 och under 80286 på AT-datorn, så i 16-bitarsgenerationen hade datorn den mest kraftfulla CPU: n. Vilket blev värre av att de flesta av 68K -kompilatorerna var dåliga.

Klockhastigheten för dess NTSC -version var 7.16 MHz, vilket motsvarar det dubbla värdet av färgsalven för NTSC -tv -formatet. Detta beror på att Amiga var utformad för att vara ansluten till en standard -tv och att alla systemklockhastigheter härleddes från 3.58 MHz i den färgen. Å andra sidan var PAL -versionen lite långsammare vid drift på 7.09 MHz, vi kommer att kommentera denna skillnad senare.

AGNUS

Kommodor Amiga AGNUS

Den första processorn designad av Jay Miner och hans team för Commodore Amiga är AGNUS, som innehåller två olika komponenter inuti. Den första är DMA -styrenheten som integrerar en funktion som kallas Blitter eller Block Transfer och den andra kallas COPPER, som kombineras med DENISE för att generera systemgrafiken.

AGNUS var inget annat än en DMA -styrenhet, en typ av enhet som finns i hårdvaran och som ansvarar för att kommunicera två typer av minne med varandra och kopiera data utan att CPU: n behöver delta. De tjänar också till att kommunicera data, men dess största funktion var inte bara möjligheten att kopiera stora volymer minne med sin Block Transfer -funktion, utan möjligheten att göra det genom att manipulera data, även om det på ett mycket enkelt sätt jämfört med idag genom att förlita sig på på instruktioner. enkla booler. Till denna dag används Blitter fortfarande i GPU: er, de är ROPS för grafikkorten som är ansvariga för att rita bildbufferten när GPU har bearbetat färgen på var och en av pixlarna på skärmen.

Den sista av komponenterna som ingick i AGNUS kallades COPPER, en förkortning av termen coprocessor. Det kan jämföras med nuvarande GPU -kommandoprocessorer. Som ansvarade för att generera bilden genom en skärmlista och för denna funktion kontrollera Blitter i samma AGNUS och DENISE, systemets sanna grafikkrets. Hur nyfiken COPPER var en avancerad version av ANTIC, en av de dedikerade chipsen för Atari 8-bitars datorer. Betraktas av arkitektur och genom att dela samma designers som den sanna föregångaren till Amiga.

DENISE

Kommodör Amiga Denise

DENISE är grafikkretsen för Commodore Amiga, detta ansvarar för att generera grafiken på skärmen och är den tredje designen för grafik som Jay Miners team gjorde med denna funktion. Så dess ursprung kan spåras tillbaka till TIA -chipet för Atari VCS, men i motsats till detta var det inte ansvarigt för att generera ljudet från spelen.

Under namnet DENISE står processorn som läser bildbufferten och skickar data till TV: n. Detta gjordes genom kompositvideoutgången och eftersom det fanns två tv -format vid den tiden fanns det också två versioner för DENISE. En för var och en av de mest använda tv -standarderna.

Internt DENISE är två olika hårdvaror, å ena sidan är det en processor med möjlighet att generera bildbufferten. Vilket han gjorde under VBlank -ritperioden, där inget visades på skärmen. På den tiden var en stor del av tiden CPU: n upptagna med att göra ingenting och väntade på att grafiksystemet skulle rita bilden på skärmen. Eftersom RAM -minnet som användes var en enda kanal. Användningen av Fast RAM lindrade detta ur ett CPU -perspektiv, men när DENISE ritade skärmbilden kunde inga andra systemkomponenter komma åt RAM -minnet, utom i HBlank- och VBlank -perioderna, där KOPPAREN och CPU: n via Blittern kunde förändras

DENISE och bitplanen

Commodore Amiga Planos de bita

Grafik på Commodore Amiga liksom andra dators grafiska system som EGA på PC skapas med bitplan. Dessa är baserade på bildbuffertar med en bit som kombinerades med varandra. Som skiljer sig från det nuvarande packade pixelsystemet där all färginformation för en pixel kommer ihop. Totalt representerade den bilden med totalt 6 bitplan, men 1 användes för att välja en ljusstyrka från paletten eller en annan och de andra 5 bitarna för att definiera en av de 32 färger som kan visas på skärmen.

Eftersom Amigas RAMDAC var 12-bitars, 4-bitars per RGB-komponent, vilket ger den en palett med 4096 färger. Där det var möjligt att ändra värdet på registren som lagrade de 32 färgerna i varje skanningsrad. Vilket gjorde det möjligt att placera 4096 färger samtidigt, men eftersom överföringshastigheten inte var tillräckligt snabb kunde detta bara göras i statiska bilder eller med låga uppdateringsfrekvenser, som döptes som HAM -läge.

Eftersom Amiga härstammar från en spelkonsol är dess upplösningslägen utformade för att kunna spelas vid möjliga upplösningar på en tv. När det gäller horisontell upplösning hade den en bildbuffert på 320 eller 64o “pixlar” per skanningsrad och 200 eller 400 rader beroende på om utmatningen var sammanflätad eller progressiv. I det första fallet var uppdateringsfrekvensen 25 Hz i PAL och 30 Hz i NTSC, för att fördubblas i interlaced -läge.

Sprite -generation på Commodore Amiga

Turrican Sprites

DENISE, liksom andra grafikchips på den tiden, hade en generator av sprites, som är mönster eller bitmappar som ändrar position i varje ram, så deras egenskaper definierades i en serie register i minnet som indikeras av vanligtvis följande parametrar:

  • Positionen för sprites bitmap på skärmen, både horisontellt och vertikalt.
  • Orienteringen, det vill säga varifrån bitmappen ritades och i vilken riktning.
  • Färgpaletten som används.
  • Preferensen framför bakgrunden och andra sprites.

Denna information, både registren där sprites position är markerad, liksom bitmapparna som komponerar dem och deras färgpaletter fanns i RAM -chipet. Amiga kunde lagra information om upp till 8 sprites. Men tack vare hastigheten att ändra registren via Blitter-COPPER-duon är antalet sprites som visas mycket högre. När det gäller deras storlek kan dessa ha storlekar på 1, 2, 4, 8 eller 16 pixlar både horisontellt och vertikalt.

COPPER-Blitter-DENISE-treenigheten

Amiga 500 inuti

Amigas grafiska kraft berodde på användningen av dessa tre supportprocessorer, som i kombination med 68K var ansvariga för att generera grafiken på skärmen. Även om vi måste förstå Amigas enorma potential måste vi ta hänsyn till förmågan att flytta grafiken, men vi måste förstå hur datorer genererade grafik vid den tiden.

För närvarande är VRAM -minnen som används åtminstone dubbla kanaler eller tillräckligt snabba så att det inte finns några stridigheter i minnesåtkomst vid återgivning. Vid den tiden, när grafiksystemet läste videominnet, tillät det inte åtkomst från andra processorenheter. Därför måste de döda tiderna då elektronstrålen på CRT -skärmen flyttas användas för att variera värdena i minnet som användes för att rita scenen.

COPPER, å andra sidan, som kommandoprocessor, var den som gav DENISE instruktioner. Till exempel kan du låta videoinformationen ändras i mitten av ramen, du kan också beordra Blitter att ändra minnesadresserna som motsvarar grafikvärdena. Vilket gjorde det möjligt att visa fler element på skärmen än i teorin tillåtet av posterna. Dessutom när KOPPAREN slutade hantera DENISE och Blitter för att rita scenen så snart den nådde Overscan -perioden + VBlank returnerade kontrollen över RAM -chippet till CPU: n utan att behöva existera någon programvarurutin till den.

PAULA, ljud och kringutrustning på Commodore Amiga

Paula Amiga

Det tredje chipet som följer med 68K kallas PAULA, som har två funktioner. Den första av dessa är generationen ljud för applikationer, där det sticker ut över sina samtidiga inklusive Commodore 64, som vid den tiden hade det mest avancerade ljudchipet för tiden. Låt oss inte glömma att de flesta system brukade ha ett chip som kan generera ljud genom tre fasta kanaler för fyrkantvåg och en bruskanal. De första PC -ljudkort som kunde spela upp ljud med FM -modulering hade ännu inte dykt upp på marknaden.

Ljud PCM

Men vad var det som gjorde PAULA så speciell? Det faktum att det var det första ljudsystemet som kunde återge ljud i PCM -format och därför samplingar. Med detta behövde CPU: n inte slösa tid på att styra ljudutmatningen. Det var bara att markera i minnet var proverna fanns inne i RAM -chippet, som stödde upp till 4 samtidiga kanaler så att de kunde konverteras till 2 stereokanaler, en för varje sida.

Den andra funktionen hos PAULA är vad vi har kvar för att definiera en komplett dator och det är att den var ansvarig för att hantera kringutrustning som var anslutna till Commodore Amiga, förutom att fungera som en styrenhet för 3.5 -diskettenheten som var integrerad i Commodore. Vän.