X86

x86
Udvikler Intel , AMD
Lidt dybde 16, 32 og/eller 64 bit
Fremlagde 1978 (16-bit), 1985 (32-bit), 2003 (64-bit)
Arkitektur CISC
Type Register-Hukommelse
SK kodning Variabel længde (1..15 bytes)
Transition Implementering tilstandsflag
Byte rækkefølge lille-endian
Sidestørrelse 8086 - i286 : Ingen MMU
i386 , i486 : 4  KiB sider
Pentium : 4  MiB sider
tilføjet x86-64 : 1  GiB sider tilføjet.
Udvidelser x87 , IA-32 , MMX , SSE , SSE2 , x86-64 , SSE3 , SSSE3 , SSE4 , SSE5 , AVX , AVX2 , SGX
åben? Til dels. Nogle ekstra funktioner på x86-arkitekturen kræver muligvis en licens fra Intel, x86-64 kræver muligvis en ekstra licens fra AMD. 80486-processoren har været på markedet i over 20 år [1] og kan derfor ikke være genstand for patentkrav. Det er en delmængde af x86-arkitekturen og er derfor helt åben.
Registre
generelle formål 16-bit : 6  registre, delvist specialiserede + BP og SP;
32-bit : 6  RON + EBP og ESP;
64-bit : 14 RON + RBP og RSP.
Ægte 8 x 80 bit (kan stables)
SIMD SSE : 8 x 128 bit,
x86-64 : 16 x 128 bit,
AVX : 16 x 256 bit,
AVX-512 : 32 x 512 bit
 Mediefiler på Wikimedia Commons

x86 ( eng.  Intel 80x86 ) - processorarkitektur og instruktionssæt af samme navn , først implementeret i Intel - processorer .

Navnet er dannet af to tal, der sluttede med navnene på tidlige Intel-processorer - 8086 , 80186 , 80286 (i286), 80386 (i386), 80486 (i486). Under dets eksistens er sættet af kommandoer konstant blevet udvidet, samtidig med at kompatibiliteten med tidligere generationer er bevaret.

Udover Intel er x86-instruktionssættet også implementeret i processorer fra andre producenter: AMD , VIA , Transmeta , IDT , Zhaoxin [2] , MCST (i Elbrus - processorer ) osv. I øjeblikket er der et andet navn for 32- bitversion af arkitekturen - IA -32 ( Intel Architecture  - 32).

Hovedtræk ved arkitekturen

x86 er en CISC- arkitektur. Hukommelsen tilgås ord for ord. "Ord" placeres efter little-endian- princippet , også kendt som Intel-formatet. Moderne processorer inkluderer x86-instruktionsdekodere til at konvertere dem til et forenklet internt format og derefter udføre dem.

Segmentel organisering af hukommelsen

Ægte tilstand

Real mode er den klassiske adresseringstilstand, der bruges i de første modeller af familien. Adressen på en hukommelsescelle (til at arbejde med data eller til at indlæse en eksekverbar processorinstruktion) er dannet af et segment (indholdet af et segmentregister) og en offset offset (en konstant, et register, summen af ​​et register med en konstant, eller summen af ​​to registre med en konstant); dette skrives som SSSS:OOOO (Segment:Offset), hvor S og O er hexadecimale cifre. Selve adressen beregnes ved hjælp af formlen "Segment * 16 + Offset".

Den grænseadresse, der kan tilgås, er FFFF:FFFF, det vil sige FFFF0 + FFFF = 10FFEF eller med ordene: "en megabyte + 64 kilobytes - 16 bytes". På 8086, 8088 og 80186 processorerne var adressebussen dog kun 20 bit, og derfor endte alt, der gik ud over en megabyte, i begyndelsen af ​​hukommelsen (i segment nul). Fra 80286-processoren var det muligt at vælge, om man ville arbejde i samme tilstand for kompatibilitet eller ved hjælp af HiMem-driveren at bruge et ekstra hukommelsessegment, hvori DOS og residente programmer kunne placeres. (Ud over DOS kan andre operativsystemer have kørt på computeren. Oplysninger om, hvordan de brugte den øvre hukommelse, er usandsynligt blevet bevaret.)

Samtidig viste RAM'en sig så at sige at være heterogen - små datablokke kunne behandles ved kun at manipulere offset-registrene, og for store datablokke skulle segmentregistre manipuleres. Følgende termer er blevet introduceret for at beskrive dette:

  • "afsnit" - en hukommelsesblok med en størrelse på 16 bytes;
  • "side" - en hukommelsesblok med en størrelse på 256 bytes;
  • "segment" - en hukommelsesblok med en størrelse på 65536 bytes;

(alle blokke startede med en adresse, der er et multiplum af deres størrelse).

Fra 80386-processoren blev det ved hjælp af DOS4GW-driveren muligt at bruge real mode med 32-bit registre og adressere op til fire gigabyte hukommelse. Selve segmenterne var faktisk ikke nødvendige her.

Mikroprocessorer 8086/8088, 80186/80188 og 80286 havde fire segmentregistre, dvs. de kunne arbejde samtidigt med fire hukommelsessegmenter, der havde et specifikt formål:

  • CS - kodesegment, bruges til at vælge programkommandoer;
  • DS - datasegment, bruges som standard til dataadgang;
  • ES - ekstra segment, er modtageren af ​​data i strengbehandlingskommandoer;
  • SS er et staksegment, der bruges til at huse softwarestakken .

I 80386 blev der tilføjet to mere, der ikke har et særligt formål:

  • FS - Ekstra segmentregister, har ikke noget særligt formål;
  • GS - Svarende til den forrige, men i nye processorer med 64-bit arkitektur har den en særlig status: den kan bruges til hurtig kontekstskift.

På trods af at segmentregistre har særlige formål, giver arkitekturen mulighed for, at nogle dataadgange kan erstatte et segment med et hvilket som helst andet. Kode-, stak- og rækkedestinationssegmenterne bruger altid CS-, SS- og ES-registrene og kan ikke ændres.

Segmenttilgangen giver dig mulighed for at opdele hele hukommelsen i 16 segmenter, begyndende med adresser, der er multipla af 64 KB. Disse 16 segmenter kaldes hukommelsessider. Typisk bruges personsøgning til samarbejdsdrift af enheder, hvis grænseflader er afbildet til et hukommelsesadresserum; så bruger hver sådan enhed én hukommelsesside, og celleadressen i enhedens adresserum vil matche forskydningen i computerens hukommelsessegment. Så i IBM PC-computere blev adresserummet fordelt på denne måde:

  • De første ti segmenter (640 KB) af adresserummet indeholder RAM, som rummer:
    • afbryde vektorer;
    • BIOS dataområde;
    • DOS (hvis ikke tvunget til at blive placeret i HiMem);
    • kode og data for kørende programmer.
  • To segmenter blev givet til videoadapteren - VideoBIOS og et "vindue" til visning af videohukommelse i processorens adresserum (for CGA, EGA, VGA og andre videoadaptere var visningsmetoden meget anderledes).
  • Tre segmenter blev brugt til at sætte forskellige ting der, for eksempel:
    • programmer, der er forbundet til ROM, for eksempel en BASIC-fortolker;
    • BIOS af forskellige udvidelseskort, for eksempel SCSI-controllere (SCSI-BIOS var nødvendigt, hvis computeren skal starte fra en disk tilsluttet denne controller);
    • "windows" for at vise udvidet hukommelse der.
  • Det sidste segment af den første megabyte var beregnet til at rumme ROM'en med start-BIOS. Især adressen FFFF:0000 er den, hvortil kontrol overføres, når computeren starter (det vil sige, efter hardwareinitialisering, begynder processoren at udføre programmet fra denne adresse).
  • Det første segment ud over den første megabyte er HiMem diskuteret ovenfor.

I ægte tilstand er der ingen hukommelsesbeskyttelse og adgangsrettigheder, så den er næsten ude af brug. Real mode er dog standardtilstanden for alle x86-familieprocessormodeller - processoren starter sit arbejde i real mode, hvor BIOS, MBR, BR og den indledende del af OS-Loader udføres. Derfor inkluderer alle operativsystemer, der kører på x86-processorer, en vis mængde startkode for denne processortilstand.

Beskyttet tilstand

