Original Chip Set

The Original Chip Set var en chipsæt, der anvendes i de tidligste Commodore Amiga-computere og defineret Amiga grafik og lyd kapaciteter. Det blev efterfulgt af den lidt forbedret Enhanced Chip Set og stærkt forbedret Advanced Graphics Architecture.

Den oprindelige chipset dukkede op i Amiga modeller bygget mellem 1985 og 1990: Amiga 1000, Amiga 2000 Amiga CDTV og Amiga 500.

Oversigt over chips

Chipset som gav Amiga sin unikke grafikfunktioner består af tre vigtigste "custom" chips; Agnus, Denise, og Paula. Både den oprindelige chipset og den forbedrede chipset blev fremstillet ved hjælp NMOS logik teknologi ved Commodore chip fremstillingsvirksomhed datterselskab, MOS Technology. Ifølge Jay minearbejder blev OCS chipset fremstillet i 5 um fremstillingsprocessen, mens AGA Lisa blev implementeret i 1,5 um proces. Alle tre brugerdefinerede chips blev oprindeligt pakket i 48-pin Dips; nyere versioner af Agnus, kendt som Fat Agnus blev pakket i en 84-pin PLCC.

Agnus er den centrale chip i konstruktionen. Den styrer al adgang til chip RAM fra både centrale 68000 processor og de andre brugerdefinerede chips, ved hjælp af en kompliceret prioritet system. Agnus omfatter delkomponenter kendt som blitter og kobber. Den oprindelige Agnus kan tage fat på chip RAM. Senere revisioner, døbt »Fat Agnus«, tilføjede pseudo-hurtig RAM, hvilket for ECS blev ændret til 1 MB og efterfølgende til 2 MB chip RAM.

Denise er den vigtigste video processor. Uden brug overscan, Amiga grafik display er 320 eller 640 pixels bredt med 200 eller 256 pixels høje. Denise understøtter også interlacing, hvilket fordobler den lodrette opløsning, på bekostning af temmelig dårlig flimren på de fleste skærme er produceret i samme tidsramme som Amiga-computere. Planar bitmapgrafik anvendes, som opdeler de enkelte bits per pixel i separate områder af hukommelse, kaldet bitplanes. Ved normal drift, Denise giver mellem 1 og 5 bitplanes, hvilket giver 2 til 32 unikke farver. Disse farver er udvalgt fra en palet af farver 4096. En 6. bitplane er tilgængelig for to specielle video tilstande: Halfbrite mode og hold og ændre tilstand. Denise understøtter også otte sprites, enkelt pixel rulle, og en "dobbelt playfield" mode. Denise håndterer også mus og digital joystick indgang.

Paula er primært lydchip, med 4 uafhængige hardware-blandet 8-bit PCM lydkanaler, som hver understøtter 65 lydstyrker og bølgeform output satser fra omkring 20 prøver per sekund til næsten 29.000 prøver per sekund. Paula også håndterer interrupts og forskellige I / O-funktioner, herunder diskettedrevet, den serielle port, og analoge joystick.

Der er mange ligheder - både i den samlede funktionalitet og i opdelingen af ​​funktionalitet i de tre komponent chips - mellem OCS chipset og den meget tidligere og enklere chipset af Atari 8-bit familie af hjemmecomputere, som består af ANTIC, GTIA og Pokey chips; begge chipsæt var begrebsmæssigt designet af Jay Miner, hvilket forklarer ligheden.

Agnus

Den Agnus chip er i den samlede kontrol med hele chipset drift. Alle operationer synkroniseres med positionen af ​​video stråle. Dette omfatter adgang til den indbyggede RAM, kendt som chip RAM, fordi chipset har adgang til det. Både den centrale 68000 processor og andre medlemmer af chipsæt skal dømme for adgang til chip RAM via Agnus. I computing arkitektur vilkår, det er Direct Memory Access, hvor Agnus er DMA controller.

