Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor Sammanfattning: Utvecklingen från processor till processor är inte lätt. Det finns många beslut som måste tas när det gäller kompatibilitet, speciellt när man ändar hur många bitar processorn skall hantera. Denna rapport tar upp utvecklingen från en 8 bitars processor till en 16 bitars processor utifrån Intels utveckling. Skillnader i de olika 8 bitars processorerna tas upp då den utvecklingen i sig var ganska stor. I slutet av rapporten beskrivs några av de viktiga beslut som togs vid utvecklingen av Intels första 16 bitars processor. Vissa viktigare förbättringar med Intels 16 bitars processor tas också upp, dock med vissa avgränsningar. Rapporten tar inte upp specifikt hur registren fungerar etc. då fokus ligger i att visa hur processorer gick från en 8 bitars processor till en 16 bitars processor.
Inledning: Idag använder vi oss av 64 bitars processorer och detta tycker vi är ganska självklart. De gör det som vi förväntar oss och vi skulle inte kunna tänka oss att ha en långsammare eller mindre kraftfull processor. Om en potentiell 128 bitars processor skulle bli annonserad skulle de flesta anse att det skulle vara ganska onödigt, vi kan ju redan göra allt vi vill och mer därtill med 64 bitars processorn. Det var exakt denna mentalitet som fanns på 70 talet. Då var det 8 bitars processorn som var det som gällde och de flesta konsumenter ansåg att det var tillräckligt. På den tiden fanns det många fler processortillverkare än vad det finns idag. Därför kommer denna rapport att fokusera på just Intels utveckling från 8 bitars till 16 bitars processor. Att utveckla en helt ny processor är inte lätt, särskilt om man ska gå från 8 bitars till 16 bitars, och det finns många frågor som måste besvaras innan man börjar. Frågor som t.ex om mjukvaran från den gamla processorn ska fungera på den nya processorn eller om man ska göra så att mjukvara till den nya processorn fungerar på den gamla. Utvecklingen av 8 bitars processorn: Intel 8008 Intels första 8 bitars mikroprocessor Intel 8008 lanserades 1972 och skapades med PMOS, den dåvarande tillverkningstekniken. Detta kommer att spela större roll senare i rapporten men för tillfället är det ganska oviktigt då PMOS var det man använde sig av på den tiden. 8008:an var auktoriserad av ett företag som heter Computer Terminal Corporation (CTC). Tyvärr blev 8008:an försenad och CTC valde att använda sig av en annan processor. Intel fick då lov att sälja sin nya processor till andra konsumenter. Intel 8080 Även om 8008:an var Intels första 8 bitars processor användes den inte speciellt mycket, mestadels i miniräknare, kassaapparater och industriella robotar. Processorn som Intel lanserade 1974, Intel 8080, blev däremot mycket mer allmänt spridd och är därför mer intressant än vad 8008:an är. 8080:an blev till och med så populär att det var den som gav upphov till frågorna om hur man skulle utveckla processorn till 16 bitars då så många program var skrivna till 8080:an. Här ändrade man tillverkningsteknik till NMOS. 8080:an hade 64K bytes minne vilket var 4 gånger så mycket som 8008:an hade. Denna processor var kapabel till 16 bitars datahantering, dock bara 8 bitars aritmetiska operationer. Det är detta som definierar att denna processor är en 8 bitars processor. Själva namnet på processorn var tänkt som en 10 gångers prestandaökning genom att flytta den sista 8:an ett steg åt vänster. Denna ide' skulle då gå vidare till Intel 8800 som i sin tur skulle vara 10 gånger bättre än 8080:an. Denna processor blev dock försenad av olika anledningar.
Intel 8085 Samtidigt som man jobbade på 8800:an jobbade man också med Intel 8085. Denna processor skulle fungera som ett mellansteg mellan den nuvarande 8080:an och den nya 8800:an. 8085:an lade till 12 nya instruktioner och några små tillägg som skulle göra processorn enklare att tillverka. 8085: togs dock inte emot så väl. Den ansågs vara sämre än andra tillverkares processorer. I mitten av 1976 insåg man att 8085:an inte skulle hålla tills 8800:an var tillverkad. För att rädda Intel bestämdes det att man skulle göra en ny processor som skulle vara kompatibel med den föregående 8080:an. Man utnyttjade den senaste NMOS tekniken för att tillverka Intel 8086. Tabell 1 nedan visar utvecklingen för Intels processorer. Från 8008:an till 8080:an bytte man från PMOS till NMOS. Tabell 1: Mazor, S 2010, 'Intel's 8086', IEEE Annals Of The History Of Computing, 32, 1, pp. 75 79, Business Source Complete, EBSCO host, viewed 4 December 2015. Intel 8086, 16 bitars processorn: Intel lanserade 1978, bara 6 år efter deras första 8 bitars processor, Intel 8086 Intels första 16 bitars processor. Denna processor gav upphov till Intels x86 arkitektur vilket kom att bli Intels mest framgångsrika processorarkitektur. Eftersom Intel 8080 var så populär behövde den nya Intel 8086 vara kompatibel med den föregående processorn på assemblynivå. Så många program var utvecklade till 8080:an att om 8086:an inte skulle kunna köra dessa program skulle inte många vilja köpa den. För att lyckas med detta gjorde man så att 8080:ans register och instruktioner skulle se ut som logiska subset av 8086:ans register och instruktioner. En instruktion på 8080:an skulle allstå kunna göras utav instruktioner på 8086:an även om 8086:an inte hade exakt samma instruktion som 8080:an. Dock blev det lite problem när det gäller instruktioner. 8085:an som skulle lanseras innan 8086:an hade ju nya instruktioner utöver de som redan fanns på 8080:an. Det är inte så lätt att bara ta bort instruktioner från en processor. Det är däremot betydligt lättare att ändra i dokumentationerna till en processor. Så man beslutade att låta 8085:an ha kvar sina 12 extra instruktioner men att bara annonsera 2 av de nya instruktionerna för 8085:an.
8080:an hade ett fåtal 16 bitars operationer, add, load och shift men 8086:an blev Intels första riktiga 16 bitars processor. 8086:an kunde nu hantera 16 bitars aritmetiska operationer, till och med multiplikation och division. 8086:an behöll alla de gamla 8 bitars instruktionerna men den skulle bara arbeta på en 16 bitars minnesbuss. Detta innebar att 8086:an inte skulle bli kompatibel med folks 8 bitars system. Av en slump utvecklades 8086:an till två olika produkter: 8086:an och 8088:an. 8088:an hade samma instruktioner som 8086:an men använde en 8 bitars minnesbuss vilket gjorde 8088:an lite långsammare men den skulle vara kompatibel med gamla 8 bitars system. På så sätt kunde Intel lansera processorserien som både 16 bitars och 8 bitars processorer. 8086:an bestod av 13st 16 bitars register och 9st 1 bits flaggor. De 13 registren var uppdelade i 3 set om 4 var. Det 13:e registret kallades för instruction pointer vilket är samma som program countern i tidigare processorer. Detta register är inte åtkomligt för programmeraren. Bild 1 nedan visar hur 8080:an är subsets till 8086:an. Vad de olika registren gör och vad de står för är inte så relevant för denna rapport och kommer alltså inte att gås in på i detalj. Bild 1: Morse, Raveiel, Mazor, & Pohiman 1980, 'Intel Microprocessors 8008 to 8086', Computer, 13, 10, p. 42, Publisher Provided Full Text Searching File, EBSCO host, viewed 4 December 2015.
8086:ans adresserbara minne blev mycket söttre än vad 8080:ans minne var. Detta var dels pga av att minne hade blivit mycket billigare. 8080:an hade 64K byte adresserbart minne, 8086:an skulle ha 1M byte minne. För att kunna adressera 1 miljon bytes behövs det dock ett 20 bitars minne medan processorn bara hanterar 16 bitars beräkningar. För att uppnå detta förskjuter man den effektiva adressen 4 bitar till höger om segment adressen, sätter de lägst 4 bitarna i segment adressen till 0 och adderar de båda adresserna. Detta visas bättre i Bild 2 nedan. Bild 2: Morse, Raveiel, Mazor, & Pohiman 1980, 'Intel Microprocessors 8008 to 8086', Computer, 13, 10, p. 42, Publisher Provided Full Text Searching File, EBSCO host, viewed 4 December 2015.
Referenser Morse, Raveiel, Mazor, & Pohiman 1980, 'Intel Microprocessors 8008 to 8086', Computer, 13, 10, p. 42, Publisher Provided Full Text Searching File, EBSCO host, viewed 6 December 2015. Morse, S, Pohlman, W, & Ravenel, B 1978, 'The Intel 8086 Microprocessor: a 16 bit Evolution of the 8080', Computer, 11, 6, p. 18, Publisher Provided Full Text Searching File, EBSCO host, viewed 6 December 2015. Mazor, S 2010, 'Intel's 8086', IEEE Annals Of The History Of Computing, 32, 1, pp. 75 79, Business Source Complete, EBSCO host, viewed 6 December 2015. '8 bit or 16 bit computers?' 1984, Journal Of Accountancy, 157, 6, pp. 62 66, Business Source Complete, EBSCO host, viewed 6 December 2015.