En mere avanceret tilstand, der først dukkede op i 80286-processoren og er blevet forbedret mange gange siden. Den har et stort antal undertilstande, som kan bruges til at spore udviklingen af ​​CPU-familien. Denne tilstand understøtter hukommelsesbeskyttelse, opgavekontekster og værktøjer til organisering af virtuel hukommelse. I lighed med den rigtige tilstand bruges en segmenteret hukommelsesmodel også her, men allerede organiseret efter et andet princip: der er ingen opdeling i afsnit, og placeringen af ​​segmenter er beskrevet af specielle strukturer ( deskriptortabeller ) placeret i RAM. Ud over segmentets basisadresse indeholder deskriptorerne segmentets størrelse (mere præcist den maksimalt tilgængelige offset) og forskellige segmentattributter, der bruges til at beskytte hukommelsen og bestemme adgangsrettigheder til segmentet for forskellige programmoduler. Der er to typer deskriptortabeller: globale og lokale. Den globale tabel beskriver segmenter af operativsystemet og delte datastrukturer. En lokal tabel kan defineres for hver specifik opgave (proces). Hukommelsessegmenter vælges også af de samme segmentregistre; i stedet for afsnitsnummeret indeholder segmentregistret dog en speciel struktur (selektor), der indeholder indekset for deskriptoren i tabellen. Selve deskriptoren indlæses fra hukommelsen til et internt, programmatisk utilgængeligt register (cache), bundet til hvert segmentregister og indlæses automatisk på tidspunktet for dets ændring.

Hvert programmodul, der udføres i beskyttet tilstand, er defineret af dets kodesegment, beskrevet af CS-registret, som bestemmer dets privilegier til at få adgang til data og andre moduler. Der er 4 privilegieniveauer (0, 1, 2 og 3) kaldet beskyttelsesringe. Ring 0 er den mest privilegerede. Det er beregnet til operativsystemets kernemoduler. Ring 3 er den mindst privilegerede og er reserveret til brugerprogrammer. Ring 1 og 2 bruges kun af nogle operativsystemer. Datasegmenter har også tilladelsesattributter, der kun tillader adgang til kode, der har samme eller højere privilegier. Ringesystemet giver dig mulighed for fleksibelt at distribuere adgang til kode og data.

80386-processoren, der dukkede op i 1985, blev i modsætning til sine forgængere 32-bit. Den har mulighed for at adressere op til 4 gigabyte hukommelse, hvilket gjorde det muligt at oprette hukommelsessegmenter på størrelse med hele adresserummet. Derfor brugte nye operativsystemer en degenereret hukommelsesorganisationsmodel, når alle segmenter starter ved adresse nul. En sådan model kaldes en flad hukommelsesmodel, og adressen er givet af et enkelt 32-bit heltal (selvom det faktisk er en offset inden for et degenereret segment), og selve segmenterne bruges udelukkende til at organisere beskyttelse langs privilegeringsringe.

Virtuel 8086-tilstand (V86)

Det er en undertilstand af beskyttet, men bruger en adressemodel, der ligner rigtig tilstand. Bruges til at køre gamle 8086-programmer på moderne operativsystemer. I modsætning til real mode, hvor alle programmer har adgang til al hukommelse (ring 0), kører programmet i V86 mode i ring 3 (den mindst privilegerede), og undtagelser og afbrydelser håndteres af normale beskyttede mode rutiner.

Blandede tilstande

Segment- MMU af moderne processorer, på trods af de kardinale forskelle mellem de to hovedtilstande, fungerer på samme måde i begge. Dette giver dig mulighed for at organisere ikke-standardtilstande, der ikke er beskrevet i den officielle dokumentation, men nogle gange meget nyttige, når du skriver programmer. Da det er kendt, at interne deskriptor-caches bruges i alle tilstande, og de bruges til hukommelsesadressering, hvis du forstår logikken i deres arbejde, er det muligt at indlæse ikke-standardværdier for den aktuelle tilstand i dem. Især kan du oprette en deskriptor-tabel i reel tilstand, indstille PE-flaget, indlæse segmentregistrene, der allerede er i beskyttet tilstand, og derefter straks nulstille PE-flaget. Indtil næste genindlæsning af segmentregisteret vil dets deskriptorcache indeholde værdien svarende til den beskyttede tilstand, og hvis den blev indlæst korrekt, vil det være muligt at adressere op til 4 GiB hukommelse. Sådanne ikke-standardtilstande kaldes tilsammen Unreal mode og bruges aktivt af BIOS på personlige computere. 80286 havde også evnen til at indlæse ikke-standard deskriptor-cacheværdier ved hjælp af den udokumenterede LOADALL-kommando; hvilket især gjaldt, da 80286-processoren ikke tillod PE-flaget at blive nulstillet (den beskyttede tilstand blev afsluttet ved at nulstille processoren, hvilket påvirkede ydeevnen).

Søgning af hukommelse

I processorer, startende med 80386, dukkede en kraftfuld MMU op , så du kan organisere visningen af ​​hukommelsessider , hvilket var en anden grund til overgangen til en flad model med fremkomsten af ​​32-bit databehandling. Ved at bruge sideoversættelse kan operativsystemet oprette sit eget lineære adresserum for hver proces; også hver side har adgangsrettigheder attributter. I modsætning til segmenter er der kun 2 sådanne niveauer: bruger og supervisor. Men for de fleste moderne operativsystemer er dette ganske nok. Paging MMU er kun tilgængelig i beskyttet tilstand.

Udvidelser

PAE

I senere 32-bit processorer (startende med Pentium Pro), dukkede PAE (Physical Address Extension) op - en udvidelse af fysiske hukommelsesadresser til 36 bit (evnen til at adressere 64 GB RAM). Denne ændring påvirkede ikke opgavernes bithed - de forblev 32-bit.

MMX

Yderligere "multimedia" ( engelsk  Multi-Media eXtensions ) et sæt instruktioner, der udfører flere handlinger, der er typiske for processerne med kodning/afkodning af streaming af lyd/videodata i én maskininstruktion. Dukkede først op i Pentium MMX-processorer. Giver kun heltalsberegninger.

SSE

SSE ( Streaming  SIMD Extensions  - streaming SIMD extension) - SIMD ( Single Instruction ,  Multiple Data  - "en instruktion - en masse data") et sæt instruktioner udviklet af Intel og først introduceret i Pentium III -seriens processorer . Understøtter flydende kommaberegninger. SSE består af otte 128-bit registre (xmm0 til xmm7). Hvert register definerer 4 på hinanden følgende enkelt præcisions flydende kommaværdier. SSE inkluderer instruktioner, der udfører operationer på skalære og indrammede datatyper.

SSE2

Forbedret SSE-udvidelse. Dukkede op i Pentium 4-processorer . Udfører streaming-beregninger med reelle tal med dobbelt præcision (2 numre på 64 bit i ét SSE-register). Derudover er der tilføjet instruktioner svarende til MMX- udvidelsen , der arbejder med SSE-registre (16 bytes, 8 ord, 4 dobbeltord eller 2 quad-ord i ét register). SSE2 indeholder en række cachehåndteringsinstruktioner designet til at minimere cacheforurening ved håndtering af udefinerede informationsstrømme.

SSE3

En fortsættelse af SSE og SSE2 dukkede op i Prescott -processorer . SSE3-sættet indeholder 13 instruktioner: FISTTP (x87), MOVSLDUP (SSE), MOVSHDUP (SSE), MOVDDUP (SSE2), LDDQU (SSE/SSE2), ADDSUBPD (SSE), ADDSUBPD (SSE2), HADDPS (SSE), HSUBPS ( SSE), HADDPD (SSE2), HSUBPD (SSE2), MONITOR (ingen analog i SSE3 for AMD), MWAIT (ingen analog i SSE3 for AMD). Den mest bemærkelsesværdige ændring er evnen til at arbejde horisontalt med registre. Mere specifikt er der tilføjet instruktioner til at tilføje og trække flere værdier gemt i det samme register. Disse kommandoer har forenklet en række DSP- og 3D-operationer. Der er også en ny kommando til at konvertere flydende kommaværdier til heltal uden at skulle foretage ændringer i den globale afrundingstilstand.

SSSE3

Tilføjelse til SSE3 for at arbejde med pakkede heltal. Nyt i SSSE3 sammenlignet med SSE3 er 16 unikke pakkede heltalskommandoer. Hver af dem kan arbejde med både 64-bit (MMX) og 128-bit (XMM) registre, så Intel henviser til 32 nye kommandoer i sine materialer.

Kategorier af nye instruktioner: fortegnsoperation, skift, shuffling af bytes, multiplikationer, horisontale additioner og subtraktioner af heltal.

SSE4

Et nyt Intel-instruktionssæt først implementeret i Penryn -serien af ​​processorer .

