X86

x86
Utvecklaren Intel , AMD
Lite djup 16, 32 och/eller 64 bitar
Presenteras 1978 (16-bitars), 1985 (32-bitars), 2003 (64-bitars)
Arkitektur CISC
Sorts Register-Memory
SK-kodning Variabel längd (1..15 byte)
Övergångsimplementering skick flaggor
Byte-ordning liten endian
Sidstorlek 8086 - i286 : Ingen MMU
i386 , i486 : 4  KiB sidor
Pentium : 4  MiB sidor
tillagda x86-64 : 1  GiB sidor tillagda.
Tillägg x87 , IA-32 , MMX , SSE , SSE2 , x86-64 , SSE3 , SSSE3 , SSE4 , SSE5 , AVX , AVX2 , SGX
öppna? Delvis. Vissa ytterligare funktioner på x86-arkitekturen kan kräva en licens från Intel, x86-64 kan kräva en ytterligare licens från AMD. 80486-processorn har funnits på marknaden i över 20 år [1] och kan därför inte vara föremål för patentkrav. Det är en delmängd av x86-arkitekturen och är därför helt öppen.
Register
generell mening 16-bitar : 6  register, delvis specialiserade + BP och SP;
32-bitar : 6  RON + EBP och ESP;
64-bitar : 14 RON + RBP och RSP.
Verklig 8 x 80 bitar (staplingsbar)
SIMD SSE : 8 x 128 bitar,
x86-64 : 16 x 128 bitar,
AVX : 16 x 256 bitar,
AVX-512 : 32 x 512 bitar
 Mediafiler på Wikimedia Commons

x86 ( eng.  Intel 80x86 ) - processorarkitektur och instruktionsuppsättning med samma namn , först implementerad i Intel-processorer .

Namnet är bildat av två siffror som slutade med namnen på tidiga Intel-processorer - 8086 , 80186 , 80286 (i286), 80386 (i386), 80486 (i486). Under dess existens har uppsättningen kommandon ständigt utökats, samtidigt som kompatibiliteten med tidigare generationer bibehålls.

Förutom Intel är x86-instruktionsuppsättningen även implementerad i processorer från andra tillverkare: AMD , VIA , Transmeta , IDT , Zhaoxin [2] , MCST (i Elbrus - processorer ), etc. För närvarande finns det ett annat namn för 32- bitversion av arkitekturen - IA -32 ( Intel Architecture  - 32).

Huvuddragen i arkitekturen

x86 är en CISC- arkitektur. Minnet nås ord för ord. "Ord" placeras enligt little-endian- principen , även känt som Intel-formatet. Moderna processorer inkluderar x86-instruktionsavkodare för att konvertera dem till ett förenklat internt format och sedan exekvera dem.

Segmentell organisation av minnet

Verkligt läge

Real mode är det klassiska adresseringsläget som används i de första modellerna i familjen. Adressen till en minnescell (för att arbeta med data eller för att ladda en körbar processorinstruktion) bildas av ett segment (innehållet i ett segmentregister) och en offsetoffset (en konstant, ett register, summan av ett register med en konstant, eller summan av två register med en konstant); detta skrivs som SSSS:OOOO (Segment:Offset), där S och O är hexadecimala siffror. Själva adressen beräknas med formeln "Segment * 16 + Offset".

Gränsadressen som kan nås är FFFF:FFFF, det vill säga FFFF0 + FFFF = 10FFEF eller med orden: "en megabyte + 64 kilobyte - 16 byte". På processorerna 8086, 8088 och 80186 var adressbussen dock bara 20 bitar, och därför hamnade allt som gick utöver en megabyte i början av minnet (i segment noll). Från och med 80286-processorn var det möjligt att välja om man skulle arbeta i samma läge för kompatibilitet eller, med hjälp av HiMem-drivrutinen, använda ytterligare ett minnessegment där DOS och residenta program kunde placeras. (Förutom DOS kan andra operativsystem ha körts på datorn. Information om hur de använde det övre minnet har sannolikt inte bevarats.)

Samtidigt visade sig RAM-minnet så att säga vara heterogent - små datablock kunde bearbetas genom att endast manipulera offsetregistren, och för stora datablock måste segmentregister manipuleras. Följande termer har införts för att beskriva detta:

  • "stycke" - ett minnesblock med en storlek på 16 byte;
  • "sida" - ett minnesblock med en storlek på 256 byte;
  • "segment" - ett minnesblock med en storlek på 65536 byte;

(alla block började med en adress som är en multipel av deras storlek).

Från och med 80386-processorn, med hjälp av DOS4GW-drivrutinen, blev det möjligt att använda real mode med 32-bitars register och adressera upp till fyra gigabyte minne. Själva segmenten behövdes faktiskt inte här.

Mikroprocessorerna 8086/8088, 80186/80188 och 80286 hade fyra segmentregister, det vill säga de kunde arbeta samtidigt med fyra minnessegment som hade ett specifikt syfte:

  • CS - kodsegment, används för att välja programkommandon;
  • DS - datasegment, används som standard för dataåtkomst;
  • ES - ytterligare segment, är mottagaren av data i strängbearbetningskommandon;
  • SS är ett stacksegment som används för att hysa mjukvarustacken .

I 80386 lades två till som inte har ett speciellt syfte:

  • FS - Ytterligare segmentregister, har inget speciellt syfte;
  • GS - Liknar den tidigare, men i nya processorer med 64-bitars arkitektur har den en speciell status: den kan användas för snabb kontextväxling.

Trots att segmentregister har speciella syften tillåter arkitekturen att vissa dataåtkomster ersätter ett segment med vilket som helst annat. Kod-, stack- och raddestinationssegmenten använder alltid CS-, SS- och ES-registren och kan inte ändras.

Segmentmetoden låter dig dela upp hela minnet i 16 segment, börja med adresser som är multiplar av 64 KB. Dessa 16 segment kallas minnessidor. Typiskt används personsökning för samverkan av enheter vars gränssnitt är mappade till ett minnesadressutrymme; sedan använder varje sådan enhet en minnessida, och celladressen i enhetens adressutrymme kommer att matcha offseten i datorns minnessegment. Så i IBM PC-datorer fördelades adressutrymmet på detta sätt:

  • De första tio segmenten (640 KB) i adressutrymmet innehåller RAM, som innehåller:
    • avbryta vektorer;
    • BIOS dataområde;
    • DOS (om den inte tvingas placeras i HiMem);
    • kod och data för pågående program.
  • Två segment gavs för videoadaptern - VideoBIOS och ett "fönster" för att visa videominne i processorns adressutrymme (för CGA, EGA, VGA och andra videoadaptrar var visningsmetoden mycket annorlunda).
  • Tre segment användes för att placera olika saker där, till exempel:
    • program kopplade till ROM, till exempel en BASIC-tolk;
    • BIOS för olika expansionskort, till exempel SCSI-kontroller (SCSI-BIOS var nödvändigt om datorn måste starta från en disk som är ansluten till denna kontroller);
    • "windows" för att visa utökat minne där.
  • Det sista segmentet av den första megabyten var avsett att rymma ROM med start-BIOS. Speciellt adressen FFFF:0000 är den till vilken kontrollen överförs när datorn startar (det vill säga efter hårdvaruinitiering börjar processorn exekvera programmet från denna adress).
  • Det första segmentet bortom den första megabyten är HiMem som diskuterats ovan.

I verkligt läge finns det inget minnesskydd och åtkomsträttigheter, så det är nästan ur bruk. Real mode är dock standardläget för alla x86-familjens processormodeller - processorn börjar sitt arbete i real mode, där BIOS, MBR, BR och den initiala delen av OS-Loader exekveras. Därför inkluderar alla operativsystem som körs på x86-processorer en viss mängd startkod för detta processorläge.

Skyddat läge

