Bill Gates anses en gång i tiden (1981) ha sagt, att "640 KB borde räcka för
vem som helst". Idag är 32-bit teknikens gräns på 2-4 GB ansedd som för liten
och det är huvudanledningen till att utvecklingen har gått vidare till
64-bits minnesadressering. Det förflyttar i dagsläget gränsen till 16 TB och
mera potential finns kvar. Detta examensarbete har behandlat förändringar i
samband med denna nya teknologi och undersökt vad som ändras vid övergång
från 32-bit. Några områden som är värda att nämna som viktiga är nya
möjligheter med minneskapaciteter men även förändringar som har att göra med
mjukvaror. Det allra viktigaste området i detta arbete har varit att besvara
frågor om hur stora förändringar som krävs vid programmering av mjukvara och
om dessa ändringar kan motiveras. Uppdragsgivaren, TietoEnator Government
Services Sweden avdelning Solutions Development North, har med deras
programvaror och behov varit en central utgångspunkt för hela examensarbetet.
Den teknik som har varit i fokus är den utökning av x86-arkitekturen som AMD
utvecklade och lanserade med sina AMD64-processorer. Senare har Intel
licensierat denna teknologi och idag är den i det närmaste standard på
PC-marknaden vad gäller processorer. Mycket av det som sägs i denna rapport
gäller även för andra 64-bits teknologier som idag finns på marknaden, t.ex.
IA64, men alla antaganden om detta får stå för läsaren själv. Anledningen
till att AMD valde en utökning av x86 för att utveckla den nya arkitekturen
var den stora mängden befintliga programvaror som finns på marknaden och
oviljan från användare att tvingas byta ut alla sina program samtidigt.
Möjligheten ges nu att fortsätta använda de flesta befintliga 32-bits
programvaror, även efter en uppgradering av operativsystem, utan märkbara
prestandaförluster. Men om steget tas fullt ut med en uppgradering av
programvaran till 64-bits så kan en prestandaökning oftast bli fallet. I
tester utförda under detta examensarbete kunde prestandaförbättringar på TE
GSS produkter uppmätas till 15-25%.
Erfarenheterna av arbetet med programmering i x64-miljö visar på att det
krävs små förändringar hos TE GSS för att kunna utnyttja denna teknologi.
Skillnaden i programmering är främst inriktat på korrekt användning av
polymorfiska datatyper som ändrar storlek beroende på vilken plattform
programvaran körs på. Att konvertera befintliga programvaror är definitivt
värt ansträngningen om det finns behov av den högre prestandan eller
möjligheten till större mängd resurser (främst RAM), annars kan det anses
överflödigt. Men att inte tänka på den nya tekniken och förändra sitt
kodningssätt i tid när nya program utvecklas måste anses som dumdristigt
eftersom förändringarna är små om bara kunskapen finns. Det som främst kan
anses vara ett hinder i tidsramen för när 64-bits programvara ska
marknadsföras på bred front till kund är kostnader i resurser för att testa
på ytterligare plattformar samt att kunder ännu inte riktigt efterfrågar det.
Med denna rapport vill jag dela med mig av de erfarenheter och kunskaper som
examensarbetet har skapat. Rapporten och dess referenser ska fungera som
viktig informationskälla till uppdragsgivaren och andra vid funderingar kring
x64-teknologin. Informationen i rapporten ska vara tillräckligt utförlig för
att s...