SSE4 består af 54 instruktioner, 47 af dem er klassificeret som SSE4.1 (de er kun i Penryn-processorer ). Det fulde instruktionssæt (SSE4.1 og SSE4.2, dvs. 47 + resterende 7 instruktioner) er tilgængeligt i Nehalem-processorer . Ingen af ​​SSE4-instruktionerne virker med 64-bit mmx-registre, kun med 128-bit xmm0-15. 32-bit processorer med SSE4 blev ikke frigivet.

Instruktioner er blevet tilføjet for at fremskynde bevægelseskompensation i video-codecs , hurtig læsning fra USWC-hukommelse, en masse instruktioner til at forenkle vektoriseringen af ​​programmer af compilere. Derudover er instruktioner til behandling af strenge på 8/16 bit tegn, CRC32 beregninger, popcnt tilføjet til SSE4.2. For første gang i SSE4 blev xmm0-registret brugt som et implicit argument for nogle instruktioner.

Nye SSE4.1-instruktioner inkluderer videoacceleration, vektorprimitiver, indsættelse/ekstraktion, vektorpunktmultiplikation, blanding, bitkontrol, afrunding og læsning af WC-hukommelse.

De nye SSE4.2-instruktioner inkluderer strengbehandling, CRC32- tælling, optælling af en population på 1 bit og arbejde med vektorprimitiver.

SSE5

AMDs nye x86 instruktionsudvidelse kaldet SSE5. Det blev annonceret i 2007, men blev aldrig implementeret som oprindeligt tænkt. Senere erstattet af XOP , FMA , F16C .

AVX

Det næste sæt udvidelser fra Intel. Behandlingen af ​​flydende kommatal pakket ind i 256-bit "ord" er understøttet. For dem introduceres understøttelse af de samme kommandoer som i SSE-familien. 128-bit SSE-registre XMM0 - XMM15 udvides til 256-bit YMM0-YMM15

Intel Post 32 nm processorudvidelser er et nyt Intel-instruktionssæt, der giver dig mulighed for at konvertere halvpræcisionstal til enkelt- og dobbeltpræcisionstal, få ægte tilfældige tal i hardware og få adgang til FS/GS-registrene.

AVX2

Videreudvikling af AVX. SSE-heltalsinstruktioner begynder at arbejde med 256-bit AVX-registre.

AES

AES-instruktionssætudvidelsen er en mikroprocessorimplementering af AES-kryptering .

3DNu!

Et sæt instruktioner til strømbehandling af reelle tal med enkelt præcision. Understøttet af AMD-processorer siden K6-2. Ikke understøttet af Intel-processorer.

3DNu! brug MMX-registre som operander (to enkelte præcisionsnumre placeres i ét register), og derfor er det, i modsætning til SSE, ikke nødvendigt at gemme 3DNow!-konteksten separat ved skift af opgaver.

64-bit tilstand

I begyndelsen af ​​2000'erne blev det klart, at x86-arkitekturens 32-bit adresserum begrænsede ydeevnen af ​​applikationer, der arbejder med store mængder data. Det 32-bit adresserum gør det muligt for processoren at adressere kun 4 GB data direkte. Dette er muligvis ikke tilstrækkeligt for nogle applikationer såsom videobehandling eller databasevedligeholdelse .

For at løse dette problem udviklede Intel den nye IA-64-arkitektur, grundlaget for Itanium -processorfamilien . For at sikre bagudkompatibilitet med ældre applikationer, der bruger 32-bit kode, introducerede IA-64 en emuleringstilstand. I praksis viste denne funktion sig imidlertid at være ekstremt langsom.

AMD har foreslået en alternativ løsning på problemet med at øge processorkapaciteten. I stedet for at opfinde et helt nyt instruktionssæt, blev det foreslået at introducere en 64-bit udvidelse til den allerede eksisterende 32-bit x86-arkitektur. Oprindeligt hed den nye arkitektur x86-64, senere blev den omdøbt til AMD64. Oprindeligt blev det nye instruktionssæt understøttet af AMD's Opteron , Athlon 64 og Turion 64 familier af processorer. Succesen med processorer, der bruger AMD64-teknologi, sammen med en træg interesse for IA-64-arkitekturen, fik Intel til at licensere AMD64-instruktionssættet. Samtidig blev der tilføjet en række specifikke instruktioner, som ikke fandtes i det originale AMD64 sæt. Den nye version af arkitekturen fik navnet EM64T.

I litteraturen og versionsnavnene på deres softwareprodukter bruger Microsoft og Sun den kombinerede AMD64/EM64T-navngivning, når de refererer til 64-bit versioner af deres henholdsvis Windows- og Solaris -operativsystemer . Samtidig bruger softwareleverandører til operativsystemer i Linux -familien , BSD etiketterne "x86-64" eller "amd64", og i Mac OS X bruges etiketten "x86_64", hvis det er nødvendigt at understrege, at dette software bruger 64-bit instruktioner.

Virtualisering

Processorer

Intel-processorer

8086

16-bit Intel 8086-processoren blev skabt i juni 1978. Først virkede den ved en frekvens på 5 MHz, derefter ved 8 og 10 MHz. Den blev lavet ved hjælp af 3 mikron teknologi og havde 29.000 transistorer.

8088

Lidt senere, i 1979, blev Intel 8088 udviklet, som fungerede på samme frekvenser som Intel 8086, men brugte en 8-bit databus (den interne processorbus forblev 16-bit) for at sikre større kompatibilitet med den daværende tilgængelige i bevægelse rundt i periferien. På grund af dens lavere pris blev den meget brugt i tidlige IBM PC-systemer i stedet for 8086.

80186 / 80188

I 1982 blev 80186 og 80188 udgivet, som i starten ikke var meget brugt. Samtidig viste disse processorer sig at være yderst vellykkede til brug i indlejrede systemer og bliver stadig produceret i forskellige modifikationer. [3] Adskillige nye instruktioner blev oprindeligt tilføjet til disse processorer, og clockhastigheden blev øget. Efterfølgende dukkede ændringer op, der indeholdt yderligere hardware, såsom integrerede serielle portcontrollere.

80286

Annonceret i 1982. Han arbejdede ved frekvenser på 6, og derefter 8, 10, 12, 16, 20 MHz. Den blev produceret i henhold til 1,5 mikron procesteknologi og indeholdt omkring 134 tusind transistorer. Med dets udseende dukkede et koncept som beskyttet tilstand (beskyttet tilstand) og virtuel hukommelse op. Processorens ydeevne sammenlignet med 8086 steg flere gange (0,99-2,6 millioner operationer pr. sekund).

80386 (i386)

Den første 32-bit processor kørte ved 16-40 MHz. Dukkede op i 1985. Det markerede en revolution i verden af ​​x86-processorer. De grundlæggende principper, der er fastlagt i denne chip, har overlevet uden grundlæggende ændringer til i dag (i al denne tid har ændringerne primært drejet sig om at øge ydeevnen, udvide instruktionssættet og øge bitdybden). De første 386 processorer indeholdt en alvorlig fejl, der gjorde det umuligt at fungere i beskyttet tilstand . Den reviderede version hed 386DX.

Billigere i386SX-processorer blev også produceret med en ekstern databus skåret til 16 bit og en 24-bit adressebus.

Til indlejrede applikationer er i386EX-processoren blevet produceret og produceres stadig. Den har on-chip serielle porte, programmerbare timere (Intel 8254-kompatible), prioritetsafbrydelsescontrollere (Intel 8259A-kompatible) og controllere til direkte hukommelsesadgang (Intel 8237A-kompatibel).

i386 var den første processor, der kunne bruge cache-hukommelse (placeret på en ekstern chip).

80486 (i486)

i486-processoren (1989) er en forbedring af 386-processoren og den første Intel-skalære processor (en række operationer blev udført i én clock-cyklus). Den havde en indbygget FPU (Floating Point Unit - en floating point unit) og for første gang - en integreret cache-hukommelse (8 KB). 80486 er den første Intel-processor, der bruger FSB-frekvensmultiplikatorteknologien ( i modellerne DX 2-50, DX2-66, DX4-75 og DX4-100).

For bærbare computere og indlejrede systemer blev der i begyndelsen af ​​1990'erne frigivet en "letvægts" modifikation af i486SX uden en integreret FPU.

Der var også en modifikation til indlejrede applikationer - i486GX . Det var en lavspændings 486SX med databussen trimmet til 16 bit. i486GX-pakke - TQFP-176, frekvenser - fra 16 MHz ved Vcore = 2,0 V til 33 MHz ved 2,7 V.

Intel RapidCad

Intel RapidCad  - modifikation 486, et sæt med to chips. Den vigtigste blev installeret i 386DX-sokkelen og var en 486DX uden L1-cache, men med en coprocessor. En ekstra chip var et stik til 387DX-sokkelen og tjente til at behandle FERR-signalet.