Ett mer avancerat läge som först dök upp i 80286-processorn och som har förbättrats många gånger sedan dess. Den har ett stort antal underlägen, som kan användas för att spåra utvecklingen av CPU-familjen. Det här läget stöder minnesskydd, uppgiftssammanhang och verktyg för att organisera virtuellt minne. I likhet med det verkliga läget används också en segmenterad minnesmodell här, men redan organiserad enligt en annan princip: det finns ingen uppdelning i stycken, och platsen för segment beskrivs av speciella strukturer ( deskriptortabeller ) som finns i RAM. Förutom basadressen för segmentet innehåller deskriptorerna segmentets storlek (mer exakt, den maximala tillgängliga offseten) och olika segmentattribut som används för att skydda minne och bestämma åtkomsträttigheter till segmentet för olika programmoduler. Det finns två typer av deskriptortabeller: globala och lokala. Den globala tabellen beskriver segment av operativsystemet och delade datastrukturer. En lokal tabell kan definieras för varje specifik uppgift (process). Minnessegment väljs också av samma segmentregister; men istället för styckenumret innehåller segmentregistret en speciell struktur (selektor) som innehåller indexet för deskriptorn i tabellen. Själva deskriptorn laddas från minnet till ett internt, programmatiskt otillgängligt register (cache), knuten till varje segmentregister och laddas automatiskt vid tidpunkten för dess modifiering.

Varje programmodul som körs i skyddat läge definieras av dess kodsegment, beskrivet av CS-registret, som bestämmer dess privilegier för åtkomst till data och andra moduler. Det finns 4 privilegienivåer (0, 1, 2 och 3) som kallas skyddsringar. Ring 0 är den mest privilegierade. Den är avsedd för operativsystemets kärnmoduler. Ring 3 är den minst privilegierade och är reserverad för användarprogram. Ring 1 och 2 används endast av vissa operativsystem. Datasegment har också behörighetsattribut som endast tillåter åtkomst till kod som har samma eller högre behörighet. Ringsystemet gör att du flexibelt kan distribuera åtkomst till kod och data.

80386-processorn, som dök upp 1985, till skillnad från sina föregångare, blev 32-bitars. Den har förmågan att adressera upp till 4 gigabyte minne, vilket gjorde det möjligt att skapa minnessegment i storleken på hela adressutrymmet. Därför använde nya operativsystem en degenererad minnesorganisationsmodell, när alla segment börjar på adress noll. En sådan modell kallas en platt minnesmodell, och adressen ges av ett enda 32-bitars heltal (även om det i själva verket är en offset inom ett degenererat segment), och själva segmenten används uteslutande för att organisera skydd längs privilegieringar.

Virtuellt 8086-läge (V86)

Det är ett underläge av skyddat, men använder en adressmodell som liknar verkligt läge. Används för att köra gamla 8086-program på moderna operativsystem. Till skillnad från verkligt läge, där alla program har tillgång till allt minne (ring 0), körs programmet i V86-läge i ring 3 (den minst privilegierade), och undantag och avbrott hanteras av vanliga rutiner för skyddat läge.

Blandade lägen

Segmentet MMU för moderna processorer, trots kardinalskillnaderna mellan dess två huvudlägen, fungerar på ett liknande sätt i båda. Detta låter dig organisera icke-standardiserade lägen som inte beskrivs i den officiella dokumentationen, men ibland mycket användbara när du skriver program. Eftersom det är känt att interna deskriptorcacher används i alla lägen, och de används för minnesadressering, om du förstår logiken i deras arbete, är det möjligt att ladda icke-standardvärden för det aktuella läget i dem. I synnerhet kan du skapa en deskriptortabell i verkligt läge, ställa in PE-flaggan, ladda segmentregistren som redan är i skyddat läge och sedan omedelbart återställa PE-flaggan. Fram till nästa omladdning av segmentregistret kommer dess deskriptorcache att innehålla värdet som motsvarar det skyddade läget, och om det laddades korrekt kommer det att vara möjligt att adressera upp till 4 GiB minne. Sådana icke-standardiserade lägen kallas gemensamt Unreal mode och används aktivt av persondatorers BIOS . 80286 hade också förmågan att ladda icke-standardiserade deskriptorcache-värden med det odokumenterade LOADALL-kommandot; vilket var särskilt sant, eftersom 80286-processorn inte tillät att PE-flaggan återställdes (det skyddade läget avslutades genom att återställa processorn, vilket påverkade prestandan).

Personsökning av minne

I processorer, från och med 80386, dök en kraftfull MMU upp , så att du kan organisera visningen av minnessidor , vilket var en annan anledning till övergången till en platt modell med tillkomsten av 32-bitars beräkning. Genom att använda sidöversättning kan operativsystemet skapa sitt eget linjära adressutrymme för varje process; varje sida har också åtkomsträttigheter. Till skillnad från segment finns det bara två sådana nivåer: användare och handledare. Men för de flesta moderna operativsystem är detta tillräckligt. Personsöknings-MMU är endast tillgänglig i skyddat läge.

Tillägg

PAE

I senare 32-bitars processorer (som börjar med Pentium Pro), dök PAE (Physical Address Extension) upp - en förlängning av fysiska minnesadresser till 36 bitar (möjligheten att adressera 64 GB RAM). Den här förändringen påverkade inte uppgifternas bithet - de förblev 32-bitars.

MMX

Ytterligare "multimedia" ( engelska  Multi-Media eXtensions ) en uppsättning instruktioner som utför flera åtgärder som är typiska för processerna för kodning / avkodning av strömmande ljud / videodata i en maskininstruktion. Dök först upp i Pentium MMX-processorer. Ger endast heltalsberäkningar.

SSE

SSE ( Streaming  SIMD Extensions  - streaming SIMD extension) - SIMD ( Single Instruction ,  Multiple Data  - "en instruktion - mycket data") en uppsättning instruktioner utvecklade av Intel och först introducerades i Pentium III -seriens processorer . Stöder flyttalsberäkningar. SSE består av åtta 128-bitars register (xmm0 till xmm7). Varje register definierar 4 på varandra följande enkla precisionsflyttalsvärden. SSE innehåller instruktioner som utför operationer på skalära och boxade datatyper.

SSE2

Förbättrad SSE-förlängning. Dök upp i Pentium 4-processorer . Utför streamingberäkningar med reella tal med dubbel precision (2 nummer på 64 bitar i ett SSE-register). Dessutom har instruktioner liknande MMX- tillägget lagts till som arbetar med SSE-register (16 byte, 8 ord, 4 dubbelord eller 2 fyrord i ett register). SSE2 innehåller ett antal cachehanteringsinstruktioner utformade för att minimera cacheförorening vid hantering av odefinierade informationsströmmar.

SSE3

En fortsättning på SSE och SSE2 dök upp i Prescott- processorer . SSE3-setet innehåller 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 för AMD), MWAIT (ingen analog i SSE3 för AMD). Den mest anmärkningsvärda förändringen är förmågan att arbeta horisontellt med register. Mer specifikt har instruktioner lagts till för att lägga till och subtrahera flera värden lagrade i samma register. Dessa kommandon har förenklat ett antal DSP- och 3D-operationer. Det finns också ett nytt kommando för att konvertera flyttalsvärden till heltal utan att behöva göra ändringar i det globala avrundningsläget.

SSSE3

Tillägg till SSE3 för att arbeta med packade heltal. Nytt i SSSE3, jämfört med SSE3, är 16 unika paketerade heltalsinstruktioner. Var och en av dem kan fungera med både 64-bitars (MMX) och 128-bitars (XMM) register, så Intel hänvisar till 32 nya kommandon i sitt material.

Kategorier av nya instruktioner: signerad operation, skift, blandning av bytes, multiplikationer, horisontella additioner och subtraktioner av heltal.

SSE4

En ny Intel-instruktionsuppsättning som först implementerades i Penryn -serien av processorer .

SSE4 består av 54 instruktioner, 47 av dem är klassificerade som SSE4.1 (de finns bara i Penryn-processorer ). Den fullständiga instruktionsuppsättningen (SSE4.1 och SSE4.2, dvs. 47 + återstående 7 instruktioner) finns tillgänglig i Nehalem-processorer . Ingen av SSE4-instruktionerna fungerar med 64-bitars mmx-register, bara med 128-bitars xmm0-15. 32-bitarsprocessorer med SSE4 släpptes inte.

Instruktioner har lagts till för att påskynda rörelsekompensation i video-codec , snabb läsning från USWC-minne, många instruktioner för att förenkla vektoriseringen av program av kompilatorer. Dessutom har instruktioner för bearbetning av strängar med 8/16 bitars tecken, CRC32-beräkningar, popcnt lagts till i SSE4.2. För första gången i SSE4 användes xmm0-registret som ett implicit argument för vissa instruktioner.

