En dubbelkärnig processor, är det egentligen två processorer ihopsatta på samma fysiska enhet? Vad jag vet så är det ja, två kärnor på vardera exempelvis 3Ghz <b>Men eftersom många kör 32 bits operativsystem och även program så kan ju bara programmen använda en kärna och inte båda.</b> <b>En dubbelkärnig processor, är det egentligen två processorer ihopsatta på samma fysiska enhet?</b> >Jag har sett att tex Dustin skriver ut hastigheten som 2x3 Ghz på en dubbelkärnig processor på 3 Ghz. I min värld så <b>Är dock osäker för jag har märkt att när den ena kärnan är "full" så går det över till den andra. <b>mm men det har jag dock märkt att programmen kör en processor men när det är mycket så jobbar även den andra lite.</b> <b>Låter som ett mycket märkligt beteende... Har du ändrat någon inställning som har med detta att göra? Det normala är att trådarna fördelas mellan kärnorna. Det kan givetvis vara så att ett program som inte utnyttjar mer än en kärna maxar den ena, men kärna nr 2 ska inte ligga helt outnyttjad tills den första har full belastning.</b> Det är inte det som är grejen. Låt säga att du har ett program X som är en enda tråd. Om du kör den så ligger all dess processorkraft på ena processorn, låt säga processor 1. Som tidigare nämndes är det fysiska kärnor i en flerkärning processor, med cache och kontrollern inbyggd i processorn. <b>Det är därför det inte låter riktigt rätt det du säger. Processor 2 borde inte plötsligt kunna öka.</b> Som jag har förstått inläggen så är alltså en flerkärnig processor snabbare än flera separata processorer? Även om det kanske inte är någon större skillnad i praktiken så verkar det ju inte vara någon nackdel att samla all i samma CPU. Tvärtemot vad jag trodde. i Windows så går det välja viken process som ska använda vilken kärna. I praktiken blir det inte riktigt 4 gånger snabbare, men närapå. Om du har 4 beräkningar som alla tar lika länge att köra blir de klara under ungefär tiden det tar att beräkna en av dem, om du kör dem parallellt på 4 kärnor. Anledningen till att det blir "ungefär" är för att andra faktorer spelar in, andra processer som ska ha processortid, minnesåtkomst och åtkomst till andra delade resurser.CPU-kärnor?
Dvs, är en dator med 1st tvåkärnig processor lika snabb som en dator med 2st enkärniga processorer (förutsatt att övriga specifikationer är lika)?
Jag har sett att tex Dustin skriver ut hastigheten som 2x3 Ghz på en dubbelkärnig processor på 3 Ghz. I min värld så känns det som att 2 enskilda processorer på 3 Ghz skulle vara snabbare, men det är som sagt kanske samma sak?
/ThomasSv: CPU-kärnor?
Men eftersom många kör 32 bits operativsystem och även program så kan ju bara programmen använda en kärna och inte båda.
Är dock osäker för jag har märkt att när den ena kärnan är "full" så går det över till den andra.
Samt att man kan ställa in vilken kärna ett program ska använda så man kunde köra basprogrammen på en kärna och alla de andra programmen på den andra, detta gör ju att programmen kan använda 100% av kärnan och inte dela den med operativsystemet och dess program som körs i bakgrunden som brandvägg och antivirus.
Dock för att få det så bra som möjligt att operativsystem och dess bakgrundsprogram körs på en annan hårddisk.
Kanske har fel men det är vad jag har förståtSv:CPU-kärnor?
32- eller 64-bit påverkar väl inte möjligheten för att utnyttja flera kärnor alls?
/ThomasSv:CPU-kärnor?
I princip, de delar dock en del komponenter (cache?). Hur prestandan blir i praktiken i denna jämförelse har jag ingen aning om...
<b>Men eftersom många kör 32 bits operativsystem och även program så kan ju bara programmen använda en kärna och inte båda.</b>
Har inget med 32 vs. 64 bitar att göra. För att utnyttja fler än en kärna någorlunda väl krävs att applikationerna är flertrådiga. Om de inte är det kan varje program bara utnyttja en kärna.
<b>Är dock osäker för jag har märkt att när den ena kärnan är "full" så går det över till den andra.</b>
Låter väldigt konstigt, i normalfallet så borde lasten spridas någorlunda jämt mellan kärnorna så länge man inte kör ett entrådigt program som tar mycket kraft (vilket iofs är ganska vanligt).
<b>Samt att man kan ställa in vilken kärna ett program ska använda så man kunde köra basprogrammen på en kärna och alla de andra programmen på den andra, detta gör ju att programmen kan använda 100% av kärnan och inte dela den med operativsystemet och dess program som körs i bakgrunden som brandvägg och antivirus.</b>
Har själv inte sett denna möjlighet. Det låter oerhört korkat att göra så såvida man inte har en extremt tidskritisk applikation som behöver tillgång till en (eller flera) kärna för sig själv. OS:et är oerhört mycket bättre på att sprida lasten över kärnorna än vad användaren någonsin kommer bli (på en "normal" PC, det kan säkert finnas extremfall där det inte är så).
/JohanSv: CPU-kärnor?
>känns det som att 2 enskilda processorer på 3 Ghz skulle vara snabbare, men det är som sagt kanske samma sak?
Alla CPU:er delar på minnet. De måste därför kommunicera med varandra för att se till att cacheminnerna är syknroniserade. Denna kommunikation går (i de flesta fall) snabbare om kärnorna sitter på samma chip.
CPU utvecklingen går dock snabbt och vad som är snabbare i en generation behöver inte vara det i nästa.Sv: CPU-kärnor?
Låter väldigt konstigt, i normalfallet så borde lasten spridas någorlunda jämt mellan kärnorna så länge man inte kör ett entrådigt program som tar mycket kraft (vilket iofs är ganska vanligt). </b>
mm men det har jag dock märkt att programmen kör en processor men när det är mycket så jobbar även den andra lite.Sv:CPU-kärnor?
Låter som ett mycket märkligt beteende... Har du ändrat någon inställning som har med detta att göra? Det normala är att trådarna fördelas mellan kärnorna. Det kan givetvis vara så att ett program som inte utnyttjar mer än en kärna maxar den ena, men kärna nr 2 ska inte ligga helt outnyttjad tills den första har full belastning.
/JohanSv: CPU-kärnor?
Nopp, har inte ändrat men dock så kommer jag inte ihåg vad det var för program för de var rätt så gamla.
Dock har man märkt att i systemhanteraren att visa program visar 50% konstant när den jobbar och när man tittar på det grafiska så verkar det som bara den ena processorkärnan får jobba medan den andra inte gör något så det sättet jag skrev att det flyttar över verkar vara något gammal program och inte de nya.Sv:CPU-kärnor?
Oavsett om den har 5% eller 99% användning, så ligger den helt och hållet på processor 1.
Låt säga att den drar 30% processorkraft, och övriga systemet kräver 30%. Då försöker operativsystemet samla ihop allt annat och lägga det på processor 2 så att den också får 30%.
Oavsett hur mycket X drar över 30% så kommer allt övrigt ligga på processor 2. Alltså borde det inte ge någon som helst skillnad på processor 2 på om X drar 30%, 60% eller 100%.
Det är därför det inte låter riktigt rätt det du säger. Processor 2 borde inte plötsligt kunna öka.Sv: CPU-kärnor?
I en miljö med flera fysiska processorer på moderkortet måste moderkortet ha ett L3 cache för att distribuera arbetet till alla tillgängliga processorer, vilket teoretiskt sett borde vara långsammare än att processorn tar hand om det själv.
Bygger vi flertrådiga applikationer kan operativsystemet i vissa fall sprida ut arbetet på flera processorer, men jag har upplevt att Windows inte gör detta bra. Det finns ett extension från Microsoft man kan använda för att specifikt sprida ut arbete på flera kärnor, nämligen Microsoft Parallel Extensions to .NET Framework 3.5 (http://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3&displaylang=en).Sv: CPU-kärnor?
Det jag såg var att jag satt och jobbade med ett program som tog en del kraft (ca 30-40%)
Sedan fick jag för mig att köra ett annat program medan jag var ute och när jag tittade då så var kärna 1 100% konstant medan kärna 2 var 20% och hoppade där runt.
Inget jag bryr mig för min linuxburk som jag använde kör jag bara tunga grejer för att slippa köra på min stora dator om jag har lust att spela eller något annat.
Jag kan ju inte svära att den jobbar att den går fullt upp och sedan fortsätter på den andra men det såg ut så för mig.Sv: CPU-kärnor?
Edit: Då borde man ha mer nytta av fler kärnor än vad det sägs tycker jag. Även om ett enskilt program inte är multitrådat så kan ju i alla fall olika program använda olika kärnor och då borde en faktiska prestandan bli ungefär gånger antalet kärnor. Fyra gånger prestandan på en fyrkärnig tex.
Om vi tar en ett exempel: en ren mjukvaruberäkning som inte använder sig av någon annan flaskhals (tex grafikkortet). Man har fyra program som kör samma beräkning. Kommer processerna att bli klara på 25% av tiden på en fyrkärnig jämfört mot en enkärnig? Eller gäller det bara om varje process skulle ta upp närmare 100% själv? Eller gäller det ens då?
/ThomasSv:CPU-kärnor?
Om man inte gör det så gör den vad den kan
Mencoder (kör jag för att konventera) använda båda mina kärnor, ibland önskar man man hade fyra kärnor.Sv:CPU-kärnor?
Skulle du däremot köra alla 4 beräkningarna på en kärna kommer det att ta de 4 beräkningarnas sammanlagda tid eftersom en måste bli klar innan nästa kan fortsätta.
Jag skulle påstå att flerkärninga processorer är snabbare än flera fysiska processorer på ett moderkort då det är processortillverkaren som själv optimerat de interna algoritmerna för cacheåtkomst etc, samt att sträckan är betydligt kortare till data.