Intel486 Overdrive

Intel486 OverDrive (P23T) er en mikroprocessor designet til at opgradere systemer baseret på Intel 486 mikroprocessoren.

Pentium (i586)

Pentium (1993. Intel forlod nummernavne som 8086, 80286 osv., fordi de ikke kunne patentere numrene) - Intels første superskalære og superpipelinede processor .

Superscalar betyder, at processoren kan udføre mere end én operation pr. clock-cyklus. Super-pipelining betyder, at processoren har flere beregningspipelines . Pentium har to af dem, hvilket gør, at den ideelt set kan være dobbelt så produktiv som 486'eren ved de samme frekvenser og udføre 2 instruktioner pr. ur på én gang.

Derudover havde Pentium-processoren en fuldstændig nydesignet og meget kraftfuld FPU på det tidspunkt , hvis ydeevne forblev uopnåelig for konkurrenter indtil slutningen af ​​1990'erne.

Pentium Over Drive

Pentium OverDrive  er en mikroprocessor designet til at opgradere systemer baseret på Intel 486 mikroprocessorer. Den blev installeret i Socket 3 , havde en dobbelt L1 cache med Write-Thru organisation, en indbygget strømregulator, ×2,5 multiplikation og frekvenser på 63 og 83 MHz .

Pentium Pro (i686)

Pentium Pro (1995) - den første processor i sjette generation. Idéerne og teknologierne indlejret i denne chip bestemte arkitekturerne for alle moderne x86-processorer: grenforudsigelsesenheder, registeromdøbning, RISC-kerne, L2-cachehukommelse integreret i én pakke med kernen . Imidlertid førte den teknologiske kompleksitet af kernen af ​​denne processor til et relativt lavt udbytte af passende chips med datidens teknologier, hvilket påvirkede den høje pris på Pentium Pro. Samtidig havde processoren en ret lav ydeevne ved eksekvering af en 16-bit kode. Derfor blev denne processor kun brugt i high-end systemer og servere.

Pentium MMX (i586)

Pentium MMX (januar 1997) er den femte generations processor, og faktisk blot en modifikation af Pentium-kernen. En ny blok med heltalsmatrixberegninger MMX blev tilføjet, og størrelsen af ​​cachehukommelsen på det første niveau blev øget til 32 KB . Kerneforsyningsspændingen blev reduceret til 2,8 V, mens processorens periferiudstyr blev forsynet med den samme spænding på 3,3 V. Dette krævede at skifte bundkort ved at tilføje en ekstra 2,8 V (MMX-kompatibel) kilde.

Pentium II (i686)

Pentium II (maj 1997) - modifikation af Pentium Pro -kernen for at gøre den mere tilgængelig. Den integrerede cache og cache-tagget blev flyttet for at adskille chips med en halveret frekvens. Dette gjorde processoren enklere og billigere, selvom den gjorde den langsommere end Pentium Pro.

De første Pentium II-processorer blev produceret med en 256 KB L2-cache, derefter blev dens volumen øget til 512 KB.

Det nye design af processoren krævede placering af elementer på printkortet, hvilket igen førte til en ændring i design af processoren. Disse CPU'er blev produceret i form af SECC-patroner installeret i en speciel slot på kortet ( Slot 1 ).

Derudover blev der tilføjet en MMX-blok til Pentium II-kernen.

Celeron

Celeron  er en forenklet modifikation af Pentium II / III / IV / Core / Core 2-processorer til at bygge billige computere. Den første Celeron (Covington-kerne, 266/300 MHz) var en Pentium II uden en cache på andet niveau og en plastikpatron. PCB er også blevet forenklet. Denne pakke kaldes SEPP (Single Edge Processor Package). Som et resultat viste disse processorer en deprimerende lav ydeevne, selvom de var meget billige og nemt tilføjede op til 50 % frekvens, når de blev overclocket. Alle efterfølgende varianter af denne processor havde en integreret fuldfrekvenscache på andet niveau. De væsentligste forskelle mellem Celeron-processorer er i mængden af ​​denne cache og busfrekvensen, og også ofte i den øgede latenstid af adgang til cachehukommelsen i forhold til den originale processor.

Den anden Celeron-modifikation (Mendocino-kerne, frekvenser 300...533 MHz) demonstrerede højere ydeevne i mange opgaver end Pentium II med samme frekvens. Dette blev forklaret med, at den lille (128 KB) Mendocino-cache var placeret på samme chip som kernen og opererede på kernefrekvensen, mens den store (512 KB) Pentium II-cache lå langt nok fra kernen og opererede kl. halvdelen af ​​frekvensen. Intel tillod ikke flere sådanne fejl, og alle efterfølgende Celerons er garanteret langsommere end fuldgyldige processorer af samme generation.

Pentium III (i686)

Pentium III , der oprindeligt blev fremstillet på en 0,18 µm proces , adskiller sig fra P2 hovedsageligt ved tilføjelse af SSE instruktioner . De senere processorer i denne serie blev fremstillet i henhold til 0,13 mikron procesteknologi, modtog en fuldfrekvens cache-hukommelse integreret i kernechippen (først 256 KB, derefter 512 KB) og fungerede som en prototype for Pentium M -arkitekturprocessorerne . De blev produceret i både SECC/SECC2 (Slot 1) og FCPGA-370 (PGA-370) design.

Pentium M

Pentium M  er en stærkt modificeret version af Pentium III-processoren baseret på Tualatin-kernen, designet til brug i mobile computere.

Pentium 4 (i786)

Pentium 4 er en revolutionerende hyperpipelining -  processor med en 20-trins pipeline. Ifølge Intel kan processorer baseret på denne teknologi opnå en frekvensstigning på omkring 40 % i forhold til P6-familien med den samme teknologiske proces (med den "korrekte" processorbelastning). I praksis arbejdede den første generation af processorer endnu langsommere end Pentium III.

Senere blev de suppleret med understøttelse af Hyper-threading og 64-bit kode.

Core/Core 2

Efter svigt af den seneste generation af Pentium 4-processorer baseret på Tejas-kernen, blev det besluttet at henvende sig til en anden gren af ​​mikroarkitekturen. Processorerne er baseret på en nydesignet Pentium M -kerne . Således fortsatte P6-kernen, der blev brugt i Pentium Pro-processorer , sin udvikling, øgede frekvensen fra 150 MHz til 3,2 GHz og erhvervede en ny systembus, understøttelse af multi-core, multimedie-instruktioner.

Core-processorer er  en løsning til bærbare computere , single- og dual-core, der udfører 32-bit kode.

Core 2-processorer  - tilgængelig i både desktop- og mobilversioner, inkluderer en række mikroarkitektoniske forbedringer og er i stand til at udføre 32/64-bit kode. Antallet af kerner varierer fra en til fire.

Core i7/Core i5/Core i3

Videreudvikling af ideerne i Core 2-processorerne . Efter at have bevaret det grundlæggende design af processorkerner, fik den første Core i7 , der dukkede op , en modulær struktur, der gør det nemt at variere deres antal, en integreret hukommelsescontroller (tre-kanals DDR3 i high-end segmentet og dual-channel DDR3 i mainstream) og en ny bus, der forbinder processoren med chipsættet. Mikroarkitektoniske forbedringer gør det muligt for Core i7 at yde bedre end Core 2 ved lige frekvenser. Der blev lagt stor vægt på energieffektiviteten af ​​den nye processor.

Senere dukkede billigere Core i5 / i7 op med en dual-channel memory controller og fire kerner, derefter Core i3 / i5 med to kerner og en integreret videokerne.

I sektoren for de mest produktive løsninger produceres også Core i7-processorer med en tre-kanals hukommelsescontroller og seks kerner. Takket være brugen af ​​Hyper-threading-teknologi er disse processorer i stand til samtidigt at udføre op til 12 instruktionstråde.

Også i Intels sortiment er der særligt produktive processorer til hjemme-pc'er: Core i7 med en tre-kanals hukommelsescontroller og otte kerner. Antallet af tråde er steget til 16.

atom

Intel Atom  - lavpris ultra-effektive single- og dual-core processorer designet til brug i de såkaldte internetcomputere - netbooks og nettops (computere, hvori computerkraften ofres til fordel for effektivitet, støjfrihed og lille størrelse).

Den er baseret på en modificeret kerne fra de første Pentiums, som blev tilpasset til den nye procesteknologi, tilføjede muligheden for at udføre 64-bit kode og multimedieinstruktioner, samt en cache på andet niveau og understøttelse af multi-threaded eksekvering ( SMT , en analog af Hyper-threading ). For at forenkle designet blev det besluttet at opgive udførelse af kommandoer uden for orden, hvilket havde en dårlig effekt på ydeevnen.