Nya SSE4.1-instruktioner inkluderar videoacceleration, vektorprimitiv, infogning/extraktion, vektorpunktmultiplikation, blandning, bitkontroll, avrundning och läsning av WC-minne.

De nya SSE4.2-instruktionerna inkluderar strängbearbetning, CRC32- räkning, räkning av en population på 1 bitar och arbete med vektorprimitiv.

SSE5

AMD:s nya x86-instruktionstillägg kallad SSE5. Det tillkännagavs 2007, men implementerades aldrig som det ursprungligen var tänkt. Senare ersatt av XOP , FMA , F16C .

AVX

Nästa uppsättning tillägg från Intel. Bearbetningen av flyttalsnummer packade i 256-bitars "ord" stöds. För dem införs stöd för samma kommandon som i SSE-familjen. 128-bitars SSE-register XMM0 - XMM15 expanderar till 256-bitars YMM0-YMM15

Intel Post 32 nm processortillägg är en ny Intel-instruktionsuppsättning som låter dig konvertera halvprecisionsnummer till enkla och dubbla precisionstal, få sanna slumptal i hårdvara och komma åt FS/GS-registren.

AVX2

Vidareutveckling av AVX. SSE-heltalsinstruktioner börjar fungera med 256-bitars AVX-register.

AES

AES-instruktionsuppsättningen är en mikroprocessorimplementering av AES-kryptering .

3DNu!

En uppsättning instruktioner för strömbehandling av reella tal med enkel precision. Stöds av AMD-processorer sedan K6-2. Stöds inte av Intel-processorer.

3DNu! använd MMX-register som operander (två enstaka precisionsnummer placeras i ett register), därför är det, till skillnad från SSE, vid byte av uppgifter inte nödvändigt att spara 3DNow!-kontexten separat.

64-bitars läge

I början av 2000- talet stod det klart att 32-bitars adressutrymmet i x86-arkitekturen begränsade prestandan för applikationer som arbetar med stora mängder data. 32-bitars adressutrymmet tillåter processorn att direkt adressera endast 4 GB data. Detta kanske inte räcker för vissa applikationer som videobearbetning eller databasunderhåll .

För att lösa detta problem utvecklade Intel den nya IA-64-arkitekturen, grunden för Itanium -processorfamiljen . För att säkerställa bakåtkompatibilitet med äldre applikationer som använder 32-bitars kod, introducerade IA-64 ett emuleringsläge. I praktiken visade sig dock detta driftsätt vara extremt långsamt.

AMD har föreslagit en alternativ lösning på problemet med att öka processorkapaciteten. Istället för att uppfinna en helt ny instruktionsuppsättning föreslogs det att införa en 64-bitars tillägg till den redan befintliga 32-bitars x86-arkitekturen. Till en början hette den nya arkitekturen x86-64, senare döptes den om till AMD64. Till en början stöddes den nya instruktionsuppsättningen av AMD:s Opteron , Athlon 64 och Turion 64 processorfamiljer. Framgången för processorer som använder AMD64-teknik, tillsammans med ett trögt intresse för IA-64-arkitekturen, fick Intel att licensiera AMD64-instruktionsuppsättningen. Samtidigt tillkom ett antal specifika instruktioner som inte fanns i originalet AMD64. Den nya versionen av arkitekturen fick namnet EM64T.

I litteraturen och versionsnamnen för sina programvaruprodukter använder Microsoft och Sun den kombinerade AMD64/EM64T-namngivningen när de hänvisar till 64-bitarsversioner av deras Windows- respektive Solaris -operativsystem . Samtidigt använder mjukvaruleverantörer för operativsystem i Linux- familjen , BSD etiketterna "x86-64" eller "amd64", och i Mac OS X används etiketten "x86_64" om det är nödvändigt att betona att detta programvaran använder 64-bitars instruktioner.

Virtualisering

Processorer

Intel-processorer

8086

16-bitars Intel 8086-processorn skapades i juni 1978. Först fungerade den vid en frekvens på 5 MHz, sedan vid 8 och 10 MHz. Den gjordes med hjälp av 3 mikron-teknik och hade 29 000 transistorer.

8088

Lite senare, 1979, utvecklades Intel 8088, som fungerade på samma frekvenser som Intel 8086, men använde en 8-bitars databuss (den interna processorbussen förblev 16-bitars) för att säkerställa större kompatibilitet med den då tillgängliga i rörelse runt periferin. På grund av dess lägre pris användes den i stor utsträckning i tidiga IBM PC-system istället för 8086.

80186 / 80188

1982 släpptes 80186 och 80188, som till en början inte användes i stor utsträckning. Samtidigt visade sig dessa processorer vara extremt framgångsrika för användning i inbyggda system och produceras fortfarande i olika modifieringar. [3] Flera nya instruktioner lades initialt till dessa processorer, och klockhastigheten ökades. Därefter dök det upp modifieringar som innehöll ytterligare hårdvara, såsom integrerade seriella portkontroller.

80286

Tillkännagav 1982. Han arbetade på frekvenserna 6, och sedan 8, 10, 12, 16, 20 MHz. Den producerades enligt 1,5 mikron processteknik och innehöll cirka 134 tusen transistorer. Med sitt utseende dök ett sådant koncept som skyddat läge (skyddat läge) och virtuellt minne upp. Processorprestanda jämfört med 8086 ökade flera gånger (0,99-2,6 miljoner operationer per sekund).

80386 (i386)

Den första 32-bitarsprocessorn körde på 16-40 MHz. Dök upp 1985. Det markerade en revolution i världen av x86-processorer. De grundläggande principerna som fastställts i detta chip har överlevt utan grundläggande förändringar till idag (under hela denna tid har förändringarna främst handlat om att öka prestanda, utöka instruktionsuppsättningen och öka bitdjupet). De första 386 processorerna innehöll en allvarlig bugg som gjorde det omöjligt att fungera i skyddat läge . Den reviderade versionen hette 386DX.

Billigare i386SX-processorer tillverkades också med en extern databuss skuren till 16 bitar och en 24-bitars adressbuss.

För inbäddade applikationer har i386EX-processorn producerats och produceras fortfarande. Den har seriella portar på kretsen, programmerbara timers (kompatibla med Intel 8254), prioriterade avbrottskontroller (kompatibla med Intel 8259A) och kontroller för direkt minnesåtkomst (kompatibel med Intel 8237A).

i386 var den första processorn som kunde använda cacheminne (placerad på ett externt chip).

80486 (i486)

i486-processorn (1989) är en förbättring av 386-processorn och den första skalära Intel-processorn (ett antal operationer utfördes i en klockcykel). Den hade en inbyggd FPU (Floating Point Unit - en flyttalsenhet) och för första gången - ett integrerat cacheminne (8 KB). 80486 är den första Intel-processorn som använder FSB-frekvensmultiplikatortekniken ( i modellerna DX 2-50, DX2-66, DX4-75 och DX4-100).

För bärbara datorer och inbyggda system släpptes i början av 1990-talet en "lätt" modifiering av i486SX utan en integrerad FPU.

Det fanns också en modifiering för inbäddade applikationer - i486GX . Det var en lågspännings 486SX med databussen trimmad till 16 bitar. i486GX-paket - TQFP-176, frekvenser - från 16 MHz vid Vcore = 2,0 V till 33 MHz vid 2,7 V.

Intel RapidCad

Intel RapidCad  - modifiering 486, en uppsättning av två chips. Den huvudsakliga installerades i 386DX-sockeln och var en 486DX utan L1-cache, men med en coprocessor. Ett ytterligare chip var en plugg för 387DX-uttaget och tjänade till att bearbeta FERR-signalen.

Intel486 OverDrive

Intel486 OverDrive (P23T) är en mikroprocessor designad för att uppgradera system baserade på Intel 486 mikroprocessor.

Pentium (i586)

Pentium (1993. Intel övergav nummernamn som 8086, 80286, etc., eftersom det inte kunde patentera siffrorna) - Intels första superskalära och superpipelinerade processor .

Superskalär betyder att processorn kan utföra mer än en operation per klockcykel. Superpipelining innebär att processorn har flera beräkningspipelines . Pentium har två av dem, vilket gör att den helst kan vara dubbelt så produktiv som 486:an vid samma frekvenser, och exekvera 2 instruktioner per klocka samtidigt.