Agnus har en kompleks og prioritering baseret hukommelse adgang politik, der forsøger at bedst koordinere anmodninger om hukommelse adgang blandt konkurrerende ressourcer. For eksempel er bitplane data hentninger prioriteret løbet blitter overførsler som den umiddelbare visning af rammebuffer data anses for vigtigere end behandling af hukommelsen ved blitter. Agnus forsøger også at bestille adgang på en sådan måde, at overlappe CPU buscykler med DMA cykler. Da den oprindelige 68000 processor i Amiga'er tendens kun at få adgang til hukommelse på hver anden ledig hukommelse cyklus, Agnus driver et system, hvor der tildeles første "skæve" memory access cykler og efter behov for at tidskritiske custom chip DMA, mens de resterende cykler er til rådighed for CPU'en, således CPU'en ikke generelt får låst ude af hukommelsesadgang og synes ikke at bremse. Men ikke-tidskritiske custom chip adgang, såsom blitter overførsler, kan bruge op enhver overskydende ulige eller endda cykler, og hvis de "BLITHOG" flaget er sat, Agnus kan låse ud de lige cykler fra CPU'en af ​​hensyn til den blitter.

Agnus s tider måles i "farve ure" af 280 ns. Det svarer til to lave pixel opløsning eller fire høje pixel opløsning. Ligesom Denise blev disse tider beregnet til visning på husholdningernes tv, og kan synkroniseres til en ekstern clock kilde.

Blitter

Den blitter er en delkomponent af Agnus. "Blit" er forkortelse for "blok billedoverførsel" eller bit blit. Den blitter er en meget parallel hukommelse overførsel og logik operation enhed. Det har tre driftstilstande: Kopiering blokke af hukommelse, påfyldning blokke og stregtegning.

Den blitter giver mulighed for hurtig kopiering af videohukommelse, hvilket betyder, at CPU kan frigøres til andre opgaver. Den blitter blev primært brugt til at tegne og gentegning grafik billeder på skærmen, kaldes "bobs", en forkortelse for "blitter objekter".

Den blitter blok kopiering tilstand tager nul til tre datakilder i hukommelsen, kaldet A, B og C, udfører en programmerbar boolean funktion på datakilder og skriver resultatet til en destination område, D. Enhver af disse fire områder kan overlappe. Den blitter kører enten fra starten af ​​blokken til slutningen, kendt som "stigende" tilstand eller omvendt, "faldende" mode.

Blokke er "rektangulære"; de har en "bredde" i multipla af 16 bit, en højde målt i "linjer", og en "skridtlængde" afstand til at bevæge sig fra enden af ​​en linje til den næste. Dette gør det muligt blitter at operere på enhver tænkelig videoopløsning. Kopien automatisk udfører en pr-pixel logisk betjening. Disse operationer er beskrevet generisk hjælp minterms. Dette er mest almindeligt anvendt til at gøre direkte kopier, eller anvende en pixel maske omkring blitted genstande eller A). Kopien kan også tønde flytte hver linje med 0 til 15 pixel. Dette gør det muligt blitter at tegne på pixel forskydninger, der ikke ligefrem multipla af 16.

Disse funktioner gør det muligt Amiga at flytte GUI vinduer rundt på skærmen hurtigt som hver er repræsenteret i grafisk hukommelse som en rektangulær blok af hukommelse, som kan forskydes til enhver påkrævet skærm hukommelsesplads efter behag.

Den blitter linje tilstand trækker single-pixel tykke linjer ved hjælp af Bresenham linje algoritme. Det kan også anvende en 16-bit gentaget mønster til linjen. Linjen tilstand kan også anvendes til at trække roterede bobs: hver linje bob data anvendes som liniemønster mens linjen tilstand trækker skrå bob linje for linje.

Den blitter s påfyldning tilstand bruges til at fylde per-line horisontale spændvidder. På hver span, læser hver pixel i tur fra højre til venstre. Når den læser et sæt pixel, det skifter påfyldning tilstand til eller fra. Ved påfyldning tilstand er på, det sætter hver pixel, indtil påfyldning tilstand er slukket, eller den linje slutter. Tilsammen udgør disse tilstande tillader blitter at tegne individuelle flad-skraverede polygoner. Senere Amiga'er tendens til at bruge en kombination af en hurtigere CPU og blitter for mange operationer.

Kobber

Kobberet er en anden delkomponent af Agnus; Navnet er en forkortelse for "co-processor". Kobber er en programmerbar tilstandsmaskine, der udfører en programmeret instruktion strøm, synkroniseret med videoen hardware.

Når den er tændt, kobber har tre tilstande; enten læser en instruktion, udføre det, eller venter på en bestemt video stråle position. Kobberet kører et program kaldet kobber liste parallelt med de vigtigste CPU. Kobberet kører synkroniseret med videoen stråle, og den kan anvendes til at udføre forskellige operationer, som kræver video-synkronisering. Mest almindeligt er det anvendes til at styre videoudgang, men det kan skrive til de fleste chipset registre og kan således anvendes til at initiere Blits, indstille audio registre eller afbryde CPU.