Gennem indsatsen fra Intel blev de nye Atom-serieprocessorer udstyret med 4 fulde kerner og forbedret brancheforudsigelse, hvilket gjorde det muligt for nye tablet-pc'er baseret på dem at blive konkurrencedygtige i ydeevne med bærbare computere i mellemklassen, der blev udgivet i slutningen af ​​2000'erne.

xeon

En familie af processorer fokuseret på servere og multi -threaded computing .

Den første repræsentant for denne familie var baseret på Pentium II -arkitekturen , det var en patron med et printkort, hvorpå kernen, L2-cache og cache-tag var monteret. Monteret i slids Slot 2 .

Moderne Xeons er baseret på Core 2 / Core i7- arkitekturen .

AMD-processorer

Am8086 / Am8088 / Am186 / Am286 / Am386 / Am486

Kloner af tilsvarende processorer fra Intel. Normalt produceret med en maksimal frekvens et hak højere end originalen. Op til 486DX2-66 var der ingen andre forskelle mellem processorerne. Det var næsten umuligt at skelne disse processorer programmæssigt, men ved at ændre programkoden i assembler var det muligt at måle størrelsen af ​​mikroprocessorinstruktionsbufferen, som fandtes i intel-processorer op til pentium og havde en anden størrelse i bytes, med en tæller og skelne en type processor fra en anden. Også ved at analysere evnen til at udføre forskellige yderligere kommandoer, der blev tilføjet i forskellige modeller af mikroprocessorer, var det muligt at skelne alle disse mikrokredsløb.

5x86

Klon i486. Mens Intel stoppede ved 100 MHz for i486, frigav AMD processorer med frekvenser op til 133 MHz. De adskilte sig også ved en øget volumen af ​​cachen på første niveau (16 KB) og en multiplikator (×4).

K5 /SSA5

Pentium analoger. De første processorer udviklet af AMD uafhængigt. På trods af overlegenheden i heltalsoperationer i forhold til analoger fra Intel (en række sjette generations teknologier blev brugt i kernen af ​​denne processor), var ydeevnen af ​​flydende komma-enheden betydeligt ringere end Pentium-processorer med en lignende klokfrekvens. Derudover var der dårlig kompatibilitet med software fra nogle producenter. Manglerne ved K5 blev stærkt overdrevet i forskellige online og andre uformelle diskussioner og bidrog til den (generelt uretfærdige) forringelse af AMD-produkternes omdømme hos brugerne i lang tid. [fire]

K6

Splinterny AMD-processor (april 1997), baseret på en kerne købt hos NexGen . Denne processor havde en femte generations konstruktion, men tilhørte den sjette generation og var positioneret som en konkurrent til Pentium II . Inkluderet en MMX-blok og en noget redesignet FPU -blok . Disse blokke arbejdede dog stadig 15-20 % langsommere end Intel-processorer med tilsvarende frekvens. Processoren havde 64 KB L1-cache.

Samlet set gjorde Pentium II-lignende ydeevne, kompatibilitet med ældre bundkort og en tidligere lancering (AMD introducerede K6 en måned tidligere end Intel introducerede P-II) og lavere pris, der gjorde den ret populær, men AMD's produktionsproblemer spolerede markant omdømmet til denne processor.

K6-2

Videreudvikling af K6-kernen. Disse processorer har tilføjet understøttelse af det specialiserede 3DNow! . Den reelle ydeevne viste sig dog at være væsentligt lavere end Pentium II'er med tilsvarende clocket (dette skyldtes det faktum, at ydelsesforstærkningen med stigende frekvens var højere for P-II på grund af den interne cache) og kun Celeron kunne konkurrere med K6-2. Processoren havde 64 KB L1-cache.

K6-III

Mere teknologisk succesfuld end K6-2, et forsøg på at skabe en analog af Pentium III . Det var dog ikke nogen marketingsucces. Det udmærker sig ved tilstedeværelsen af ​​64 KB af cache på første niveau og 256 KB af cache på andet niveau i kernen, hvilket gjorde det muligt for den at udkonkurrere Intel Celeron ved en lige clockfrekvens og ikke være væsentligt ringere end den tidlige Pentium III.

K6-III+

Svarende til K6-III med PowerNow! og højere frekvens og udvidet instruktionssæt. Oprindeligt beregnet til bærbare computere . Det blev også installeret i desktop-systemer med en Super 7 -processor socket . Bruges til at opgradere desktop-systemer med et Socket 7 -processorstik (Kun på bundkort, der leverer to spændinger til processoren, den første til processor I/O-blokke og den anden til processorkernen. Ikke alle producenter leverede dobbelt strøm på de første modeller af deres bundkort med en socket socket 7).

K6-2+

En analog af K6-III + med en cache på andet niveau skåret ned til 128 KB.

Athlon

En meget succesfuld processor, takket være hvilken AMD var i stand til at genvinde sin næsten tabte position på mikroprocessormarkedet. Cachen på det første niveau er 128 KB. Oprindeligt blev processoren produceret i en patron med en cache på andet niveau (512 KB) på kortet og installeret i Slot A (som er mekanisk, men ikke elektrisk kompatibel med Intels Slot 1 ). Så skiftede jeg til Socket A og havde 256 KB L2-cache i kernen. Med hensyn til hastighed er det en omtrentlig analog til Pentium III.

Duron

En strippet version af Athlon adskiller sig fra sin overordnede i størrelsen af ​​det andet niveaus cache (kun 64 KB, men integreret i chippen og kører på kernefrekvensen).

Celeron-konkurrent fra generationerne Pentium III / Pentium 4. Ydeevnen er mærkbart højere end tilsvarende Celerons, og i mange opgaver matcher den Pentium III.

Athlon XP

Fortsat udvikling af Athlon-arkitekturen. Med hensyn til ydeevne er den analog med Pentium 4 . Sammenlignet med almindelig Athlon er der tilføjet understøttelse af SSE -instruktioner .

Sempron

En billigere (på grund af den reducerede L2-cache) version af Athlon XP- og Athlon 64-processorerne.

De første Sempron-modeller blev ommærket til Thoroughbred og Thorton Athlon XP-chips med 256 KB L2-cache og kørte på en 166 (333 DDR) bus. Senere blev nedstrippede versioner af Athlon 64/Athlon II produceret (og bliver produceret) under Sempron-mærket, positioneret som konkurrenter til Intel Celeron. Alle Semprons har en trunkeret niveau 2-cache; yngre Socket 754-modeller havde Cool&quiet og x86-64 blokeret ; Socket 939-modeller havde en blokeret dual-channel memory mode.

Opteron

Første processor, der understøtter x86-64-arkitekturen .

Athlon 64

Den første ikke-server-processor, der understøtter x86-64-arkitekturen.

Athlon 64X2

Fortsættelse af Athlon 64-arkitekturen, har 2 kerner.

Athlon FX

Havde et ry som "den hurtigste legetøjsprocessor". Det er i virkeligheden en Opteron 1xx-serverprocessor på desktop-sockets uden understøttelse af registreret hukommelse. Produceret i små partier. Det koster meget mere end dets "masse" modstykker.

Fænom

En videreudvikling af Athlon 64-arkitekturen er tilgængelig i versioner med to (Athlon 64 X2 Kuma), tre ( Phenom X3 Toliman) og fire ( Phenom X4 Agena) kerner.

Fænom II

Fænom modifikation . Små arkitektoniske ændringer, overgangen til en tyndere procesteknologi og tilføjelsen af ​​L3-cache fra 4 til 6 MB tillod disse processorer at øge ydeevnen med 10-20% sammenlignet med deres forgængere. Tilgængelig i Socket AM2+ og Socket AM3 designs . Samtidig kan førstnævnte kun fungere med DDR2-hukommelse, mens sidstnævnte kan fungere med både DDR2 og DDR3. Det maksimale antal kerner er steget til seks.

Athlon II

Phenom II uden L3-cache og ikke mere end fire kerner.

Turion

En mobil version af Athlon 64 med reduceret strømforbrug og avanceret strømstyring. Fås i versioner med en og to kerner.

Athlon Neo

De mest strømoptimerede single- og dual-core processorer, nære slægtninge til den mobile Sempron og Turion 64 X2. Fås i BGA-design, designet til brug i lette og tynde bærbare computere. Positioneret som konkurrenter til Intel Atom.

Geode