Dessutom innehöll Pentium-processorn en helt omdesignad och mycket kraftfull FPU vid den tiden , vars prestanda förblev ouppnåelig för konkurrenter fram till slutet av 1990-talet.

Pentium Over Drive

Pentium OverDrive  är en mikroprocessor designad för att uppgradera system baserade på mikroprocessorer från Intel 486. Den installerades i Socket 3 , hade en dubbel L1-cache med Write-Thru-organisation, en inbyggd effektregulator, ×2,5 multiplikation och frekvenser på 63 och 83 MHz .

Pentium Pro (i686)

Pentium Pro (1995) - den första processorn i den sjätte generationen. Idéerna och teknikerna inbäddade i detta chip bestämde arkitekturen för alla moderna x86-processorer: grenprediktionsenheter, registerbyte, RISC-kärna, L2-cacheminne integrerat i ett paket med kärnan . Den tekniska komplexiteten hos kärnan i denna processor ledde dock till ett relativt lågt utbyte av lämpliga chips med den tidens teknik, vilket påverkade det höga priset på Pentium Pro. Samtidigt hade processorn en ganska låg prestanda vid exekvering av en 16-bitars kod. Därför användes denna processor endast i avancerade system och servrar.

Pentium MMX (i586)

Pentium MMX (januari 1997) är den femte generationens processor, och faktiskt bara en modifiering av Pentium-kärnan. Ett nytt block med heltalsmatrisberäkningar MMX lades till och storleken på cacheminnet för den första nivån ökades till 32 KB . Kärnmatningsspänningen reducerades till 2,8 V, medan kringutrustningen till processorn strömförsörjdes med samma spänning på 3,3 V. Detta krävde moderkortsbyte genom att lägga till ytterligare en 2,8 V (MMX-kompatibel) källa.

Pentium II (i686)

Pentium II (maj 1997) - modifiering av Pentium Pro- kärnan för att göra den mer tillgänglig. Den integrerade cachen och cache-taggen flyttades för att separera chips med en halverad frekvens. Detta gjorde processorn enklare och billigare, även om den gjorde den långsammare än Pentium Pro.

De första Pentium II-processorerna producerades med en 256 KB L2-cache, sedan ökades volymen till 512 KB.

Den nya designen av processorn krävde placering av element på kretskortet, vilket i sin tur ledde till en förändring i designen av processorn. Dessa processorer producerades i form av SECC-kassetter installerade i en speciell kortplats på kortet ( plats 1 ).

Dessutom lades ett MMX-block till Pentium II-kärnan.

Celeron

Celeron  är en förenklad modifiering av Pentium II / III / IV / Core / Core 2-processorer för att bygga billiga datorer. Den första Celeron (Covington-kärna, 266/300 MHz) var en Pentium II utan en andranivåcache och en plastpatron. PCB har också förenklats. Detta paket kallas SEPP (Single Edge Processor Package). Som ett resultat visade dessa processorer en deprimerande låg prestanda, även om de var mycket billiga och enkelt lade upp till 50 % frekvens när de överklockades. Alla efterföljande varianter av denna processor hade en integrerad fullfrekvenscache i den andra nivån. De största skillnaderna mellan Celeron-processorer ligger i mängden av denna cache och bussfrekvensen, och även ofta i den ökade latensen för åtkomst till cacheminnet i förhållande till den ursprungliga processorn.

Den andra Celeron-modifieringen (Mendocino-kärna, frekvenser 300...533 MHz) visade högre prestanda i många uppgifter än Pentium II med lika frekvens. Detta förklarades av att den lilla (128 KB) Mendocino-cachen var placerad på samma chip som kärnan och fungerade på kärnfrekvensen, medan den stora (512 KB) Pentium II-cachen låg tillräckligt långt från kärnan och opererades kl. halva frekvensen. Intel tillät inte fler sådana misstag, och alla efterföljande Celerons kommer garanterat att vara långsammare än fullfjädrade processorer av samma generation.

Pentium III (i686)

Pentium III , ursprungligen tillverkad i en 0,18 µm process , skiljer sig från P2 huvudsakligen genom tillägg av SSE- instruktioner . De senare processorerna i denna serie tillverkades enligt 0,13 mikron processteknologi, fick ett fullfrekvent cacheminne integrerat i kärnchippet (först 256 KB, sedan 512 KB) och fungerade som en prototyp för Pentium M- arkitekturprocessorerna . De tillverkades i både SECC/SECC2 (plats 1) och FCPGA-370 (PGA-370) design.

Pentium M

Pentium M  är en kraftigt modifierad version av Pentium III-processorn baserad på Tualatin-kärnan, designad för användning i mobila datorer.

Pentium 4 (i786)

Pentium 4 är en revolutionerande hyperpipelining-  processor med en 20-stegs pipeline. Enligt Intel kan processorer baserade på denna teknik uppnå en frekvensökning på cirka 40 % i förhållande till P6-familjen med samma tekniska process (med "korrekt" processorbelastning). I praktiken fungerade den första generationens processorer ännu långsammare än Pentium III.

Senare kompletterades de med stöd för Hyper-threading och 64-bitars kod.

Kärna/kärna 2

Efter misslyckandet med den senaste generationens Pentium 4-processorer baserade på Tejas-kärnan, beslutades det att vända sig till en annan gren av mikroarkitekturen. Processorerna är baserade på en omdesignad Pentium M- kärna . Således fortsatte P6-kärnan, som används i Pentium Pro-processorer , sin utveckling, ökade frekvensen från 150 MHz till 3,2 GHz och skaffade en ny systembuss, stöd för multi-core, multimedia instruktioner.

Core-processorer är  en lösning för bärbara datorer , enkel- och dual-core, som exekverar 32-bitars kod.

Core 2-processorer  - tillgängliga i både stationära och mobila versioner, inkluderar ett antal mikroarkitektoniska förbättringar och kan exekvera 32/64-bitars kod. Antalet kärnor varierar från en till fyra.

Core i7/Core i5/Core i3

Vidareutveckling av idéerna i Core 2-processorerna . Efter att ha behållit den grundläggande designen av processorkärnor, fick den första Core i7 som visades en modulär struktur som gör det enkelt att variera antalet, en integrerad minneskontroller (trekanals DDR3 i high-end segmentet och dubbelkanals DDR3 i mainstream) och en ny buss som ansluter processorn till chipsetet. Mikroarkitektoniska förbättringar gör att Core i7 kan prestera bättre än Core 2 vid lika frekvenser. Mycket uppmärksamhet ägnades åt den nya processorns energieffektivitet .

Senare dök billigare Core i5 / i7 upp med en dubbelkanals minneskontroller och fyra kärnor, sedan Core i3 / i5 med två kärnor och en integrerad videokärna.

Inom sektorn för de mest produktiva lösningarna produceras också Core i7-processorer med en trekanalig minneskontroller och sex kärnor. Tack vare användningen av Hyper-threading-teknik kan dessa processorer köra upp till 12 instruktionstrådar samtidigt.

Också i Intels sortiment finns särskilt produktiva processorer för hemdatorer: Core i7 med en trekanalig minneskontroller och åtta kärnor. Antalet trådar har ökat till 16.

atom

Intel Atom  - lågkostnads ​​ultraeffektiva enkel- och dubbelkärniga processorer designade för användning i de så kallade Internetdatorerna - netbooks och nettops (datorer där datorkraft offras till förmån för effektivitet, ljudlöshet och liten storlek).

Den är baserad på en modifierad kärna från de första Pentiums, som anpassades till den nya processteknologin, lade till möjligheten att exekvera 64-bitars kod och multimediainstruktioner, samt en andra nivås cache och stöd för multi-threaded exekvering ( SMT , en analog till Hyper-threading ). För att förenkla designen beslöts det att överge utförande av kommandon i oordning, vilket hade en dålig effekt på prestandan.

Tack vare Intels ansträngningar var de nya Atom-seriens processorer utrustade med 4 hela kärnor och förbättrad grenförutsägelse, vilket gjorde det möjligt för nya surfplattor baserade på dem att bli konkurrenskraftiga i prestanda med bärbara datorer i mellanklassen som släpptes i slutet av 2000-talet.

xeon

