Intel 80486

486

Bunnen av en Intel 80486DX2
Informasjon
Fyr byggeserie
utvikler Intel
Maker
Utgivelsesdato 1989
Seponering 1997
Tekniske data
CPU -klokkefrekvens 16MHz–100MHz
Kompatible stikkontakter Sokkel 1 , Sokkel 2 og Sokkel 3
FSB hastighet 16-50
MOSFET -kanallengde 1 µm - 0,6 µm
Instruksjonssett x86 ( IA-32 ) inkludert x87 for DX-modeller
Antall kjerner 1
type stikkontakt
  • Stikkontakt 1
  • Stikkontakt 2
  • Stikkontakt 3
pakket
Kronologi
Intel 80386486Pentium 1

Intel 80486 ( i486 , 486 ) er en familie av 32  - bits x86 - arkitekturmikroprosessorer designet og produsert av Intel Corporation og også produsert under lisens eller omvendt utvikling av andre selskaper som IBM , Texas Instruments , AMD , Cyrix og Chips and Technologies med forskjellige eller klonede design.

i486-ene ligner veldig på forgjengerne, Intel 80386 . Hovedforskjellene er at i486s har et optimert instruksjonssett , flytende kommaenhet og enhetlig cache innebygd i selve mikroprosessor - ICen , og en forbedret bussgrensesnittenhet . Disse forbedringene gjør i486 dobbelt så rask som en i386 og i387 med samme klokkefrekvens . Uansett, noen low-end i486-er er tregere enn raskere i386-er.

Typiske klokkehastigheter for i486s var:

Det var en 133 MHz 80486 laget av AMD kalt Am5x86-P75 som hadde 16 KB L1 cache, 0,35 mikron arkitektur (mot 0,6 mikron i tidligere modeller), en 4x multiplikator og en 33 MT FSB /s, hvorav forskjellige versjoner var også produsert med forskjellig spenning og forskjellig innkapsling, 3,3 V og 3,45 V, noe som tillater en enorm kapasitet for overklokking som tillot den å gå opp til 160 MHz, som matcher ytelsen til en Pentium-90. Senere designet AMD Am5x86-P75+ med 150 MHz, 16 KB L1-cache, 3x multiplikator og 55 MT/s FSB ved 3,45 V, noe som gjør den til den kraftigste 80486-prosessoren som noen gang er produsert, hvorav knapt noen enheter ble solgt, og er en verdifull objekt. samlerobjekt blant fans.

Etterfølgeren til Intel 80486-mikroprosessoren er Intel Pentium .

Varianter av i486DX2

Det finnes flere varianter av den grunnleggende i486-designen, inkludert:

Klokkedobling og tredobling

For ikke å kreve mer hastighet fra hovedkort, introduserte Intel dobling (og senere tredobling) av klokkefrekvensen i brikken. Mens hovedkortet og dets kommunikasjon med mikroprosessoren gjennom pinnene ble utført ved klokkefrekvens, ble de interne operasjonene til mikroprosessoren utført med dobbel (eller trippel) hastighet. På denne måten oppnådde blokkene med kode som ble lastet i den interne hurtigbufferen en mye høyere ytelse, som falt til halvparten (eller en tredjedel) ved tilgang til RAM.

Intel utpekte mikroprosessorer som brukte klokkefrekvensdobling med suffikset "2". Frekvensen angitt i mikroprosessoren tilsvarte den allerede doblede frekvensen. For eksempel hadde 66 MHz 80486 DX2 en 33 MHz klokke på hovedkortet. Den uinformerte offentligheten aksepterte suffikset "2" som et tegn på overlegenhet, og det var en utbredt oppfatning at en 66 MHz 486 doblet seg ved 132 MHz. Tilsynelatende motstridende viste de fleste hastighetstester at en PC med en 40 MHz mikroprosessor (ikke doblet i hastighet ) var raskere enn en 50 MHz mikroprosessor (25 MHz doblet i hastighet).

Overraskende nok utpekte Intel suffikset "4" i stedet for "3" til mikroprosessorer som brukte klokkefrekvenstriplisering, noe som førte til at den uinformerte offentligheten overvurderte egenskapene til disse mikroprosessorene. Dermed hadde en 100 MHz 486 en klokkefrekvens på 33 MHz, og frekvensen tredoblet seg til 99 MHz.

Instruksjoner på programnivå

Med hensyn til 386 ble tre nye instruksjoner lagt til, to av dem er orientert mot bruk av multiprosessorsystemer . I disse er det vanlig å få tilgang til delte ressurser og reguleringen av disse gjøres ved hjelp av semaforer.

Formålet med den tredje instruksjonen er å lette tilgangen til databasen til andre prosessorer, for eksempel de som er opprettet for å brukes i IBM-datamaskiner eller utstyr med Motorola -mikroprosessorer .

BSWAP reg32 byte swap instruksjon

BSWAP - instruksjonen brukes til å reversere rekkefølgen på bytene i et 32-bits ord. Konverterer et ord som er lagret med det minst signifikante objektet på den laveste adressen til et som har samme verdi, men med den minst signifikante oktetten på den høyeste adressen. Gir bedre ytelse i ASCII- og BCD -aritmetikk , siden 4 oktetter behandles i stedet for bare én.

Det er en instruksjon som kun virker på 32-bits registre og utføres i en klokkesyklus .

EAX 12345678H BSWAP EAX EAX 78563412H _ _

XADD bytte-og-legg instruksjon r/m, reg