En integreret løsning ( SoC ), der inkluderer chipsættenes northbridge- funktionalitet. Modeller med navnet SCxxxx kombinerer processorkernen, hukommelsescontrolleren, grafikadapteren og I/O-controlleren i én pakke. Processorerne er designet til at bygge tynde klienter , brugerdefinerede set-top-bokse og indlejrede controllere . Hele serien har lavt strømforbrug og lave omkostninger.

De første modeller blev produceret af Cyrix under navnet MediaGX og havde en Cyrix 6x86 kerne . Efter National Semiconductors overtagelse af Cyrix og videresalget af varemærket til VIA , blev processoren omdøbt til Geode, og udviklingen af ​​processoren blev fortsat af National Semiconductors ingeniører. Efterfølgende blev chippen og alle udviklinger solgt til AMD. Nu produceres Geode af AMD i tre versioner. Geode LX og Geode GX er baseret på den gamle Cyrix 6x86 kerne . Geode NX har en Athlon XP-kerne. Udviklingen af ​​denne familie stoppede tilbage i 2006, men chipsene vil blive ved med at blive produceret, så længe der er efterspørgsel efter dem.

Harris Semiconductor processorer

Harris 8086/88

Harris Semiconductor producerede Intel 8086/8088 kloner [5]  - Harris HS80C86/883 og HS80C88/883.

Harris 286

Harris Semiconductor producerede de hurtigste kloner af 80286-processoren med hensyn til frekvens  - den maksimale frekvens af HS80C286 var 25 MHz (hele linjen var 12, 16, 20 og 25 MHz). Processorkernen var en nøjagtig kopi af Intel 80286, ligesom de fleste andre kloner.

Cyrix-processorer

Cx486-SLC

Processorer designet til at blive installeret i 386SX-sokkelen. De havde en cachehukommelse på første niveau på 1 KB og et sæt instruktioner til 486 processorer. De havde ikke en indbygget coprocessor. I fremtiden blev der også produceret modeller med frekvensfordobling (Cx486SRx²). De var primært beregnet til en billig opgradering af computere med en 386SX-processor.

Cx486-DLC

Processorer designet til at blive installeret i 386DX-sokkelen. De havde en cachehukommelse på første niveau på 1 KB og et sæt instruktioner til 486 processorer. De havde ikke en indbygget coprocessor. I fremtiden blev der også produceret modeller med frekvensfordobling (Cx486DRx²). De var primært beregnet til en billig opgradering af computere med en 386DX-processor.

Cx486-S

En analog af i486SX af Cyrix' eget design. Ydeevne ringere end analoger fra Intel og AMD.

Cx486-DX

En analog til i486DX af Cyrix' eget design. Lidt ringere i heltalsydeevne i forhold til analoger fra Intel og Amd, men overgik dem i flydende kommaberegninger (det var påvirket af, at de 386 matematiske coprocessorer udviklet af Cyrix var blandt de bedste).

Cx5x86 (M1sc)

Et biprodukt af M1-udvikling er M1-skalaren, en forenklet version af den til socket 486. Den blev udgivet for at imødegå Intels Pentium. Cx5x86 brugte de arkitektoniske funktioner, der er iboende i den femte generation af processorer - en pipelinet ALU, en grenforudsigelsesenhed, afkodning og udførelse af instruktioner i én cyklus. Den tilbageskrivningscache, der var fælles for instruktioner og data, havde en størrelse på 16 KB. Processoren viste sig at være ganske vellykket, men formåede ikke at få meget distribution. Produceret med frekvenser på 100 og 120 MHz.

Cx6x86 (M1)

På trods af antydningen af ​​6. generation af processorer i navnet, var Cx6x86 en 5. generations processor. Processorkernen er superskalær. Cachen på første niveau er generel, 16 KB. Mærkningen af ​​disse processorer brugte den såkaldte Pentium Rating. For eksempel skulle en processor med en PR-200 matche ydeevnen af ​​en Intel Pentium-processor med en frekvens på 200 MHz. I dette tilfælde kan den faktiske frekvens af processoren være meget lavere. Disse processorer blev produceret med en frekvens på 80 til 150 MHz og PR fra 90+ til 200+. Senere blev der også produceret en modifikation med reduceret strømforbrug og dobbelt effekt - Cx6x86L.

Cx6x86MX (MII)

En forbedret version af Cx6x86 blev kaldt Cx6x86MX. De vigtigste forskelle er cachen på første niveau øget til 64 KB, understøttelse af MMX-instruktioner. Frekvenser - 133 ... 233 MHz, PR - 166 ... 266. Efterfølgende modtog processoren understøttelse af en systembusfrekvens på 100 MHz, og blev kendt som Cyrix MII (dette blev gjort for at positionere processoren som en konkurrent til Intel Pentium II). Frekvenser - 225 ... 300 MHz, PR - 300 ... 433.

MediaGX

Praktisk talt, SoC . Et hus rummede processorkernen (først Cx5x86, derefter Cx6x86MX), RAM- og PCI-buscontrollere og UMA-videokernen. Processoren brugte sin egen socket, blev ikke understøttet af bundkortproducenter og modtog ikke distribution. Frekvenser - 120 ... 180 MHz, PR - 180 ... 233.

Kloner af Cyrix-processorer blev også produceret af IBM, Texas Instruments, SGS Thompson.

På basis af Cyrix-kerner, VIA, AMD, National Semiconductor-processorer er eller blev produceret.

IDT-processorer

IDT-C6 Centaur WinChip

Processoren er udviklet af Centaur Technology  , en afdeling af IDT . Som en Socket 7- processor var den meget tættere i arkitekturen på 80486-processorerne . Én 4-trins heltalspipeline , coprocessoroperationer blev ikke pipelinet . Manglede også eksekvering i uorden, filialforudsigelse og registeromdøbning. Samtidig havde processoren en MMX-instruktionsudførelsesenhed, selvom den var dobbelt så langsom som Pentium MMX . På grund af dette var processorkernen meget enkel, lille i forhold til antal transistorer, dimensioner og strømforbrug. Processorerne blev produceret med frekvenser på 180, 200, 225 og 240 MHz og krævede ikke dobbelt strømforsyning.

WinChip-2

En forbedret version af den tidligere processor. Coprocessoren blev pipelinet, ydeevnen af ​​MMX-blokken blev fordoblet, understøttelse af 3DNow!-instruktioner dukkede op. Frekvenser - 200-250 MHz.

WinChip-2A

Alt det samme, men på en mere subtil teknologi. Som et resultat, behovet for dobbelt strømforsyning (2,8 / 3,3 V).

WinChip-3

Det var planlagt som en forbedret version af den tidligere model. Den vigtigste forbedring er dobbelt cachestørrelse . Den blev dog aldrig frigivet. Centaur Technology blev i sin helhed solgt til VIA , og på baggrund af denne udvikling blev VIA C3 lavet med Samuel-kernen.

OKI-processorer

OKI M80C86

Klon 8086. Produceret i DIP- og QFP-pakker.

OKI M80C88

Klon 8088. Produceret i DIP- og QFP-pakker.

Rise Technology-processorer

Stig MP6

Processor til Socket 7 med understøttelse af MMX instruktioner. Forskellige i lavt strømforbrug og lav produktivitet. Den blev produceret med frekvenser på 150, 166, 190, 200, 250 MHz. Den modtog ikke meget distribution, og mP6-kernen blev solgt til SiS .

VIA-processorer

Cyrix III / VIA C3

Første processor frigivet under VIA -mærket . Udgivet med forskellige kerner fra forskellige udviklingsteams. Socket 370 stik .

Den første udgivelse er baseret på Joshua-kernen, erhvervet af VIA sammen med Cyrix -udviklingsteamet .

Den anden udgivelse er med Samuel-kernen, udviklet på basis af den aldrig udgivne IDT WinChip -3. Det var kendetegnet ved fraværet af en cache-hukommelse på andet niveau og følgelig et ekstremt lavt ydeevne.

Den tredje udgivelse er med Samuel-2-kernen, en forbedret version af den tidligere kerne, udstyret med en cache på andet niveau. Processoren blev produceret ved hjælp af tyndere teknologi og havde reduceret strømforbrug. Efter udgivelsen af ​​denne kerne gav VIA Cyrix III-mærket endelig plads til VIA C3.

Den fjerde udgivelse er med Ezra-kernen. Der var også en Ezra-T-variant tilpasset til at arbejde med en bus designet til Tualatin -kerne Intel-processorer . Videreudvikling i retning af energibesparelse.

Den femte udgivelse er med Nehemiah-kernen (C5P). Denne kerne fik endelig en fuldhastigheds-coprocessor, understøttelse af SSE -instruktioner , samt understøttelse af AES-kryptering og en hardwaregenerator til tilfældige tal. Samtidig mistede processoren understøttelse af 3DNow! .