Kobber listen har tre slags instruktioner, hver er et par af to bytes, fire bytes i alt:

  • Den MOVE instruktion skriver en 16-bit værdi til en af ​​chipset hardware registre og bruges også til at strobe en ny adresse i kobber instruktion pointer.
  • Ventetiden instruktion standser udførelsen kobber, indtil en given stråle position er nået, hvilket gør det muligt at synkronisere andre anvisninger med hensyn til skærmen tegning. Det kan også vente på en blitter operation til slut.
  • Den SKIP instruktion vil springe følgende kobber instruktion, hvis der allerede er opnået en given stråle position. Dette kan bruges til at skabe kobber liste loops.

Længden af ​​kobber programlisten er begrænset af udførelsestid. De kobber genstarter udfører kobber listen ved starten af ​​hver ny video frame. Der er ingen eksplicit "ende" instruktion; stedet, er ventetiden instruktionen bruges til at vente på et sted, som aldrig nås.

Anvendelser af kobber

  • Kobberet er mest almindeligt anvendt til at indstille og nulstille videohardwareprodukter registre ved begyndelsen af ​​hver ramme.
  • Det kan bruges til at ændre videoindstillinger medio ramme. Dette gør det muligt Amiga til at ændre video-konfiguration, herunder resolution, mellem scanlines. Dette gør det muligt Amiga for at vise forskellige horisontale opløsninger, forskellige farve dybder, og helt andre frame buffere på samme skærm. Den AmigaOS grafiske brugergrænseflade tillader to eller flere programmer til at fungere på forskellige opløsninger i forskellige buffere, mens alle er synlige på skærmen samtidigt. En maling program kan bruge denne funktion til at tillade brugere at tegne direkte på en lav opløsning Hold og ændre skærmen, samtidig med en høj opløsning værktøjslinje i toppen eller bunden af ​​skærmen.
  • Kobberet kan også ændre farve registrerer mid-frame, skabe den "raster søjler" effekt ses almindeligvis i Amiga spil. Kobberet kan gå videre end dette og ændre baggrundsfarven ofte nok til at gøre en blokformede grafik display uden brug af bitmap-grafik overhovedet.
  • Kobberet tillader "genbrug" af sprites; efter en sprite er blevet trukket på sin programmerede placering, kan kobberet derefter straks flytte det til en ny placering, og det vil blive trukket igen, selv på den samme scanlinie.
  • Kobberet kan udløse en afbryder, når videoen stråle når en præcis placering på skærmen. Dette er nyttigt til synkronisering af CPU til video stråle.
  • Kobberet kan også bruges til at programmere og betjene blitter. Dette tillader blitter drift og kontrol for at fortsætte uafhængigt af, og i takt med, CPU.
  • Kobberet kan bruges til at producere "skiver HAM", eller S-HAM, det består i at opbygge en kobber liste, der skifter paletten på hver scanlinie, forbedre valg af basisfarver i Hold og ændre tilstand grafik.

Ekstern video timing

Under normale omstændigheder, Amiga genererer sine egne video-tider, men Agnus understøtter også synkronisere systemet til et eksternt signal for at opnå genlocking med ekstern video hardware. Der er også en 1 bit udgang på dette stik, der angiver, om Amiga udsender baggrundsfarve eller ej, tillader let overliggende af Amiga video på ekstern video. Dette gjorde Amiga særlig attraktiv som et tegn generator til captioning videoer og broadcast arbejde, da det undgik brug og regning AB roll og chromakey enheder, der ville være nødvendige uden Genlock støtte. Understøttelsen af ​​overscan, sammenfletning og genlocking kapaciteter, og det faktum, at displayet timingen var meget tæt på at udsende standarder, gjorde Amiga den første ideelle computer til video formål, og faktisk blev det brugt i mange studier til digitalisering af videodata, tekstning og interaktiv video nyheder.

Denise

Denise er programmeret til at hente plane videodata fra 1 til 5 bitplanes og omsætte det til en farve opslag. Antallet af bitplanes er vilkårlig, dermed hvis 32 farverne ikke er nødvendigt, kan 2, 4, 8 eller 16 anvendes i stedet. Antallet af bitplanes kan ændres i farten, som regel ved kobberet. Dette giver mulighed for meget økonomisk brug af RAM. Der kan også være en sjette bitplane, som kan anvendes i tre særlige grafiktilstande:

I Ekstra HalfBrite, hvis en pixel er indstillet på sjette bitplane, er lysstyrken af ​​de regelmæssige 32 farve pixel halveret. Tidlige versioner af Amiga 1000 sælges i USA ikke havde den ekstra HalfBrite tilstand.

I Hold-og-Rediger-tilstand, er hver 6-bit pixel tolkes som 2 kontrolpunkter bits og 4 data bits. De 4 mulige permutationer af kontrol bits er "set", "modificere rød", "modificere grønne" og "ændre blå". Med "set", de 4 databit handle som en almindelig 16-farvedisplay kig op. Med en af ​​de "ændre" s, er den røde, grønne eller blå komponent i den foregående pixel ændres til de data værdi, og de to andre komponenter holdes fra den tidligere pixel. Dette giver alle 4096 farver på skærmen på én gang, og er et eksempel på lossy billede kompression i hardware.

I Dual Playfield tilstand, i stedet for at fungere som en enkelt skærm, to "playfields" af 8 farver a er tegnet oven på hinanden. De er uafhængigt rulle og baggrundsfarven på den øverste playfield "skinner igennem" til den underliggende playfield.

Der er to vandrette grafik resolutioner, "lowres" med 140 ns pixels og "lejer" med 70 ns pixels. Dette gør displayet 320 eller 640 pixels bredt uden overscan. Denise understøtter meget bred overscan; der ikke er behov for en ramme omkring grafikken som andre computere lidt fra. Lodrette opløsning, uden overscan, er 200 pixels for en 60 Hz NTSC Amiga eller 256 for en 50 Hz PAL Amiga. Dette kan fordobles ved hjælp af et interlaced display.

Denise kan også lægge op til otte 16 pixel brede sprites pr scanningslinie på toppen, under eller mellem playfields, og opdage kollisioner mellem sprites og playfields eller mellem sprites. Disse sprites har 3 synlige farver og en gennemsigtig farve. Eventuelt kan tilstødende par af sprites være "knyttet" til at lave en enkelt 15 farve sprite. Brug kobber eller CPU register manipulationer, kan hver sprite 'kanal' genbruges flere gange i en enkelt ramme for at øge den samlede sprites pr ramme. Sprite position registre kan også ændres under en scanlinie, øge de samlede sprites på en enkelt scanlinie.

Endelig Denise er ansvarlig for håndtering mus / joystick x / y-indgange.

Paula

Den Paula chippen indeholder logik for lydafspilning, diskettedrev kontrol, seriel port input / output og mus / joystick knapperne 2 og 3 signaler. Logikken forblev funktionelt identiske på tværs af alle Amiga modeller fra Commodore.

Lyd

Paula har fire DMA-drevet 8-bit PCM prøve lydkanaler. To lydkanaler blandes ind i den venstre lydudgang, og de to andre er blandet ind i højre udgang, der producerer stereo audio output. Det eneste understøttet hardware prøve formatet er underskrevet lineær 8-bit to besætningsmedlemmer. Hver lyd kanal har en selvstændig frekvens og en 6-bit volumenkontrol. Internt er det lydhardware gennemført af fire statslige maskiner, der hver har otte forskellige stater.

Derudover hardwaren tillader en kanal i en kanal par til at modulere den anden kanals periode eller amplitude. Det er sjældent bruges på Amiga skyldes både frekvens og volumen kan styres på en bedre måde, men kunne anvendes til at opnå forskellige former for tremolo og vibrato, og selv rudimentære FM-syntese virkninger.

Lyd kan udlæses ved hjælp af to metoder. Oftest er DMA-drevet lyd anvendes. Som forklaret i diskussionen af ​​Agnus er hukommelsen adgang prioriteres og én DMA-slot per scan linie er til rådighed for hver af de fire lydkanaler. På en almindelig NTSC eller PAL-display, er DMA lydafspilning begrænset til en maksimal ydelse på 28867 værdier per kanal per sekund i alt 57674 værdier per sekund på hver stereoudgang. Denne sats kan øges med ECS og AGA chipsæt ved hjælp af en video-mode med højere vandret scanning sats.

