MOS Technology 6502: Forskelle mellem versioner

Content deleted Content added
ArthurBot (diskussion | bidrag)
m r2.6.3) (robot Tilføjer: hu:MOS Technology 6502
m linkfix
Linje 13:
MOS Technology 6502 er en 8-bit processor med 16-bit [[adressebus]]. Både systembussen og processorens indre logik arbejder ved den samme, relativt lave taktfrekvens (typisk omkring 1 eller 2 [[Megahertz|MHz]]). Men til trods for den forholdsvis lave frekvens (sammenlignet med samtidige processorer) kan 6502 snildt hamle op med tilsvarende processorer med højere taktfrekvens med henblik på at "få arbejdet fra hånden", primært takket være et simpelt [[sekvensnetværk]] baseret på [[kombinatorisk logik]]. Den lave taktfrekvens gav også en anden fordel i og med at 6502 dermed kunne fungere sammen med relativt langsomt arbejdende (og derfor billige) [[RAM]]-kredse — en ikke uvæsentlig faktor i særligt prisfølsomme markeder som spillekonsoller.
 
6502 har temmelig få interne registre; et træk den har til fælles med Motorola 6800 (På den tid hvor disse processorer blev udviklet, eksisterede der allerede små og relativt hurtige [[bipolar]]e huskekredsløb, så filosofien var at der ikke er grund til at spilde den dyrebare plads på selve processorens NMOS-chip når man kunne "opbevare" sådanne registre i de prisbillige, eksterne huskekredse). 6502'eren rådede internt over et [[Akkumulator (processor)|akkumulator]]-registre, to såkaldte [[Indeksregister|indeksregistre]] kaldet X og Y, et statusregister, en [[programtæller]] og et indekstregister for en ekstern [[stak (datastruktur)|stak]].
 
Til gengæld for de få registre råder 6502 over en særlig adresseringsform, kaldet "indirekte indekseret", som gør at de første 256 bytes i den eksterne hukommelse kan bruges som adresseregistre, indeksregistre, generelle registre osv., og tilsvarende er processorens [[stak]] for [[subrutine]]-kald henlagt til de næste 256 bytes i den eksterne hukommelse.
 
Interrupt-systemet i 6502 er også forholdsvis minimalistisk: Der findes to slags interrupts; "almindelig" IRQ (for '''I'''nterrupt '''R'''e'''q'''uest) som kunne "fravælges" af programkoden, samt NMI, eller '''N'''on-'''m'''askable '''i'''nterrupt, som ikke (officielt) kunne fravælges af programmet. Mens IRQ er niveaufølsom, reagerer NMI på en flanke (et "skift") i signalet, så hvis de to slags interrupt indtræffer samtidig, reagerer processoren først på NMI. Og hvis IRQ-signalet stadig er aktiv når processoren er færdig med den rutine der håndterer NMI, bliver IRQ-rutinen efterfølgende udført. På den måde havde systemet et simpelt prioriteringssystem for samtidige interrupts.