En familj av processorer fokuserade på servrar och flertrådig datoranvändning .

Den första representanten för denna familj var baserad på Pentium II- arkitekturen , det var en patron med ett tryckt kretskort på vilket kärnan, L2-cachen och cache-taggen var monterade. Monterad i kortplats 2 .

Moderna Xeons är baserade på Core 2 / Core i7- arkitekturen .

AMD-processorer

Am8086 / Am8088 / Am186 / Am286 / Am386 / Am486

Kloner av motsvarande processorer från Intel. Vanligtvis produceras med en maximal frekvens ett snäpp högre än originalet. Upp till 486DX2-66 fanns inga andra skillnader mellan processorerna. Det var nästan omöjligt att särskilja dessa processorer programmatiskt, men genom att modifiera programkoden i assembler var det möjligt att mäta storleken på mikroprocessorinstruktionsbufferten, som fanns i Intel-processorer upp till pentium och hade en annan storlek i byte, med en räknare och skilja en typ av processor från en annan. Genom att analysera förmågan att utföra olika ytterligare kommandon som lades till i olika modeller av mikroprocessorer, var det möjligt att särskilja alla dessa mikrokretsar.

5x86

Klona i486. Medan Intel stannade vid 100 MHz för i486, släppte AMD processorer med frekvenser upp till 133 MHz. De skilde sig också genom en ökad volym av cachen på första nivån (16 KB) och en multiplikator (×4).

K5 /SSA5

Pentium-analoger. De första processorerna utvecklade av AMD oberoende. Trots överlägsenheten i heltalsoperationer jämfört med analoger från Intel (ett antal sjätte generationens teknologier användes i kärnan av denna processor), var flyttalsenhetens prestanda betydligt sämre än Pentium-processorer med liknande klockfrekvens. Dessutom var det dålig kompatibilitet med programvara från vissa tillverkare. Bristerna med K5 var kraftigt överdrivna i olika online- och andra informella diskussioner och bidrog till den (generellt orättvisa) försämringen av AMD-produkters rykte hos användare under lång tid. [fyra]

K6

Helt ny AMD-processor (april 1997), baserad på en kärna köpt från NexGen . Denna processor hade en femte generationens konstruktion, men tillhörde den sjätte generationen och var positionerad som en konkurrent till Pentium II . Inkluderade ett MMX-block och ett något omdesignat FPU -block . Dessa block fungerade dock fortfarande 15-20 % långsammare än Intel-processorer med liknande frekvens. Processorn hade 64 KB L1-cache.

Sammantaget gjorde Pentium II-liknande prestanda, kompatibilitet med äldre moderkort och en tidigare lansering (AMD introducerade K6 en månad tidigare än Intel introducerade P-II) och lägre pris den ganska populär, men AMD:s produktionsproblem förstörde avsevärt ryktet om denna processor.

K6-2

Vidareutveckling av K6-kärnan. Dessa processorer har lagt till stöd för den specialiserade 3DNow! . Den verkliga prestandan visade sig dock vara betydligt lägre än den för liknande klockade Pentium II (detta berodde på att prestandaförstärkningen med ökande frekvens var högre för P-II på grund av den interna cachen) och endast Celeron kunde tävla med K6-2. Processorn hade 64 KB L1-cache.

K6-III

Mer tekniskt framgångsrik än K6-2, ett försök att skapa en analog till Pentium III . Det blev dock ingen marknadsföringssuccé. Det kännetecknas av närvaron av 64 KB av den första nivåns cache och 256 KB av den andra nivåns cache i kärnan, vilket gjorde att den kunde överträffa Intel Celeron på samma klockfrekvens och inte vara märkbart sämre än den tidiga Pentium III.

K6-III+

Liknar K6-III med PowerNow! och högre frekvens och utökad instruktionsuppsättning. Ursprungligen avsedd för bärbara datorer . Den installerades också i stationära system med en Super 7 -processorsockel . Används för att uppgradera stationära system med en Socket 7 -processorsockel (Endast på moderkort som levererar två spänningar till processorn, det första för processorns I/O-block och det andra för processorkärnan. Alla tillverkare gav inte dubbelström på de första modellerna av deras moderkort med en socket socket 7).

K6-2+

En analog av K6-III + med en cache på den andra nivån nedskuren till 128 KB.

Athlon

En mycket framgångsrik processor, tack vare vilken AMD kunde återta sin nästan förlorade position på mikroprocessormarknaden. Cachen för den första nivån är 128 KB. Ursprungligen producerades processorn i en patron med en andra nivås cache (512 KB) på kortet och installerad i Slot A (som är mekaniskt, men inte elektriskt kompatibel med Intels Slot 1 ). Sedan bytte jag till Socket A och hade 256 KB L2-cache i kärnan. När det gäller hastighet är det en ungefärlig analog till Pentium III.

Duron

En avskalad version av Athlon skiljer sig från sin förälder i storleken på den andra nivåns cache (endast 64 KB, men integrerad i chipet och körs på kärnfrekvensen).

Celeron-konkurrent i generationerna Pentium III / Pentium 4. Prestandan är märkbart högre än liknande Celerons, och i många uppgifter matchar den Pentium III.

Athlon XP

Fortsatt utveckling av Athlon-arkitekturen. När det gäller prestanda är den analog med Pentium 4 . Jämfört med vanlig Athlon har stöd för SSE- instruktioner lagts till .

Sempron

En billigare (på grund av den minskade L2-cachen) version av Athlon XP- och Athlon 64-processorerna.

De första Sempron-modellerna ommärktes Thoroughbred och Thorton Athlon XP-chips med 256 KB L2-cache och kördes på en 166 (333 DDR) buss. Senare producerades (och produceras) avskalade versioner av Athlon 64/Athlon II under varumärket Sempron, positionerade som konkurrenter till Intel Celeron. Alla Semprons har en trunkerad nivå 2-cache; yngre Socket 754-modeller hade Cool&quiet och x86-64 blockerade ; Socket 939-modellerna hade ett blockerat dubbelkanals minnesläge.

Opteron

Första processorn som stöder x86-64-arkitekturen .

Athlon 64

Den första icke-serverprocessorn som stöder x86-64-arkitekturen.

Athlon 64X2

Fortsättning på Athlon 64-arkitekturen, har 2 kärnor.

Athlon FX

Hade ett rykte som "den snabbaste leksaksprocessorn". Det är faktiskt en Opteron 1xx-serverprocessor på stationära uttag utan stöd för registrerat minne. Tillverkas i små partier. Det kostar mycket mer än sina "mass" motsvarigheter.

Fenomen

En vidareutveckling av Athlon 64-arkitekturen, den finns i versioner med två (Athlon 64 X2 Kuma), tre ( Phenom X3 Toliman) och fyra ( Phenom X4 Agena) kärnor.

Fenomen II

Fenommodifiering . _ Små arkitektoniska förändringar, övergången till en tunnare processteknik och tillägget av L3-cache från 4 till 6 MB gjorde att dessa processorer kunde öka prestandan med 10-20 % jämfört med sina föregångare. Finns i utförandena Socket AM2+ och Socket AM3 . Samtidigt kan den förra bara fungera med DDR2-minne, medan den senare kan fungera med både DDR2 och DDR3. Det maximala antalet kärnor har ökat till sex.

Athlon II

Phenom II utan L3-cache och inte fler än fyra kärnor.

Turion

En mobil version av Athlon 64 med minskad strömförbrukning och avancerad strömhantering. Finns i versioner med en och två kärnor.

Athlon Neo

De mest effektoptimerade enkel- och dubbelkärniga processorerna, nära släktingar till mobilen Sempron och Turion 64 X2. Finns i BGA-design, designad för användning i lätta och tunna bärbara datorer. Positionerad som konkurrenter till Intel Atom.

Geode

En integrerad lösning ( SoC ) som inkluderar kretsuppsättningarnas northbridge- funktionalitet . Modeller med namnet SCxxxx kombinerar processorkärnan, minneskontrollern, grafikadaptern och I/O-kontrollern i ett paket. Processorerna är designade för att bygga tunna klienter , anpassade set-top-boxar och inbyggda kontroller . Hela serien har låg strömförbrukning och kostnad.

