Med alla framsteg inom datorteknik kan det vara svårt att hålla sig uppdaterad. Den jargong som säljs när de köper en ny enhet hjälper sällan och det verkar som att de som pressar dig mot en specifik dator inte förstår hur 64-bitars datoranvändning fungerar eller gynnar användaren utöver möjligheten att få tillgång till mer RAM.
I den här artikeln kommer vi att titta på hur operativsystemet och applikationsmjukvaran som valts för att köras på ett 64-bitarssystem, samt några funktioner hos själva processorn, påverkar datorns övergripande prestanda.
Processor och operativsystem
Nästan alla datorer på marknaden idag levereras med 64-bitarsprocessorer och de flesta av dem har redan en 64-bitarsversion av Windows förinstallerad. Denna sammankoppling är avgörande när du vill få ut bästa möjliga prestanda ur ditt system. Även om du kan installera ett 32-bitars operativsystem på en 64-bitars dator, skulle du gå miste om de ytterligare fördelarna med hårdvaran.
När du installerar ett 32-bitars operativsystem på en 64-bitars dator blir effekten en omedelbar konvertering av en 64-bitars processor till en 32-bitars processor.
Alla instruktioner på processornivå är begränsade till att använda 32-bitars register, därför är alla inbyggda matematiska funktioner begränsade på samma sätt vad gäller deras räckvidd och precision. Mängden fysiskt minne som kan nås sjunker till 4 GB, även om det finns mer minne installerat. Hårdvaruminne såsom videominne kommer att förbruka en del av det adresserbara minnet istället för att flyttas över det eller ha RAM-minne ommappat runt hårdvaruminnesadresserna. All annan programvara som du vill köra på systemet måste vara 32-bitars och kommer att begränsas av samma parametrar.
Det är den bästa anledningen till att se till att du använder ett 64-bitars operativsystem på alla datorer som har en 64-bitars processor.
Processorkapacitet
Förutom att para ihop ett lämpligt operativsystem med hårdvaran, påverkar delar av CPU-designen systemets prestanda. Antalet kärnor som är tillgängliga för att göra bearbetningen är en av de stora.
Från enkla till flera kärnor
För ungefär två decennier sedan använde nästan alla datorer som marknadsfördes till konsumenter processorer med en enda bearbetningskärna i förpackningen. Med den här typen av design innebar det att datorn bara kunde exekvera en enskild instruktion åt gången och att operativsystemet bara kunde tilldela en enda exekveringstråd åt processorn åt gången.
Idag kan en enda kiselskiva ha 2, 4 eller fler kärnor och förpackningen kan ha mer än ett chip. Genom att placera mer än en enda kärna i processorpaketet ser operativsystemet varje kärna som en individuell processor där den kan tilldela processtrådar, och varje kärna fungerar oberoende av de andra. Således, på ett fyrkärnigt system, kan datorn utföra fyra instruktioner samtidigt – en på varje kärna.
Ansluta kärnor med Hyperthreading
2002 drev Intel ut hyperthreading-teknik som gör att operativsystemet “se” två logiska processorer för varje processkärna på chippet. Det fungerar genom att ha två distinkta uppsättningar av processortillståndsdata, en för varje logisk processor och en enda delad exekveringskärna. Detta tillåter operativsystemet att tilldela en exekveringstråd till varje logisk processor som upprätthåller sina egna tillståndsdata. När en tråd är blockerad för att den väntar på data eller en annan resurs kan den andra logiska processorn använda exekveringskärnan för sin bearbetning, såvida den inte också är i ett vänteläge. Prestandavinster genom att använda denna teknik tenderar att variera från 15 till 30 procent.
Det betyder inte att en fyrkärnig processor är dubbelt så snabb som en dubbelkärnig processor som kör med samma klockhastighet i en given situation eller att en Intel-processor med hypertrådning kommer att prestera bättre än en utan tekniken. Vissa mjukvarufaktorer kan helt omintetgöra förekomsten av ytterligare bearbetningskärnor.
Effekten av applikationsprogramvara
Så nu när du har bestämt dig för att skaffa en ny 64-bitars Intel dual-core-processor med hyperthreading och para ihop den med en 64-bitarsversion av Windows, kommer du att få bästa möjliga prestanda, eller hur? Kanske.
Medan moderna operativsystem kan dra nytta av all hårdvara som har att erbjuda, kanske inte den applikationsprogramvara du använder, särskilt äldre programvara.
De äldre enkärniga CPU:erna jag nämnde ovan kunde bara hantera en enda tråd åt gången. Mycket av programmeringen som gjordes vid den tiden skrevs för att använda bara en enda tråd. Att använda den programvaran på ett flerkärnigt system kommer fortfarande att resultera i att det bara använder en kärna för den tråden. Det är därför du kan se ett fyrkärnigt system som körs med 25 % belastning i Aktivitetshanteraren med en enda kärna med 100 % utnyttjande och de andra tre kärnorna verkar vara inaktiva. Arbetsbördan är inte spridd.
För att kunna dra fördel av alla bearbetningskärnor i ett system måste programvaran utformas med parallell bearbetning och multithreading i åtanke. Tanken här är att dela upp problemet i diskreta komponenter som kan slutföras oberoende av varandra så att datorn kan slutföra varje uppgift på separata kärnor samtidigt. Detta kan minska tiden det tar att generera det önskade resultatet. Det betyder också att en tråd för användargränssnittet inte låser sig när tung bearbetning av andra trådar sker på andra kärnor.
Även om ett program har designats med multithreading i åtanke, finns det fortfarande möjligheten att en del av dess funktionalitet inte kan parallelliseras. Ett exempel på detta är Microsoft Office-applikationer som använder Visual Basic for Applications (VBA) makron. Ett långvarigt makro kommer sannolikt att konsumera en hel kärna tills det tar slut. Eftersom en dator inte automatiskt kan avgöra om ett makro kan parallelliseras försöker den helt enkelt inte göra det.
Förbättra prestanda för enkeltrådade appar
Om du måste använda entrådade äldre applikationer, särskilt om du behöver köra flera samtidigt, är din bästa insats för bättre prestanda att ställa in processoraffinitet för dem. Detta kommer att tvinga dem att bara använda specifika bearbetningskärnor. Genom att göra detta kan du säkerställa att även om de kan förbruka en hel kärnas processorkraft, kommer de inte att göra det på samma kärna, vilket gör att processerna tar längre tid att slutföra än absolut nödvändigt.
Med Windows kan du ställa in affiniteten genom att öppna Aktivitetshanteraren, högerklicka på processnamnet, välj Ställ in affinitet… från snabbmenyn, avmarkera kryssrutorna för alla processorer du inte vill att den ska använda och klicka sedan på OK.
Du kan också göra detta från kommandoraden med /affinity-flaggan för startkommandot.
start /affinity 2 notepad.exe
Observera att processornumret som används med affinitetsflaggan är 1-baserat medan det är nollbaserat när man tittar på Aktivitetshanteraren så detta skulle starta Anteckningar på CPU 1.
En liknande funktion finns för Linux-användare med kommandot taskset. Det är en del av util-linux-paketet och är en del av standardinstallationen för de flesta distros. Om det för närvarande inte finns på ditt system kan du installera det med
sudo apt-get install util-linux
för Debian-baserade distributioner eller
sudo yum install util-linux
för Red Hat-baserade system.
För att använda kommandot för att starta vlc på CPU 2, skulle du använda
taskset -c 2 vlc
För att ändra affiniteten för en process som redan körs med ett process-id (PID) på 9021 till att använda CPU 4 och 5, skulle du använda
taskset -cp 4,5 9021
Den andra faktorn med applikationerna är ordlängden. Medan en 32-bitars applikation fortfarande kan lagra och manipulera både heltals- och flyttalstal på 64-bitars tal, måste det göras via “big math”-bibliotek som tar längre tid att utföra jobbet än en 64-bitars processor som gör samma beräkningar inbyggt . Om en applikation kräver det utökade räckvidd och större precision som 64-bitars nummer erbjuder, kommer det alltid att vara mer effektivt att använda 64-bitars applikationer för uppgiften.
Med viss programvara spelar det ingen större roll om det är 32-bitars eller 64-bitars. En 32-bitars webbläsare fungerar bra för de flesta. Med normal användning bör det inte kräva mycket minne, även om du vill ha dussintals flikar öppna. Det kommer enkelt att använda flera trådar över dina fysiska och logiska processorer och bör inte hamna CPU-bunden. Detsamma gäller för de flesta ordbehandlingsuppgifter. Men om du ska redigera foto eller video, koda om, köra modelleringsprogram eller göra andra CPU-intensiva uppgifter, eller arbeta med stora datamängder, kan du vänta längre än nödvändigt utan flertrådad 64-bitars programvara.
Final Taket
Så vad är det bästa alternativet? Bästa svaret: det beror på.
Om du vet att du kommer att köra ett Excel-kalkylblad på ditt system som använder långa VBA-makron, skulle du vara bättre med ett dubbelkärnigt system som körs på 3 GHz snarare än ett fyrkärnigt system som körs på 2,2 GHz, men om du är ständigt studsa mellan flera flertrådade program medan du jobbar eller spelar din dator, det omvända är sant.
Även om generaliseringar aldrig bevisar sig själva i alla fall, kommer den bästa prestanda för stationära datorer idag att använda 64-bitars flerkärniga processorer som kör ett modernt 64-bitars operativsystem och 64-bitars flertrådsapplikationer för de mest krävande uppgifterna.
Vilken typ av erfarenheter har du haft med 64-bitars prestanda? Har du 32-bitars programvara som överträffar sin 64-bitars motsvarighet eller finns det ingen märkbar skillnad mellan dem? Låt oss veta i kommentarerna nedan.
Bildkreditering: Demontering av en gammal dator (CC by 2.0) av fdecomite, 4:e generationens Intel® Core™ i7-processor fram och bak (CC by 2.0) av Intel i Tyskland
Om författaren
Bruce Epper (13 publicerade artiklar)
Bruce har lekt med elektronik sedan 70-talet, datorer sedan tidigt 80-tal och svarat på frågor om teknik som han inte har använt eller sett på hela tiden. Han irriterar sig också genom att försöka spela gitarr.
Mer från Bruce Epper
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
