Processor pipelining genom historien (Intel i9-intel i7) Besnik Redzepi Lunds Universitet
Abstrakt/Sammanfattning Syftet med denna uppsats är att jämföra Intels nya generation processorer och deras pipelining. Jag har valt att begränsa mig till processorerna Intel i9 och Intel i7. Till min hjälp har jag använt mig av olika vetenskapliga texter samt nätet för att hitta trovärdiga källor om dessa två processorer. Slutsatsen utifrån denna undersökning visar att Intels nya processorer har en gemensam pipelining med små skillnader mellan processorerna. Historiskt sett så är processorerna det bästa Intel har släppt och framtiden ser otroligt ljus ut för datavärlden. Inledning/Bakgrund Vi har under en långtid det senaste decenniet, försökt skapa snabbare och effektivare processorer för att förenkla den snabbt utvecklande tekniken inom data och teknologi. I dagens samhälle använder vi datorer varje dag för att underlätta vår vardag. Det kan vara allt från att skriva artiklar, läsa nyheter, programmera eller för att spela. I vilket fall som helst, om man någon gång använt en dator, vilket man i dagens moderna samhälle har, vet man att en dator kräver speciella komponenter för att fungera på bästa möjliga sätt. En av dessa är datorns processor. Det finns idag en mängd olika processorer att välja mellan sedan Intel släppte den första processorn (Intel 4004) 1971. Denna processor innehöll 2300 transistorer med en 10 000 nanometer stor mikroprocessor till skillnad från dagens processorer som har en 32 till 45 nanometer stor mikroprocessor och innehåller 560 miljoner transistorer (1). På grund av den otroligt stora variationen av processorer har jag valt att specificera mig till de nyare generationen processorer som Intel i9 och Intel i7. Intels nya generations processorer som Intel i9 och Intel i7 av generation 9, har en 14 nanometer mikroarkitektur som kallas Skylake. Denna arkitektur använder Intel för många anledningar som till exempel för att få mer kraft effektiva processorer men även för dagens stora begäran av bästa möjliga grafik. Idag tycker man inte längre att 1080p eller som man var dagligen säger Full HD upplösning inte längre räcker. Skylakes teknologi i processorer kan driva upp till att man har tre dator skärmar med 4K upplösning som till och med är 20 procent snabbare än den förra mikroarkitekturen Broadwell. Skylake är dessutom utvecklat för att användas med Windows nyaste operativsystem, Windows 10 (2). De små komponenter som en generell processor men även Intels processor innehåller är en instruktionsavkodare, en eller flera aritmetiska och logiska enheter och en uppsättning arbetsregister. Genom att föra in instruktioner till dessa skapar man ett program. Programmet lagras sedan i ett minne där olika adresser pekar på olika instruktioner. När programmet exekveras så är det processorns uppgift att hämta en av instruktionerna. Instruktionen kan delas upp i tre typer, hoppinstruktion, minnesinstruktion eller aritmetiska och logiska instruktioner (3). Dessa instruktioner kan vara något av följande, CALL, RET, BZ, B, ADD, SUB, AND, OR, XOR, LD, OUT, IN, NOP, MYST. Instruktionsavkodaren Instruktionsavkodaren eller som den också kallas på engelska decoder, har i uppgift att skapa de styrsignaler som krävs för att en maskinvara skall utföra en specifik angiven instruktion. ALU Den aritmetiska och logiska enheten ALU:n innehåller tre ingångar, A, B samt ALUOp. A och B ingången är operander för den operation som ska utföras medan ingången ALUOp
meddelar vilken operation som A och B ska utföra. Utsignalen hos ALU:n kallas output vilken genererar ut operationens resultat där man även har en flagga Z som indikerar när resultatet blir noll (4). Arbetsregister Arbetsregistret hos en generell processor innehåller två interna lagringsplatser, R0 och R1 i processorn. ALU:ns utsignal är registernas insignal. Det är instruktionsblocket som bestämmer till vilket register insignalen ska till. I dessa register sköts dessutom avbrottshanteringar som uppstår när ett fel uppstår. Då ska registerna spara undan den nuvarande adressen och bearbeta det avbrott som uppstått. När detta är genomfört ska den föregående adressen som sparades undan tas fram igen så man kan köra den rätta instruktionen igen (5). Pipelining Om vi går in i djupet hos processorn så sker olika operationer som fetch och execute när man hämtar och kör en instruktion. Men om vi använder oss av pipelining kan man i kortare klockcykler behandla fetch och execute operationer mycket mer effektivare. Det genom att i klockcykel där man avkodar en instruktion dessutom hämta en ny (fetch). Det finns dessutom flera pipelining metoder som superpipelining och superscalar pipelining vilket Intel använder i sina processorer speciellt i Intel i9 och Intel i7 där man kombinerar de två metoderna. Intels Skylake processorer använder sig av två pipelining metoder som kallas superpipelining och superscalar. Superpipelining innebär att man delar upp varje steg i en pipeline i substeg. Genom att göra detta ger pipeliningen två gånger snabbare resultat jämfört med att ha fler steg i en pipeline. Superscalar pipelinging innebär istället att man kör flera oberoende instruktioner parallellt som till exempel kan vanliga instruktioner som aritmetik, initieras samtidigt och exekveras oberoende. Superscalar är tillämpad på både RISC och CISC men mest på RISC. Förutom att de bägge processorerna har samma mikroarkitektur (Skylake) så handlar den stora fråga om vad som skiljer Intel i9 ifrån Intel i7. Vilka är skillnaderna? Hur påverkar dessa skillnader valet av processor samt hur skiljer pipeliningen sig åt mellan de nya generationen processorer från Intel? Hur skiljer sig dessa nya processorerna sig ifrån de äldre generationerna? Hur ser framtiden ut? Vilka förändringar försöker man implementera samt vilka förändringar kan man förvänta sig i de nya processorerna? Diskussion/Jämförelse Intel i9 lanserades under oktober månad (2018) och är den senaste processorn som Intel Corporation har släppt. Intel i9 processorn har en 14 nanometer mikroarkitektur som innehåller 8 kärnor med 16 trådar och genererar en maxfrekvens på 5.0 GHz. Intel i9 har dessutom ett cacheminne på 16MB (6). Intel i7 (generation 9) lanserades också i oktober 2018. Det har funnits tidigare generationer av Intels i7 processor och därför talar man om generationer för att kunna urskilja diverse modeller. Intel i7 (gen 9) processorn har likt Intel i9 processorn en 14 nanometer Mikroarkitektur. Men i7:an drivs istället av 8 kärnor och 8 trådar som genererar en maxfrekvens på 4.9GHz. I7:an har ett cacheminne på 12MB tillskillnad från i9:ans 16MB. En specifikation som de bägge processorerna har gemensamt är att de bägge har en maxutlösning på 4096x2304 samt support för 4K (7).
Bortsätt från processorernas specifikationer har pipeliningen inte förändras för skylake processorn utan med nya maxfrekvenserna på 4.9 och 5.0 GHz och cacheminne på 12 och 16MB kan man hålla på med flera saker samtidigt jämfört med förr. Intel säger själv att den fundamentala pipeliningen av chipet skiljer sig inte mycket ifrån diverse Skylake och Kaby lake delarna som vi älskat i två år. Det vill säga Intel har inte förändrat pipeliningen genom att dyka in i mikroarkitekturen utan har istället fokuserat på att ha en bättre branch predictor. Det har dem valt att göra för att undvika att processorerna bränner kraft och tid på att exekvera fel instruktioner (8). Figur 1: The basic Skylake core as seen in the Core i7-6700k and friends. Källa: Intel Corporation Förutom en gemensam pipelining och en hel del liknelser i specifikationer så återstår frågan om vilket processor som är bäst? Genom att jämföra processorerna prestanda så tar Intel i9 priset som bästa processor. Men eftersom en ny Intel i9 processors pris ligger mellan 4500 20000 kr och en Intel i7:s pris ligger på 3500 18000 kr så vinner Intel i7 när man jämför priserna. Men sedan måste man dessutom tänka på vad man ska använda processorn till och utifrån det välja mellan de nya, generation 9 processorerna eller kanske till och med tidigare generationer. När man kollar tillbaka i tiden istället och jämför de nya processorerna med dem gamla så ser man tydliga skillnader. Hos de äldre generationerna är mikroarkitekturen större, cacheminnena storlek avsevärt mindre vilket i sin tur har medfört en sämre pipelining. Med tiden har man ökat frekvenserna, skapat större cacheminnen, utvecklat mindre
mikroarkitekturer samt skapat nya teknologier med DDR4 RAM-minne och bättre pipelining metoder. Framtiden ser ljus ut för både oss konsumenter men även för Intel som skapar dessa processorer. Deras nyaste mikroarkitektur, som dagens Skylake kallas Ice lake och ska enligt Intel ha en 10 nano meter mikroarkitektur inklusive ny teknologi med nytt RAM-minne som kallas LPDDR4 och mycket mer (9).
Referenser (1) Intel Corporation. The story of the Intel 4004 Available at:https://www.intel.com/content/www/us/en/history/museum-story-of-intel- 4004.html) (2) MURRAY, M. (2015) Inside Intel s Skylake Microarchitecture, PC Magazine, pp. 11 16. Available at: http://ludwig.lub.lu.se/login?url=http://search.ebscohost.com.ludwig.lub.lu.se/login.as px?direct=true&db=bth&an=109990019&site=eds-live&scope=site (Accessed: 3 December 2018). (3) Förberedande material till laborationerna i datorarkitektur med operativsystem (Lunds Universitet, 2018. s.3) (4) Förberedande material till laborationerna i datorarkitektur med operativsystem (Lunds Universitet, 2018. s.11) (5) Förberedande material till laborationerna i datorarkitektur med operativsystem (Lunds Universitet, 2018. s.12) (6) Intel Corporation (2018) INTEL CORE i9-9900k PROCESSOR Available at: https://www.intel.com/content/www/us/en/products/processors/core/i9-processors/i9-9900k.html (7) Intel Corporation (2018) INTEL CORE i7-9700k PROCESSOR Available at: https://www.intel.com/content/www/us/en/products/processors/core/i7-processors/i7-9700k.html (8) Intel Corporation 7th generation Intel Processor family for U/Y platforms and 8th generation Intel family for U quad core platforms (s.27) Available at: https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/7th-gencore-family-mobile-u-y-processor-lines-datasheet-vol-1.pdf (9) Burt, J. (2018) Intel Product Roadmap Shows 10nm Xeon Server Chips Arriving in 2020, eweek, pp. 4 3. Available at: http://ludwig.lub.lu.se/login?url=http://search.ebscohost.com.ludwig.lub.lu.se/login.as px?direct=true&db=a9h&an=131202969&site=eds-live&scope=site (Accessed: 5 December 2018).