Alternativt kan Paula signalere CPU til at indlæse en ny prøve i nogen af ​​de fire audio output buffere ved at generere et interrupt, når en ny prøve er nødvendig. Dette giver mulighed for output satser, der overstiger 57 kHz per kanal og øger antallet af mulige stemmer via software blanding.

Amiga indeholder en analog lavpasfilter, som er ekstern i forhold til Paula. Filteret er en 12 dB / oktav Butterworth lavpasfilter på ca. 3,3 kHz. Filteret kan kun anvendes globalt til alle fire kanaler. I modeller efter Amiga 1000, er lysstyrken på power LED bruges til at angive status for filteret. Filteret er aktiv, når LED er ved normal lysstyrke, og deaktiveres, når nedtonet. Modeller udgivet før Amiga 1200 har også en statisk "tone knop" type low-pass filter, der er aktiveret, uanset den valgfri "LED filter". Dette filter er en 6 dB / oktav lavpasfilter med afskæringsfrekvensen på 4,5 eller 5 kHz.

En software-teknik blev senere udviklet, som kan afspille 14-bit lyd ved at kombinere to kanaler, der er på forskellige mængder. Dette resulterer i to 14-bit kanaler i stedet for fire 8-bit kanaler. Dette opnås ved at spille den høje byte af et 16-bit prøven ved maksimal volumen og den lave byte ad minimumsvolumen. Den bit skift operation kræver en lille mængde af CPU eller blitter overhead, mens konventionelle 8-bit afspilning næsten udelukkende DMA drevet. Denne teknik blev inkorporeret i retargetable lydsubsystem AHI, så kompatible programmer til at bruge denne tilstand gennemsigtigt.

Floppy disk controller

Diskette-controlleren er usædvanlig fleksibel. Det kan læse og skrive rå bitsekvenser direkte til og fra disken via DMA eller programmeret I / O ved 500 eller 250 kbit / s. MFM eller GCR var de to mest almindeligt anvendte formater selvom i teorien helst run-længde begrænset kode kunne anvendes. Det giver også en række praktiske funktioner, såsom sync-on-ord. MFM kodning / dekodning sker normalt med blitter en pass til afkode, tre gennemløb for indkode. Normalt hele sporet læses eller skrives i ét skud, snarere end sektor for sektor; Dette gjorde det muligt at slippe af med de fleste af de huller mellem sektor, at de fleste floppy disk formater brug for sikkert forhindre "blødning" af en skriftlig sektor i den tidligere eksisterende header af den næste sektor på grund af hastighed variationer af drevet. Hvis alle sektorer og deres overskrifter altid skrives på én gang, sådan blødning er kun et problem i slutningen af ​​sporet, så der er behov for kun ét hul pr spor. Denne måde, for de indfødte Amiga disk-format, den rå lagerkapacitet på 3,5 tommer DD diske blev øget fra den typiske 720 KB til 880 KB, selv om mindre end ideel filsystem af de tidligere Amiga modeller reduceret dette igen til ca. 830 KB på faktiske payload data.

Ud over den native 880 KB 3.5-tommers disk format, kan regulatoren håndtere mange udenlandske formater, såsom:

  • IBM PC
  • Apple II
  • Mac 800 KB
  • AMAX Mac emulator
  • Commodore 1541
  • Commodore 1581 formateret 3½ "diskette for C64 og C128

Amiga 3000 indførte en særlig, dual-speed diskettedrev, der også lov til at bruge høj densitet diske med dobbelt kapacitet uden ændring af Paulas floppy controller.

Seriel port

Den serielle port er rudimentær, kun bruger programmeret input / output og mangler en FIFO buffer. Dog kan stort set vælges nogen bithastighed, herunder alle faste satser, MIDI-sats, samt ekstremt høje tilpassede priser.

Oprindelse af chip navne

  • Navnet Agnus er afledt af "Adresse generator enheder ', da det huser alle adresse registre og styrer hukommelse adgang af brugerdefinerede chips.
  • Denise er en konstrueret sammentrækning af Display enabler, har til formål at fortsætte navngivningskonvention.
  • Paula er en tilsvarende kunstig sammentrækning af porte, lyd og UART, og tilfældigvis chippen designerens kæreste.

Amiga grafik chipset køreplan

  0   0

Relaterede Artikler

Kommentarer - 0

Ingen kommentar

Tilføj en kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tegn tilbage: 3000
captcha