De första modellerna producerades av Cyrix under namnet MediaGX och hade en Cyrix 6x86 kärna . Efter övertagandet av Cyrix av National Semiconductor och återförsäljningen av varumärket till VIA , döptes processorn om till Geode och utvecklingen av processorn fortsatte av National Semiconductors ingenjörer. Därefter såldes chippet och all utveckling till AMD. Nu produceras Geode av AMD i tre varianter. Geode LX och Geode GX är baserade på den gamla Cyrix 6x86 kärnan . Geode NX har en Athlon XP-kärna. Utvecklingen av denna familj stoppades redan 2006, men chipsen kommer att fortsätta att produceras så länge det finns efterfrågan på dem.

Harris Semiconductor- processorer

Harris 8086/88

Harris Semiconductor producerade Intel 8086/8088-kloner [5]  - Harris HS80C86/883 och HS80C88/883.

Harris 286

Harris Semiconductor producerade de snabbaste klonerna av 80286-processorn när det gäller frekvens  - den maximala frekvensen för HS80C286 var 25 MHz (hela linjen var 12, 16, 20 och 25 MHz). Processorns kärna var en exakt kopia av Intel 80286, som de flesta andra kloner.

Cyrix-processorer

Cx486-SLC

Processorer designade för att installeras i 386SX-sockeln. De hade ett cacheminne på den första nivån på 1 KB och en uppsättning instruktioner för 486 processorer. De hade ingen inbyggd samprocessor. I framtiden producerades även modeller med frekvensfördubbling (Cx486SRx²). De var främst avsedda för en billig uppgradering av datorer med 386SX-processor.

Cx486-DLC

Processorer designade för att installeras i 386DX-sockeln. De hade ett cacheminne på den första nivån på 1 KB och en uppsättning instruktioner för 486 processorer. De hade ingen inbyggd samprocessor. I framtiden producerades även modeller med frekvensfördubbling (Cx486DRx²). De var främst avsedda för en billig uppgradering av datorer med 386DX-processor.

Cx486-S

En analog till i486SX av Cyrix egen design. Underlägsen prestanda jämfört med analoger från Intel och AMD.

Cx486-DX

En analog till i486DX av Cyrix egen design. Något sämre i heltalsprestanda jämfört med analoger från Intel och Amd, men överträffade dem i flyttalsberäkningar (det påverkades av att de 386 matematiska samprocessorerna utvecklade av Cyrix var bland de bästa).

Cx5x86 (M1sc)

En biprodukt av M1-utvecklingen är M1-skalären, en förenklad version av den för socket 486. Den släpptes för att motverka Intel mot dess Pentium. Cx5x86 använde de arkitektoniska egenskaperna som är inneboende i den femte generationens processorer - en pipelined ALU, en grenprediktionsenhet, avkodning och exekvering av instruktioner i en cykel. Återskrivningscachen som var gemensam för instruktioner och data hade en storlek på 16 KB. Processorn visade sig vara ganska framgångsrik, men lyckades inte få mycket distribution. Tillverkad med frekvenser på 100 och 120 MHz.

Cx6x86 (M1)

Trots antydan om 6:e generationens processorer i namnet var Cx6x86 en 5:e generationens processor. Processorns kärna är superskalär. Cachen för den första nivån är generell, 16 KB. Märkningen av dessa processorer använde den så kallade Pentium Rating. Till exempel måste en processor med en PR-200 matcha prestandan hos en Intel Pentium-processor med en frekvens på 200 MHz. I det här fallet kan processorns faktiska frekvens vara mycket lägre. Dessa processorer producerades med en frekvens på 80 till 150 MHz och PR från 90+ till 200+. Senare producerades även en modifiering med minskad strömförbrukning och dubbel effekt - Cx6x86L.

Cx6x86MX (MII)

En förbättrad version av Cx6x86 kallades Cx6x86MX. De största skillnaderna är att cachen på första nivån ökat till 64 KB, stöd för MMX-instruktioner. Frekvenser - 133 ... 233 MHz, PR - 166 ... 266. Därefter fick processorn stöd för en systembussfrekvens på 100 MHz och blev känd som Cyrix MII (detta gjordes för att positionera processorn som en konkurrent till Intel Pentium II). Frekvenser - 225 ... 300 MHz, PR - 300 ... 433.

MediaGX

Praktiskt taget SoC . Ett hus inrymde processorkärnan (först Cx5x86, sedan Cx6x86MX), RAM- och PCI-busskontroller och UMA-videokärnan. Processorn använde sitt eget sockel, stöddes inte av moderkortstillverkare och fick ingen distribution. Frekvenser - 120 ... 180 MHz, PR - 180 ... 233.

Kloner av Cyrix-processorer producerades också av IBM, Texas Instruments, SGS Thompson.

Baserat på Cyrix-kärnor, produceras eller producerades VIA, AMD, National Semiconductor-processorer.

IDT-processorer

IDT-C6 Centaur WinChip

Processorn har utvecklats av Centaur Technology  , en division inom IDT . Som en Socket 7 - processor var den mycket närmare 80486 - processorerna i arkitekturen . En 4-stegs heltalspipeline , samprocessoroperationer var inte pipelined . Det saknades också exekvering som inte fungerade, grenförutsägelse och registerbyte. Samtidigt hade processorn en MMX-instruktionsexekveringsenhet, även om den var dubbelt så långsam som den för Pentium MMX . På grund av detta var processorkärnan väldigt enkel, liten vad gäller antal transistorer, dimensioner och strömförbrukning. Processorerna tillverkades med frekvenser på 180, 200, 225 och 240 MHz och krävde ingen dubbel strömförsörjning.

WinChip-2

En förbättrad version av den tidigare processorn. Coprocessorn blev pipelined, prestandan för MMX-blocket fördubblades, stöd för 3DNow!-instruktioner dök upp. Frekvenser - 200-250 MHz.

WinChip-2A

Allt detsamma, men på en mer subtil teknik. Som ett resultat, behovet av dubbel strömförsörjning (2,8 / 3,3 V).

WinChip-3

Den var planerad som en förbättrad version av den tidigare modellen. Den huvudsakliga förbättringen är dubbelt så stor cachestorlek . Den släpptes dock aldrig. Centaur Technology i sin helhet såldes till VIA , och på basis av denna utveckling gjordes VIA C3 med Samuel-kärnan.

OKI-processorer

OKI M80C86

Clone 8086. Producerad i DIP- och QFP-paket.

OKI M80C88

Clone 8088. Producerad i DIP- och QFP-paket.

Rise Technology-processorer

Stig MP6

Processor för Socket 7 med stöd för MMX instruktioner. Skilde sig i låg strömförbrukning och låg produktivitet. Den producerades med frekvenser på 150, 166, 190, 200, 250 MHz. Den fick inte mycket distribution och mP6-kärnan såldes till SiS .

VIA-processorer

Cyrix III / VIA C3

Första processor släppt under varumärket VIA . Släppt med olika kärnor från olika utvecklingsteam. Socket 370 kontakt .

Den första utgåvan är baserad på Joshua-kärnan, förvärvad av VIA tillsammans med Cyrix -utvecklingsteamet .

Den andra utgåvan är med Samuel-kärnan, utvecklad på basis av den aldrig släppta IDT WinChip -3. Det kännetecknades av frånvaron av ett cacheminne på den andra nivån och följaktligen en extremt låg prestandanivå.

Den tredje utgåvan är med Samuel-2-kärnan, en förbättrad version av den tidigare kärnan, utrustad med en andranivå-cache. Processorn tillverkades med tunnare teknik och hade minskad strömförbrukning. Efter lanseringen av denna kärna gav VIA Cyrix III-märket äntligen plats för VIA C3.

Den fjärde utgåvan är med Ezra-kärnan. Det fanns också en Ezra-T-variant anpassad för att fungera med en buss designad för Tualatin -kärna Intel-processorer . Vidareutveckling i riktning mot energibesparing.

Den femte utgåvan är med Nehemiah-kärnan (C5P). Denna kärna fick äntligen en fullhastighetssamprocessor, stöd för SSE -instruktioner , samt stöd för AES-kryptering och en hårdvarugenerator för slumptal. Samtidigt tappade processorn stödet för 3DNow! .

VIA C7