VIA C7

Videreudvikling af VIA C3. Esther-kerne (C5J), pakke - nano BGA 2 (21×21 mm), loddet direkte på kortet . Tilføjet hardwareunderstøttelse til Secure Hash SHA-1 og SHA-256 og RSA -kryptering , NX-bit- understøttelse, MMX , SSE , SSE2 og SSE3 understøttet . Yderligere reduktion af strømforbruget ved driftsfrekvenser op til 2 GHz. Egen systembus (VIA V4 800 MHz) til kommunikation med chipsættet. Den er også tilgængelig i mobil (VIA C7-M) og desktop (VIA C7-D) versioner.

VIA Eden ESP

En integreret løsning, der inkluderer en VIA C3-processor med en Nehemiah C5P-kerne og en nordbro med integreret UMA-grafik. Den har ekstremt lavt strømforbrug (op til 7 W ved 1 GHz). Fås med frekvenser fra 300 MHz (VIA Eden ESP 3000) til 1 GHz (VIA Eden ESP 10000). Kompatible sydbroer er VT8235M  , VT8237R+ (med SATA-understøttelse), VT8251 (2×1 PCI-E) og VIA 686B.

VIA CoreFusion

Videreudvikling af VIA Eden ESP ideer. Tilgængelig i to versioner - VIA Mark og VIA Luke , som adskiller sig i den integrerede videokerne, understøttet hukommelsestype og driftsfrekvenser. For VIA Mark er det S3 Graphics ProSavage4 / SDR PC133 / 533/800 MHz, og for VIA Luke er det VIA UniChrome Pro / DDR PC3200 / 533/800/1000 MHz. Kompatible sydbroer: VT8235M, VT8237R+ (SATA-kompatibel), VT8251 (2×1 PCI-E) og VIA 686B.

VIA Nano

VIAs første x86-64 - processor, baseret på Isaiah -kernen . Pin kompatibel med VIA C7. Fås i frekvenser fra 1 GHz til 1,8 GHz. Strømforbruget for 1,6 GHz-modellen er op til 17 W ved fuld belastning. Blandt nyskabelserne er den ekstraordinære udførelse af instruktioner. Positioneret som en konkurrent til Intel Atom .

NEC- processorer

Det udgav en række processorer, hvoraf nogle (V20 / V30 kerne) var softwarekompatible med både 80186 og 8080 . Skift mellem driftstilstande blev udført ved hjælp af tre yderligere instruktioner. I hardware lignede de en stærkt accelereret version af 8088 eller 8086 .

Processorer baseret på V33-kernen havde ikke en 8080-emuleringstilstand, men understøttede, ved hjælp af to yderligere instruktioner, en udvidet adresseringstilstand.

NexGen- processorer

Nx586

I marts 1994 blev NexGen Nx586-processoren introduceret. Den var positioneret som en Pentium-konkurrent, men havde i starten ikke en integreret coprocessor. Brugen af ​​en proprietær bus medførte behovet for at bruge proprietære chipsæt, NxVL (VESA Local Bus) og NxPCI 820C500 (PCI), og en inkompatibel processor socket. Chipsættene er udviklet sammen med VLSI og Fujitsu. Nx586 var en superskalær processor og kunne udføre to instruktioner pr. ur. L1-cachen var separat (16 KB for instruktioner + 16 KB for data). L2 cache-controlleren var integreret i processoren, mens selve cachen var placeret på bundkortet. Ligesom Pentium Pro var Nx586 en RISC-processor indeni. Manglen på understøttelse af CPUID-instruktioner i tidlige modifikationer af denne processor førte til, at den programmæssigt blev defineret som en hurtig 386-processor. Det var også forbundet med, at Windows 95 nægtede at blive installeret på computere med sådanne processorer. For at løse dette problem blev der brugt et særligt hjælpeprogram (IDON.COM), som repræsenterede Nx586 til Windows som en 586-klasse CPU. Nx586 blev produceret på IBMs faciliteter.

Der blev også udviklet en Nx587 FPU co-processor, som var monteret på fabrikken oven på processoren. Sådanne "samlinger" blev mærket Nx586Pf. Ved udpegelsen af ​​ydeevnen af ​​Nx586 blev der brugt P-rating - fra PR75 (70 MHz) til PR120 (111 MHz).

Nx686

Den næste generation af NexGen-processorer, som aldrig blev udgivet, men tjente som grundlag for AMD K6.

SiS-processorer

SiS550 [6]

SiS550 SoC-familien er baseret på den licenserede Rise mP6-kerne og er tilgængelig på frekvenser fra 166 til 266 MHz. Samtidig forbruger de hurtigste løsninger kun 1,8 watt. Kernen har tre heltals 8-trins pipelines. Cache L1 separat, 8+8 KB. Den indbyggede coprocessor er pipelinet. SiS550 inkluderer, udover standardsættet af porte, en 128-bit AGP 4x UMA videokerne, 5.1-kanals lyd, understøttelse af 2 DIMM'er (op til 1 GB RAM ), blød modemunderstøttelse og en UDMA100 IDE -controller .

SiS551 tilføjer også et integreret Smart Card og Memory Stick-controller, mens SiS552 tilføjer en MPEG2 -  dekoder , DVD- og VCD - afspilningsacceleration .

SiS551-klonen er også produceret af Jan Yin Chan Electronics Co., LTD (DM&P) under varemærket Vortex86 (chippen er mærket som M6127D) og Xcore Corporation Ltd. mærket som Xcore86 .

Transmeta-processorer

Crusoe

Strengt taget er Crusoe ikke en x86-processor. For at udføre x86-kode bruges en softwareoversætter til interne 128-bit VLIW instruktioner kaldet Code Morphing Software. Dette gør det muligt for processoren at tilpasse sig ethvert sæt instruktioner og forbedrer energieffektiviteten, men ydeevnen af ​​en sådan løsning er naturligvis lavere end for processorer med et indbygget x86-instruktionssystem.

Effektivitet

Udvikling af ideen om at kombinere VLIW-processoren og Code Morphing Software. Den væsentligste forskel fra den tidligere løsning er, at VLIW-instruktioner er blevet 256-bit.

UMC-processorer

UMC Grøn CPU (U5)

U5 er en familie af 80486 klasse mikroprocessorer . De havde flere mærkningsmuligheder: U5SB-40, U5S-Super33 osv. Hovedhøjdepunktet var en væsentligt optimeret mikrokode og et fuldstændig statisk design, som et resultat af hvilket disse processorer havde øget ydeevne (nogle skruppelløse sælgere solgte dem endda som frekvensfordobling processorer - U5S -33 som SX2-66 og U5S-40 som SX2-80). U5S-modellerne havde ikke en matematisk coprocessor , og coprocessor-varianterne skulle hedde U5D, men blev aldrig udgivet.

Intel fik et forbud mod salg af grønne CPU'er i USA med argumentet, at UMC brugte Intels mikrokode i sine processorer uden en licens.

Der var også nogle problemer med softwaren. For eksempel nægtede spillet Doom at køre på denne processor uden at ændre konfigurationen, og Windows 95 ville fryse fra tid til anden. Dette skyldtes det faktum, at programmer fandt en manglende coprocessor i U5S, og forsøg på at få adgang til den endte i fiasko.

Processorer produceret i USSR og Rusland [7]

KR1810VM86 (K1810VM86)

Svarende til 8086 .

  • KR1834VM86 / EKR1834VM86 er en analog af 8086 (mere præcist 80C86 , da den blev produceret ved hjælp af CMOS-teknologi).
  • KR1810VM86M / KM1810VM86M - faktisk en analog af 8086 , men med ændringer - nogle kommandoer fra 80286 er blevet tilføjet . Det blev installeret i ES1842-computeren.
  • K1810VM88  - analog af 8088 .
  • KF1847VM286 (eksportversion EKF1847VM2) - analog af 80286 . Prototyper blev produceret af Dzerzhinsky-fabrikken (udvikler af STC "Belmicrosystems") NPO " Integral ".
Processorer MCST

CJSC MCST har udgivet en serie af Elbrus -mikroprocessorer , der giver dig mulighed for at arbejde i binær kompatibilitetstilstand med x86-arkitekturen. Kompatibilitet sikres gennem software-dynamisk oversættelse af x86-koder ved hjælp af hardwareunderstøttelse indlejret i Elbrus -mikroprocessorens arkitektur .

Processorer BLX IC Design/ICT

BLX IC Design og China Institute of Computer Technology har siden 2001 udviklet MIPS-baserede processorer med hardwareoversættelse af x86-kommandoer. Disse processorer er produceret af STMicroelectronics. Et partnerskab med TSMC overvejes.

