Tillverkarna av x86-processorer går skilda vägar. Nästa år kommer marknaden att få se fyra olika, inkompatibla x86-familjer.
Intel har länge styrt x86-marknaden i kraft av sitt de facto monopol. Företagets processorer har kopierats av konkurrenterna AMD, Cyrix och Centaur så nära som möjligt. Men 1997 ser ut att bli det år då Intel täpper igen den möjligheten och under nästa år kommer vi få se minst fyra inkompatibla x86-familjer.
Skillnaderna gäller inte bara arkitekturen, där har det funnits olikheter länge. Nu får vi fyra versioner av MMX-instruktionerna liksom två typer av kontakter med fyra olika protokoll. Inte direkt ett önskeläge för moderkortstillverkare, programutvecklare eller konsumenter.
Frågan är dock om marknaden klarar fyra inkompatibla lösningar. Under nästa år lär vi få svar på frågan om Intel lyckas övertyga om fördelarna med den nya kontakten kallad slot 1 eller om konkurrenterna, som tvingas fortsätta med den äldre och billigare sockel 7, förmår förbättra den tillräckligt mycket för att den ska kunna behålla någon större andel.
Vi kommer också att få veta vilka programtillverkare som anpassar sina program till de olika MMX-tilläggen liksom om det finns någon marknad för enkla x86- processorer med integrerade kringfunktioner som lanserats under året.
Inget förmår rubba IntelEn sak är dock säker: Intel förblir ohotad kung på x86-banan även om företaget fått ökad konkurrens från AMD och Cyrix det senaste halvåret. Bägge företagen har kommit med nya processorer, K6 respektive 6x86MX, som prestandamässigt nästan är i kapp Intels bästa modeller. Intel fortsätter dock vara ensamt om de högsta klockhastigheterna.
AMD och Cyrix får i sin tur ökad konkurrens underifrån. Det är bland annat Centaur som satsar på enkla, högintegrerade processorer för de allra billigaste datorerna, ett segment som Intel över huvud taget inte befattar sig med eftersom marginalerna helt enkelt är för små.
Men för IDT, som köpt Centaur och ska stå för tillverkningen, är även de billigaste processorerna betydligt lönsammare än företagets nuvarande volymprodukt som är halvledarminnen.
Med undantag för Centaur är dagens x86-processorer superskalära. De kan med andra ord exekvera mer än en instruktion per cykel. Cyrix 6x86MX har två rörledningar (pipeline) och kan därför exekvera två instruktioner per klockcykel. Även AMDs K6 har dubbla rörledningar medan Intels Pentium II har tre.
För PII kan den första instruktionen vara av vilken längd och vilken typ som helst. Den andra och tredje måste dock vara enkla instruktioner.
I Intels och AMDs arkitektur översätts x86-instruktionerna till enkla riscliknande instruktioner (ROP) med fix längd. Minst fyra instruktioner kan bearbetas parallellt.
Men PII är ingen ren riscmaskin. Den är bakåtkompatibel med äldre x86- processorer och har därför samma adresseringssätt för minnet och samma sätt att segmentera minnet som dessa.
Långa rör ger prestandalyftFör att öka prestanda har processorerna långa rörledningar. PIIs rörledning för instruktioner är 12 steg lång och det finns en separat rörledning för data.
Men den långa rörledningen ger ett högt straff när processorn inte kan förutse hopp (branch prediction). Ett felbedömt hopp ger en fördröjning på minst elva klockcykler innan rörledningen hunnit laddas om. I medel är den dock så lång som 15 klockcykler.
Eftersom vanlig kod kan innehålla hopp så ofta som var fjärde till sjätte instruktion säger det sig självt hur viktigt det är för processorn att förutse när den ska hoppa för att inte prestanda avsevärt ska degraderas.
Intel har därför implementerat en så kallad tvåbits prediktering (two-bit branch prediction) som minskar antalet felaktiga förutsägelser till under tio procent.
AMDs K6 har en kortare rörledning med sju steg vilket ger ett straff på minst fem klockcykler när processorn felbedömer ett hopp. Även Cyrix 6x86MX har en sju steg lång rörledning med fem klockcyklers straff.
Bägge företagen har tvåbits prediktering med felaktiga förutsägelser på under 5 procent för AMD respektive 15 procent för Cyrix.
Rent teoretiskt borde AMD och Cyrix nå samma prestanda som Intels P55C eftersom de har ungefär lika lång rörledning. PII däremot är 30 procent snabbare på grund av den längre rörledningen.
Ingen ordningPII, 6x86MX och K6 har alla så kallad out-of-order exekvering. Om det blir stopp i en rörledning kan den andra fortsätta så länge den inte är beroende av resultat från den första.
PII och K6 är mest avancerade. PII kan till exempel ha 19 riscliknande instruktioner (ROP) som köar (stalled) och 40 som väntar (pending) i en buffert. K6 kan ha upp till 23 köande och 24 i bufferten.
Cyrix 6x86MX, som inte översätter instruktionerna till enklare dito, kan bara ha en instruktion som köar (stalled).
Trots att företagen valt såpass olika vägar ser resultaten ut att bli ungefär de samma. Analysföretaget MicroDesign Resources ger följande siffror: Antag att den äldre P55C klarar en instruktion per klockcykel. Cyrix 6x86MX klarar i så fall i snitt 1,3 instruktioner per klockcykel medan AMDs K6 klarar maximalt 1,9, men i snitt bara 1,2. PII klarar maximalt 3 instruktioner per klockcykel men i genomsnitt blir resultatet inte mer än 1,3.
Slutsatsen blir alltså att en finess som "out-of-order" inte ger så stora vinster på vanlig integerkod.
På flyttalsberäkningar är Intel betydligt bättre än sina konkurrenter. PII har redan idag en flyttalsenhet med rörledningsarkitektur medan Cyrix får det nästa år med Cayenne. AMD har inte avslöjat några planer på att förbättra sin flyttalsenhet som saknar rörledningsarkitektur.
Liten kärna ger stor cachePII har den minsta interna cachen, L1, av kombattanterna. Det finns 16 kbyte för instruktioner och 16 kbyte för data. Det är ändå dubbelt så mycket som Pentium Pro, den första medlemmen i P6-familjen. Nivå 2 cachen, L2, i PII är extern och sitter på det nya slot 1 kortet. L2 cachen är i dagsläget 512 kbyte och går med halva processorhastigheten. Den har en accesstid (latency) på låga sex klockcykler.
AMDs och Cyrix, som båda har betydligt mindre processorkärnor, får därmed utrymme för större L1-cachar. Båda har 64 kbyte men i K6:an är det uppdelat i 32 kbyte för instruktioner och 32 kbyte för data. Det senare med dubbla portar. Cyrix 6x86MX har också dubbla portar men ingen fast uppdelning mellan data och instruktioner vilket ger bättre "hit rate".
Det finns således stora skillnader i arkitekturen mellan de olika processorerna. Och om man jämför med Intels gamla P55C så ska Cyrix 6x86MX ge 30 procent bättre prestanda i samma halvledarprocess medan K6 bara är 20 procent bättre än P55C. PII däremot är 60 procent bättre än sin föregångare P55C.
Om man istället jämför arkitekturerna i samma halvledarprocess så ligger 6x86MX och K6 30 till 40 procent efter PII. I realiteten är dock skillnaderna betydligt mindre. Eftersom arkitekturerna är olika så blir skillnaderna beroende av vilken typ av prestandatest som används.
För vanliga kontorsuppgifter är processorerna i stort sett jämförbara vid samma klockhastighet. Men PII är bättre på bildbehandling och tredimensionell grafik i kraft av bättre flyttals och MMX-enheter.
Per Henricsson