Vidareutveckling av VIA C3. Estherkärna (C5J), paket - nano BGA 2 (21×21 mm), lödd direkt på kortet . Lagt till hårdvarustöd för Secure Hash SHA-1 och SHA-256 och RSA -kryptering , NX-bit- stöd, MMX , SSE , SSE2 och SSE3 stöds . Ytterligare minskning av strömförbrukningen vid driftfrekvenser upp till 2 GHz. Egen systembuss (VIA V4 800 MHz) för kommunikation med styrkretsen. Den finns även i mobilversioner (VIA C7-M) och stationära versioner (VIA C7-D).

VIA Eden ESP

En integrerad lösning som inkluderar en VIA C3-processor med en Nehemiah C5P-kärna och en norrbrygga med integrerad UMA-grafik. Den har extremt låg strömförbrukning (upp till 7 W vid 1 GHz). Finns med frekvenser från 300 MHz (VIA Eden ESP 3000) till 1 GHz (VIA Eden ESP 10000). Kompatibla sydbryggor är VT8235M  , VT8237R+ (med SATA-stöd), VT8251 (2×1 PCI-E) och VIA 686B.

VIA CoreFusion

Vidareutveckling av VIA Eden ESP-idéer. Finns i två versioner - VIA Mark och VIA Luke , som skiljer sig åt i den integrerade videokärnan, minnestyp som stöds och driftsfrekvenser. För VIA Mark är det S3 Graphics ProSavage4 / SDR PC133 / 533/800 MHz, och för VIA Luke är det VIA UniChrome Pro / DDR PC3200 / 533/800/1000 MHz. Kompatibla sydbryggor: VT8235M, VT8237R+ (SATA-kompatibel), VT8251 (2×1 PCI-E) och VIA 686B.

VIA Nano

VIAs första x86-64 - processor, baserad på Jesaja -kärnan . Stift kompatibel med VIA C7. Finns i frekvenser från 1 GHz till 1,8 GHz. Strömförbrukningen för 1,6 GHz-modellen är upp till 17 W vid full belastning. Bland innovationerna är det extraordinära utförandet av instruktioner. Positionerad som en konkurrent till Intel Atom .

NEC- processorer

Den släppte en serie processorer, varav några (V20 / V30-kärna) var mjukvarukompatibla med både 80186 och 8080 . Växling mellan driftlägen utfördes med hjälp av tre ytterligare instruktioner. I hårdvara såg de ut som en kraftigt accelererad version av 8088 eller 8086 .

Processorer baserade på V33-kärnan hade inget 8080-emuleringsläge, utan stödde, med hjälp av två ytterligare instruktioner, ett utökat adresseringsläge.

NexGen- processorer

Nx586

I mars 1994 introducerades NexGen Nx586-processorn. Den var positionerad som en Pentium-konkurrent, men hade från början ingen integrerad samprocessor. Användningen av en proprietär buss medförde behovet av att använda proprietära styrkretsar, NxVL (VESA Local Bus) och NxPCI 820C500 (PCI), och en inkompatibel processorsockel. Chipseten utvecklades tillsammans med VLSI och Fujitsu. Nx586 var en superskalär processor och kunde utföra två instruktioner per klocka. L1-cachen var separat (16 KB för instruktioner + 16 KB för data). L2-cachekontrollern var integrerad i processorn, medan själva cachen fanns på moderkortet. Precis som Pentium Pro var Nx586 en RISC-processor inuti. Bristen på stöd för CPUID-instruktioner i tidiga modifieringar av denna processor ledde till att den programmässigt definierades som en snabb 386-processor. Det hängde också ihop med att Windows 95 vägrade installeras på datorer med sådana processorer. För att lösa detta problem användes ett speciellt verktyg (IDON.COM), som representerade Nx586 för Windows som en 586-klass CPU. Nx586 tillverkades vid IBMs anläggningar.

En Nx587 FPU-samprocessor utvecklades också, som monterades på fabriken ovanpå processormatrisen. Sådana "sammansättningar" märktes Nx586Pf. När prestandan för Nx586 utpekades användes P-klassificering - från PR75 (70 MHz) till PR120 (111 MHz).

Nx686

Nästa generation av NexGen-processorer, som aldrig släpptes, men fungerade som grunden för AMD K6.

SiS-processorer

SiS550 [6]

SiS550 SoC-familjen är baserad på den licensierade Rise mP6-kärnan och är tillgänglig på frekvenser från 166 till 266 MHz. Samtidigt förbrukar de snabbaste lösningarna endast 1,8 watt. Kärnan har tre heltals 8-stegs pipelines. Cache L1 separat, 8+8 KB. Den inbyggda coprocessorn är pipelined. SiS550 inkluderar, förutom standarduppsättningen portar, en 128-bitars AGP 4x UMA-videokärna, 5.1-kanaligt ljud, stöd för 2 DIMM (upp till 1 GB RAM ), mjukt modemstöd och en UDMA100 IDE -kontroller .

SiS551 lägger också till ett integrerat smartkort och Memory Stick-kontroll, medan SiS552 lägger till en MPEG2 -  avkodare , DVD- och VCD- uppspelningsacceleration .

SiS551-klonen produceras också av Jan Yin Chan Electronics Co., LTD (DM&P) under varumärket Vortex86 (chippet är märkt som M6127D) och Xcore Corporation Ltd. märkes som Xcore86 .

Transmeta-processorer

Crusoe

Crusoe är strängt taget inte en x86-processor. För att exekvera x86-kod används en mjukvaruöversättare till interna 128-bitars VLIW - instruktioner som kallas Code Morphing Software. Detta gör att processorn kan anpassa sig till vilken uppsättning instruktioner som helst och förbättrar energieffektiviteten, men prestandan för en sådan lösning är uppenbarligen lägre än för processorer med ett inbyggt x86-instruktionssystem.

Effektivitet

Utveckling av idén om att kombinera VLIW-processorn och Code Morphing Software. Den största skillnaden från den tidigare lösningen är att VLIW-instruktioner har blivit 256-bitars.

UMC-processorer

UMC Green CPU (U5)

U5 är en familj av 80486 -klassmikroprocessorer . De hade flera märkningsalternativ: U5SB-40, U5S-Super33, etc. Huvudhöjdpunkten var en avsevärt optimerad mikrokod och en helt statisk design, som ett resultat av vilket dessa processorer hade ökad prestanda (vissa skrupelfria säljare sålde dem till och med som frekvensfördubbling processorer - U5S -33 som SX2-66 och U5S-40 som SX2-80). U5S-modellerna hade ingen matematisk samprocessor , och samprocessorvarianterna skulle kallas U5D men släpptes aldrig.

Intel fick ett föreläggande mot försäljning av gröna processorer i USA, med argumentet att UMC använde Intels mikrokod i sina processorer utan licens.

Det var också några problem med programvaran. Till exempel vägrade spelet Doom att köras på den här processorn utan att ändra konfigurationen, och Windows 95 fryser då och då. Detta berodde på det faktum att program hittade en saknad samprocessor i U5S och försök att komma åt den slutade i misslyckande.

Processorer tillverkade i Sovjetunionen och Ryssland [7]

KR1810VM86 (K1810VM86)

Liknar 8086 .

  • KR1834VM86 / EKR1834VM86 är en analog till 8086 (närmare bestämt 80C86 , eftersom den producerades med CMOS-teknik).
  • KR1810VM86M / KM1810VM86M - egentligen en analog till 8086 , men med ändringar - några kommandon från 80286 har lagts till . Den installerades i ES1842-datorn.
  • K1810VM88  - analog till 8088 .
  • KF1847VM286 (exportversion EKF1847VM2) - analog till 80286 . Prototyper producerades av Dzerzhinsky-fabriken (utvecklare av STC "Belmicrosystems") NPO " Integral ".
Processorer MCST

CJSC MCST har släppt en serie Elbrus -mikroprocessorer som låter dig arbeta i binärt kompatibilitetsläge med x86-arkitekturen. Kompatibilitet säkerställs genom dynamisk mjukvaruöversättning av x86-koder med hjälp av hårdvarustöd inbäddat i Elbrus- mikroprocessorns arkitektur .

Processorer BLX IC Design/ICT

BLX IC Design och China Institute of Computer Technology har utvecklat MIPS-baserade processorer med hårdvaruöversättning av x86-kommandon sedan 2001. Dessa processorer tillverkas av STMicroelectronics. Ett partnerskap med TSMC övervägs.