Godson (Longxin, Loongson , Dragon)

Godson er en 32-bit MIPS-baseret RISC-processor. Teknologi - 180 nm. Introduceret i 2002. Frekvens - 266 MHz, et år senere - en version med en frekvens på 500 MHz.

Godson 2
  • Godson 2 er en 64-bit RISC-processor baseret på MIPS III. 90 nm teknologi. Med samme frekvens overgår den sin forgænger med 10 gange i ydeevne. Introduceret 19. april 2005.
  • Godson-2E - 500 MHz, 750 MHz, senere - 1 GHz. Teknologi - 90 nm. 47 millioner transistorer, strømforbrug - 5 ... 7,5 W. Den første Godson med hardwareoversættelse af x86-kommandoer, og op til 60 % af processorydelsen bruges på den. Introduceret i november 2006.
  • Godson 2F - 1,2 GHz, tilgængelig siden marts 2007. Der erklæres en stigning i ydeevnen i forhold til forgængeren på 20-30%.
  • Godson 2H - planlagt til udgivelse i 2011. Den bliver udstyret med en integreret videokerne og hukommelsescontroller og er beregnet til forbrugersystemer.
Godson 3 [8]
  • Godson 3 - 4 kerner, 65 nm teknologi. Strømforbrug - omkring 20 watt.
  • Godson 3B - 8 kerner, 65 nm teknologi (28 nm er planlagt), klokfrekvens inden for 1 GHz. Krystalarealet er 300 mm². Flydende komma ydeevne er 128 GigaFLOPS. Strømforbrug på 8-kerne Godson 3-40 W. Oversættelse til x86-kode udføres ved hjælp af et sæt på 200 instruktioner, og oversættelse bruger omkring 20 % af processorens ydeevne. Processoren har en 256-bit vektor SIMD-behandlingsenhed. Processoren er beregnet til brug i servere og indlejrede systemer.
  • Godson 3C - planlagt til udgivelse i 2012 og skulle være 16-core.

Instruktionskodning

I dette afsnit angiver bogstavet "h" efter tallet værdien i hexadecimal notation. Hvis der ikke er noget lignende ved siden af ​​tallet, så er det en decimalværdi.

x86 bruger et relativt simpelt instruktionsnotationsformat, men på grund af nogle undtagelser kan det virke kompliceret. For en sikkerheds skyld kan du tage "Intel® 64 IA-32 Architectures Software Developer's Manual" (tilgængelig på Intel Corporations officielle hjemmeside i PDF-format) som hoveddokumentation. Der er detaljerede oplysninger om alle instruktioner.

Strukturen af ​​en vilkårlig instruktion er som følger:

  1. Præfikser (hver er valgfri):
    1. En-byte adresseændringspræfiks AddressSize (værdi 67h).
    2. Et-byte segmentændringspræfiks (værdier 26h, 2Eh, 36h, 3Eh, 64h og 65h).
    3. Et en-byte BranchHint-præfiks til at angive den foretrukne gren af ​​grenen (værdier 2Eh og 3Eh).
    4. Et 2-byte eller 3-byte komplekst Vex-præfiks (den første byte er altid C4h for 2-byte-versionen eller C5h for 3-byte-versionen).
    5. En-byte låsepræfiks for at forhindre hukommelsesændring af andre processorer eller kerner (værdi F0h).
    6. Et-byte præfiks OperandsSize for at ændre størrelsen af ​​operanden (værdi 66h).
    7. One-byte Obligatorisk præfiks for instruktionskvalifikation (værdier F2h og F3h).
    8. Enkeltbyte-præfikset Repeat betyder gentagelse (værdierne F2h og F3h).
    9. Det en-byte Rex-strukturerede præfiks er nødvendigt for at specificere 64-bit eller udvidede registre (værdier 40h..4Fh).
    10. Escape-præfiks. Består altid af mindst én 0Fh byte. Denne byte efterfølges eventuelt af byte 38h eller 3Ah. Designet til at tydeliggøre instruktioner.
  2. Instruktionsspecifikke bytes:
    1. Byte Opcode (vilkårlig konstant værdi).
    2. Byte Opcode2 (vilkårlig konstant værdi).
    3. Byte Params (har en kompleks struktur).
    4. Byte ModRm bruges til operander i hukommelsen (har en kompleks struktur).
    5. SIB-byten bruges også til operander i hukommelsen og har en kompleks struktur.
  3. Data indlejret i instruktionen (valgfrit):
    1. Offset eller adresse i hukommelsen (Forskydning). Et signeret heltal på størrelse 8, 16, 32 eller 64 bit.
    2. Den første eller eneste umiddelbare operand (Umiddelbar). Kan være 8, 16, 32 eller 64 bit.
    3. Anden umiddelbar operand (Immediate2). Hvis det er til stede, er det normalt 8 bits i størrelse.

I listen ovenfor og nedenfor, for tekniske navne, accepteres navnet "kun latinske, arabiske tal" og minustegnet "-" med en understregning "_", og sagen er CamelCase (ethvert ord starter med store bogstaver og derefter kun små bogstaver, selvom det er en forkortelse: "UTF-8" → "Utf8" - alle ord samlet). Præfikserne AddressSize, Segment, BranchHint, Lock, OperandsSize og Repeat kan blandes. Resten af ​​elementerne skal gå nøjagtigt i den angivne rækkefølge. Og du kan se, at byteværdierne for nogle præfikser er de samme. Deres formål og tilstedeværelse bestemmes af selve instruktionen. Segmenttilsidesættelsespræfikser kan bruges med de fleste instruktioner, mens BranchHint-præfikser kun kan bruges med betingede greninstruktioner. Situationen er den samme med de obligatoriske og gentagende præfikser - et eller andet sted angiver de instruktionen, og et eller andet sted angiver de gentagelse. OperandSize-præfikset sammen med de obligatoriske præfikser omtales også som SIMD-instruktionspræfikser. Separat skal det siges om Vex-præfikset. Det erstatter præfikserne Rex, Mandatory, Escape og OperandsSize og komprimerer dem ind i sig selv. Det er ikke tilladt at bruge Lock-præfikset sammen med det. Selve låsepræfikset kan tilføjes, når destinationen er en operand i hukommelsen.

En oversigtsliste over alle interessetyper med hensyn til instruktionskodning:

  • 16-bit ("Real Mode", real mode med segmentadressering).
  • 32-bit ("Beskyttet tilstand", en beskyttet tilstand med en flad hukommelsesmodel).
  • 64-bit ("Lang tilstand", som 32-bit beskyttet med en flad hukommelsesmodel, men adresserne er allerede 64-bit).

I parentes svarer de engelske navne på tilstandene til de officielle. Der er også syntetiske tilstande som unreal (Unreal x86 Mode), men de følger alle af disse tre (faktisk er de hybrider, der kun adskiller sig i adressestørrelse, operander osv.). Hver af dem bruger den "native" adresseringstilstand, men den kan ændres til en alternativ med OperandsSize-præfikset. I 16-bit-tilstand vil 32-bit-adressering være aktiveret, i 32-bit-tilstand, 16-bit-adressering, og i 64-bit-tilstand, 32-bit-adressering. Men hvis dette gøres, så er adressen nulpolstret (hvis den er mindre), eller dens højordens bit nulstilles (hvis den er større).

Se også

Noter

  1. 80486 32-bit CPU bryder ny jord i chiptæthed og driftsydelse. (Intel Corp.) (produktmeddelelse) EDN | 11. maj 1989 | Pris, Dave
  2. Forsendelser af x86-kompatible kinesiske 16nm Zhaoxin KX-6000-processorer er begyndt . Hentet 3. juli 2019. Arkiveret fra originalen 3. juli 2019.
  3. 80C186XL2 | 80C186X | 80C186 | 80C18 | Elektronisk delesøgning . Hentet 15. juni 2009. Arkiveret fra originalen 26. oktober 2011.
  4. Nedgradering - www.fdd5-25.net  (utilgængeligt link)
  5. PC-CHIPLIST 9.9.5 . Hentet 12. juni 2009. Arkiveret fra originalen 26. oktober 2011.
  6. SiS550 blokdiagram . Dato for adgang: 31. januar 2009. Arkiveret fra originalen 19. april 2009.
  7. Nomenklatur og analoger af husholdningsmikrokredsløb . Hentet 19. november 2008. Arkiveret fra originalen 24. oktober 2008.
  8. Hardware nyheder | Nyheder og artikler | F-Center (utilgængeligt link) . Hentet 27. august 2010. Arkiveret fra originalen 14. august 2010. 

Links

Producentdokumentation Artikler