Bruk to operander av samme størrelse 8, 16 eller 32 biter. Den andre må være rekord. Den første kan være et register eller en operand i minnet.

Den går i tre eller fire klokkesykluser.

Eksempel XADD OPLOP2 ; OP2:=OP1 ; OP1:= OP1 + OP2 IMOTEP ; OP3:= KATT IMOTEP , IMOTEP , IMOTEP , IMOTEP FEILLOGG

Flere prosessorer kan dele utførelsen av en enkelt instruksjonssløyfe, noe som forenkler parallell prosessering.

Med den nye 486-instruksjonen vil kodingen være:

MOV EAX , 1 LÅS XADD N , FAX

Sammenlign og bytt instruksjon CMPNCHG rm,reg

Du trenger tre operander av samme størrelse 8, 16 eller 32 biter. Den andre må være rekord. Den første kan være et register eller en operand i minnet. Den tredje må være implisitt: akkumulatoren (AL, AX, EAX, avhengig av størrelsen på de andre operandene). Den går i seks eller syv klokkesykluser hvis sammenligningen er sann, eller opptil ti hvis den er usann.

CMPXCHG DEST.ORGY ; IF DEST=ACCUM THEN DEST : ORGY ; ANNET AKKUM: =DEST

EFLAGS - registerflaggene indikerer resultatet av sammenligningen. Hvis sant eller , er ZF satt til 1; hvis den ikke er satt til 0. Flerverdiede semaforer kan lages, og vente- og signalinstruksjonene kan brukes fra flere prosesser som ønsker å dele en ressurs samtidig.

MOVEBX . IDENT_OWNER LOOP XOR EAX . EAX LOCK CMPCHG OWNER_SEMAFORO. EBX JNZ LOOP ; Hvis det er okkupert av noen andre, vent. ( Semaphore anskaffet : utførelse av den beskyttede operasjonen ) MOV OWNER_SEMAFORO. 0 ; Semaforen frigjøres.

Nye instruksjoner på systemnivå

486 har fire nye instruksjoner som er spesifikke for seg, som ikke finnes i 386. Tre av dem er relatert til den interne cachen innebygd i 486 for data og kode . Den fjerde refererer til sidetabellbufferen .

Laster og lagrer testregistre MOV TRn, reg32

Siden det er tre nye registre i 486 relatert til den interne cachen, kan de også nås med MOV-funksjonen.

Ugyldiggjøring av innholdet i INVD-bufferen

Med dette blir innholdet i den interne cachen fullstendig ugyldig og en busssyklus genereres for å indikere at de eksterne cachene igjen må ugyldiggjøre innholdet. Instruksjonen utføres i fire klokkesykluser.

Ugyldig hurtigbuffer før WBINVD-minneoppdatering

Med dette blir innholdet i den interne hurtigbufferen totalt ugyldig og to busssykluser genereres, den første indikerer til de tvungne skrivetype cachene at de må oppdatere hovedminnet . For å indikere til den andre at i sin tur må de eksterne cachene ugyldiggjøre innholdet. Instruksjonen utføres i 5 klokkesykluser.

Ugyldiggjøring av en TLB (Translation Lockside Buffer)-oppføring

Genererer en virtuell adresse fra den gitte operanden og ugyldiggjør den tilsvarende sidetabellbufferoppføringen, TLB . Ugyldiggjør TLB-oppføringen som refererer til siden som inkluderer adressen til den gitte minneoperanden. Denne instruksjonen koder som INVLPG og kjøres i tolv sykluser.

TLB-testposter

Testregistre er en formell del av arkitekturen 386 hadde for TLB-regnskap (TR6 OG TR7). 486 legger til ytterligere tre 32-bits registre for å kontrollere riktig funksjon av prosessorens interne hurtigbuffer.

TR6-registeret har ikke blitt modifisert i forhold til 386. TR7 legger til noen flere biter. Disse er:

  • PCD: PCD-bit av sidetabelloppføringen.
  • PWT: PWD-bit av sidetabelloppføringen.
  • LRU: Når dette feltet leses, oppnås verdien av de tre bitene som brukes i pseudo-LRU cache-erstatningsalgoritmen.
  • PL: Tilsvarer HT-biten til TR7 til 386. I 486 kan den skrives til én eller null.

Interne cache-testposter

  • TR3 lagrer dataene som skal overføres i cache-minnet.
  • TR4 inneholder testtilstanden.
  • TR5 er cache-testkontrollregisteret .

Alle er tilgjengelige av MOV-instruksjoner angitt på høyeste privilegienivå (null).

TR4

  • Gyldig: 4 valideringsbiter for sektorens 4 måter.
  • LRU.
  • V: valideringsbit av den spesifikke kanalen som har blitt aksessert blant de 4 som tilhører samme sektor.
  • Etikett: tvinger verdien av etiketten til adressen som er tildelt i feltet.

TR5

  • CTL-er:
    • 00: Skriv eller les cachebuffer.
    • 01: Skriv cache.
    • 10: Les fra cachen.
    • 11: cache ugyldig. Alle posisjoner er ugyldige.
  • INT. I cache read/write velger den en av de fire banene til den valgte sektoren. I Cache Buffer R/W velger du ett av de fire dobbeltordene som utgjør linjen.

Datatyper

  • ordtaler
  • heltall
  • Kongelige
  • BCD pakket
  • 8, 16 og 32 bit strenger
  • Kjeder fra 64 til 4  Gbit
  • 8-bits ASCII-tegn

Se også

Eksterne lenker