Godson (Longxin, Loongson , Dragon)

Godson är en 32-bitars MIPS-baserad RISC-processor. Teknik - 180 nm. Introducerades 2002. Frekvens - 266 MHz, ett år senare - en version med en frekvens på 500 MHz.

Gudson 2
  • Godson 2 är en 64-bitars RISC-processor baserad på MIPS III. 90 nm-teknik. Med samma frekvens överträffar den sin föregångare med 10 gånger i prestanda. Infördes 19 april 2005.
  • Godson-2E - 500 MHz, 750 MHz, senare - 1 GHz. Teknik - 90 nm. 47 miljoner transistorer, strömförbrukning - 5 ... 7,5 W. Den första Godson med hårdvaruöversättning av x86-kommandon, och upp till 60 % av processorprestanda spenderas på den. Introducerades i november 2006.
  • Godson 2F - 1,2 GHz, tillgänglig sedan mars 2007. En ökning av prestanda jämfört med sin föregångare med 20-30% deklareras.
  • Godson 2H - planerad att släppas 2011. Den kommer att utrustas med en integrerad videokärna och minneskontroller och är avsedd för konsumentsystem.
Godson 3 [8]
  • Godson 3 - 4 kärnor, 65 nm teknologi. Strömförbrukning - cirka 20 watt.
  • Godson 3B - 8 kärnor, 65 nm teknologi (28 nm är planerad), klockfrekvens inom 1 GHz. Kristallytan är 300 mm². Flyttalsprestanda är 128 GigaFLOPS. Strömförbrukning för 8-kärnig Godson 3-40 W. Översättning till x86-kod utförs med en uppsättning av 200 instruktioner, och översättningen förbrukar cirka 20 % av processorns prestanda. Processorn har en 256-bitars vektor SIMD-behandlingsenhet. Processorn är avsedd för användning i servrar och inbyggda system.
  • Godson 3C - planerad att släppas 2012 och skulle ha 16 kärnor.

Instruktionskodning

I det här avsnittet indikerar bokstaven "h" efter siffran värdet i hexadecimal notation. Om det inte finns något liknande bredvid talet är det ett decimalvärde.

x86 använder ett relativt enkelt instruktionsnotationsformat, men på grund av vissa undantag kan det verka komplicerat. För säkerhets skull kan du ta "Intel® 64 IA-32 Architectures Software Developer's Manual" (tillgänglig på Intel Corporations officiella webbplats i PDF-format) som huvuddokumentation. Det finns detaljerad information om alla instruktioner.

Strukturen för en godtycklig instruktion är som följer:

  1. Prefix (vart och ett är valfritt):
    1. En-byte adressändringsprefix AddressSize (värde 67h).
    2. En-byte Segmentändringsprefix (värden 26h, 2Eh, 36h, 3Eh, 64h och 65h).
    3. Ett en-byte BranchHint-prefix för att indikera den föredragna grenen av grenen (värden 2Eh och 3Eh).
    4. Ett 2-byte eller 3-byte komplext Vex-prefix (den första byte är alltid C4h för 2-byteversionen eller C5h för 3-byteversionen).
    5. En-byte låsprefix för att förhindra minnesmodifiering av andra processorer eller kärnor (värde F0h).
    6. En-byte prefix OperandsSize för att ändra storleken på operanden (värde 66h).
    7. En-byte Obligatoriskt prefix för instruktionskvalificering (värdena F2h och F3h).
    8. Enkelbyteprefixet Repeat betyder upprepning (värdena F2h och F3h).
    9. Det strukturerade Rex-prefixet med en byte behövs för att specificera 64-bitars eller utökade register (värden 40h..4Fh).
    10. Escape prefix. Består alltid av minst en 0Fh byte. Denna byte följs valfritt av byte 38h eller 3Ah. Designad för att förtydliga instruktioner.
  2. Instruktionsspecifika bytes:
    1. Byte Opcode (godtyckligt konstant värde).
    2. Byte Opcode2 (godtyckligt konstant värde).
    3. Byte Params (har en komplex struktur).
    4. Byte ModRm används för operander i minnet (har en komplex struktur).
    5. SIB-byten används också för operander i minnet och har en komplex struktur.
  3. Data inbäddad i instruktionen (valfritt):
    1. Offset eller adress i minnet (Displacement). Ett signerat heltal med storleken 8, 16, 32 eller 64 bitar.
    2. Den första eller enda omedelbara operanden (Omedelbar). Kan vara 8, 16, 32 eller 64 bitar.
    3. Andra omedelbara operanden (Omedelbar2). Om det finns är det vanligtvis 8 bitar i storlek.

I listan ovan och nedan, för tekniska namn, accepteras namnet "endast latinska, arabiska siffror" och minustecknet "-" med ett understreck "_", och fallet är CamelCase (alla ord börjar med versaler, och sedan endast små bokstäver, även om det är en förkortning: "UTF-8" → "Utf8" - alla ord tillsammans). Prefixen AddressSize, Segment, BranchHint, Lock, OperandsSize och Repeat kan blandas ihop. Resten av elementen måste gå exakt i den angivna ordningen. Och du kan se att bytevärdena för vissa prefix är desamma. Deras syfte och närvaro bestäms av själva instruktionen. Segmentöverskridande prefix kan användas med de flesta instruktioner, medan BranchHint-prefix endast kan användas med villkorliga greninstruktioner. Situationen är liknande med prefixen Obligatoriskt och Upprepa - någonstans anger de instruktionen, och någonstans indikerar de upprepning. OperandSize-prefixet tillsammans med de obligatoriska prefixen kallas också SIMD-instruktionsprefix. Separat bör det sägas om Vex-prefixet. Den ersätter prefixen Rex, Mandatory, Escape och OperandsSize och komprimerar dem i sig själv. Det är inte tillåtet att använda låsprefixet med den. Själva låsprefixet kan läggas till när destinationen är en operand i minnet.

En översiktslista över alla lägen av intresse när det gäller instruktionskodning:

  • 16-bitars ("Real Mode", real mode med segmentadressering).
  • 32-bitars ("Protected Mode", ett skyddat läge med platt minnesmodell).
  • 64-bitars ("Långt läge", som 32-bitars skyddat med en platt minnesmodell, men adresserna är redan 64-bitars).

Inom parentes motsvarar de engelska namnen på lägena de officiella. Det finns också syntetiska lägen som overkligt (Unreal x86 Mode), men de följer alla av dessa tre (i själva verket är de hybrider som bara skiljer sig åt i adressstorlek, operander etc.). Var och en av dem använder det "native" adresseringsläget, men det kan ändras till ett alternativt med OperandsSize-prefixet. I 16-bitarsläge kommer 32-bitars adressering att aktiveras, i 32-bitarsläge, 16-bitars adressering, och i 64-bitarsläge, 32-bitars adressering. Men om detta görs, är adressen nollutfylld (om den är mindre) eller dess högordningsbitar återställs (om den är större).

Se även

Anteckningar

  1. 80486 32-bitars CPU bryter ny mark när det gäller chiptäthet och driftsprestanda. (Intel Corp.) (produktmeddelande) EDN | 11 maj 1989 | Pris, Dave
  2. Leveranser av x86-kompatibla kinesiska 16nm Zhaoxin KX-6000-processorer har börjat . Hämtad 3 juli 2019. Arkiverad från originalet 3 juli 2019.
  3. 80C186XL2 | 80C186X | 80C186 | 80C18 | Elektronisk delsökning . Hämtad 15 juni 2009. Arkiverad från originalet 26 oktober 2011.
  4. Nedgradering - www.fdd5-25.net  (otillgänglig länk)
  5. Persondator CHIPLIST 9.9.5 . Hämtad 12 juni 2009. Arkiverad från originalet 26 oktober 2011.
  6. SiS550 Blockdiagram . Tillträdesdatum: 31 januari 2009. Arkiverad från originalet den 19 april 2009.
  7. Nomenklatur och analoger av inhemska mikrokretsar . Hämtad 19 november 2008. Arkiverad från originalet 24 oktober 2008.
  8. Nyheter om maskinvara | Nyheter och artiklar | F-Center (otillgänglig länk) . Hämtad 27 augusti 2010. Arkiverad från originalet 14 augusti 2010. 

Länkar

Tillverkarens dokumentation Artiklar