Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 70 reacties
Submitter: bobwarley

Quadcore-processors voor smartphones en tablets komen in de nabije toekomst. Dat zegt chipmaker Nvidia in een whitepaper die dinsdag is gepubliceerd. Dualcores en quadcores maken smartphones krachtiger en zuiniger, zegt Nvidia.

Het is onduidelijk wanneer Nvidia zijn eerste quadcore-processor voor smartphones en tablets gaat aankondigen, maar in de uitgebreide whitepaper concludeert Nvidia dat de markt er klaar voor is. "De meeste desktop- en notebooksystemen maken vandaag de dag gebruik van dual- of quadcore- processors en gebruiken significant minder energie dan hun singlecore-voorgangers. Maar mobiele apparaten als smartphones zouden nog meer profiteren van multicore-processors, omdat accuduur daar nog veel meer van belang is."

Bovendien komen er toepassingen aan die veel vragen van processors. "Hd-video's afspelen, video streamen, gamen in 3d en interfaces in 3d zijn allemaal zaken die veel vragen van singlecore-mobiele processors. Om de prestaties verder te verbeteren en een acceptabele accuduur te houden, is het onvermijdelijk dat mobiele processors multicore worden. Dualcore-processoren worden mainstream in 2011."

Het is geen toeval dat Nvidia juist nu met deze whitepaper komt. Zijn Tegra2-cpu is al even op de markt, maar binnen een maand worden de eerste aankondigingen van toestellen met de chipset verwacht: de Motorola Olympus en de LG Star. De Tegra2 is de eerste in smartphones gebruikte cpu met een Cortex A9-core. Cortex A9 is de opvolger van Cortex A8, de core van de processors in onder meer de iPhone 3GS, iPhone 4, iPad, Samsung Galaxy S, Galaxy Tab en Nokia N900. Cortex A9 is de eerste core die meer dan één processorkern ondersteunt.

Nvidia: waarom dualcore zuiniger is

Moderatie-faq Wijzig weergave

Reacties (70)

Dat is goed nieuws. Aangezien de ontwikkeling op accu-gebied redelijk stilstaat vind ik het goed dat er naar andere mogelijkheden gekeken worden om energie te besparen.
Het onderzoek staat zeer zeker niet stil, iedere week staat er in Technisch Weekblad wel iets over nieuwe vindingen op dit gebied. Vooral op het gebied van de anodes is veel gewonnen het laatste jaar.

Het duurt echter een poosje voordat dit in de markt gezet wordt, gezien met investeerders nodigheeft, brandtesten e.d. moet doen en de productielijn enigszins omgooien.
Uiteindelijk komen er dan applicaties die niet 4x25% vragen, maar 4x100% en zal je accu nog sneller leeg gaan...

Krijg het gevoel bij deze uitleg dat ze een theorie rond de hardware hebben gemaakt, ipv de hardware naar een theorie.
De tekening toont de belasting over een gelijke periode van tijd.
Als een app gedurende 15 seconden een singlecore 100% belast, dan zal dat (indien de app perfect schaalbaar is) op een dualcore gedurende 15 seconden per core 50% zijn en dan kan de frequentie per core naar beneden en het bijhorende verbruik is dan ook lager.

Als je app die dualcore per core 100% kan belasten, dan zal dat dubbel zo snel gaan als op de singlecore. Je hebt immers dubbel zoveel rekenkracht ! Aan het schema te zien zal een dualcore aan hetzelfde voltage werken als een singlecore uit dezelfde serie, dus het verbruik (en dus afname in batterijduur) is ook 50% kleiner dan hetzelfde op een singlecore.
Maar waarom zou een proc die dubbel zoveel kan (de dualcore) evenveel verbruiken als de proc die de normale hoeveelheid kan (de singlecore)? Moet het dan niet ook mogelijk zijn om een singlecore te maken die maar de helft (vergeleken met de dualcore) gebruikt?

Is dit niet meer een marketingverhaal dan dat het gebaseerd is op technische argumenten?

[Reactie gewijzigd door Jesse op 2 december 2010 13:26]

verbruik per klokcyclus is evenredig met het kwadraat van de spanning: verbruik per core van een dual core die op 50% van zijn snelheid draait en dus op 0.8 ipv 1.1V is ongeveer 53% van 1 core op volle snelheid.
dus totaal verbruik per klokcyclus is 106% van 1 core op 100%
Aangezien er echter maar 550M klokcycli zijn per seconde ipv 1000M, is het verbruik van de dualcore 55% van 106%, dus 58,3% van dat van één core op volle snelheid.
Maakt niet uit hoe je het omschrijft, voor dezelfde rekenkracht pak je minder energie. Daar gaat het hier om. Gezien de zwaardere applicaties in de toekomst is dit natuurlijk een noodzakelijke ontwikkeling :)
Maar dan moeten de aplicaties natuurlijk wel multicore geschreven worden lijkt mij. En zijn de OSsen dat überhaupt wel zoals IOS en Android?
Als je pagina 5 en 6 bekijkt van het whitepaper van Nividia bekijkt zie je het verschil tussen een Single Core CPU en Dual Core CPU bij het browsen. Je kunt zien dat de processen verdeelt worden over de 2 core´s. In het voorbeeld word dan de browser genoemd, maar ik denk dat applicaties inderdaad multicore geschreven moeten worden. Aangezien ze op pagina 16 een spel laten zien die gebruik kan maken van meerdere threats.

Op de afbeeldingen van pagina 5 en 6 kun je toevallig zien dat ze dat onder Android getest hebben. Bij het draaien van een applicatie die geen multicore ondersteund denk ik zelf dat ze bijvoorbeeld de Background Tasks op Core1 laten draaien en de applicatie zelf op Core2.
Maar ik heb af en toe al het idee dat mijn smartphone nogal warm wordt, bij zwaardere applicaties... Hoe wil Nvidia dat oplossen dan? 2 of 4 cores lijken mij namelijk warmer worden dan een single core cpu
Als je kijkt naar het plaatje is door de lagere belasting per core minder stroom in totaal nodig. Net zoals bij een auto het rendement minder wordt bij maximale belasting kost het in dit geval onevenredig meer stroom
50% * (0.8v*2) = 0.8 ;)

Ruwe berekening... kan niet precies zo zijn, maar het komt er op neer dat twee cores op 50% EN op minder voltage dus minder energie gebruiken/warmte produceren.

Edit:
Hmm.... maar elke core draait ook weer op bijna 50% van de 'kracht' die hij heeft (lower frequency)

Edit2:
Is het niet zo dat de warmte ten opzichte van het voltage en frequency meer dan evenredig toeneemt? Dan is het gebruik van een lagere frequency beter voor de warmte ontwikkeling omdat voor een lagere frequency dus verhoudingsgewijs minder V nodig is.

[Reactie gewijzigd door highmastdon op 2 december 2010 13:09]

Je mag de spanning niet zomaar maal 2 doen. De processor werkt gewoon op 0,8V punt.
De frequentie verminderen met 45% levert een vermogenvermindering van 45% op.
De spanning verminderen van 1,1V naar 0,8V levert nog eens 47% op.
Dus stel dat de core even een onrealistische 100W zou verbruiken, dan verbruikt die op 0,8V en 550MHz nog net geen 30W. Maar omdat we die core nu trager is, zet men er een tweede naast. De totale processor verbruikt dan 60W. Dit is exact ook het getal dat men in de afbeelding uit komt. (40% minder dan de orginele 100W waarin ik hier vanuit ging)

Ideaal geval:
In geval dat je beide cores ook effectief kan gebruiken, heb je 1,1 miljard berekeningen per seconde in plaats van 1 miljard, maar daarbij een verbruik dat 40% lager ligt.

Niet ideaal geval:
Je gebruikt enkel 1 core, dan heb je nog 550 miljoen berekeningen per seconde in plaats van 1 miljard, maar daarbij gebruik je wel 70% minder energie per seconde.
Dus om dezelfde bv 2 miljard instructies uit te voeren, dan ben je met 1 core 4 seconden (3,63 in feite) bezig waarbij je 120 joule gebruikt (+ nog wel het idle verbruik van de 2e core), of met de oude core 2 seconden waarbij je 200 joule gebruikt.
Effectief is dat dus een minimale besparing van 35%, maar helaas wel een telefoon die in dit geval half zo snel is.

Het verbruik ligt dus in beide gevallen 35-40% lager. Dus het hangt enkel van het al dan niet multithreaden van de software af of je telefoon nu half zo snel wordt, of sneller dan voordien.

[Reactie gewijzigd door Malantur op 2 december 2010 14:30]

Je husselt alles door elkaar frequentie, warmte, voltage, kracht etc.

Nu is het ook zo dat bij gelijkstromen de warmte ook weer invloed heeft om de ohmse weerstand.

In principe geldt voor gelijkstroom. Hoe hoger de warmte des te slechter het rendement vanwege de toegenome ohmse weerstand.

Twee cores op lagere temperatuur gebruiken levert daarom een meer dan lineaire verbetering op.
Dat zie je toch in het plaatje?

Iets wat in totaal minder verbruikt zal nooit warmer worden dan iets wat meer energie verbruikt...
Oh, ik begreep uit het plaatje dat een enkele core 0,8v pakt... als ik dat met 2 vermenigvuldig dan kom ik echt uit op 1,6v wat bij meer is dan 1,1, wat mij doet denken dat het zooitje dus warm zou worden. Maar dat heb ik dan dus verkeerd gezien :)
Het aantal ampere speelt ook een rol.
ampere*Volt=het verbruik(Watt)=warmte

[Reactie gewijzigd door Tazzios op 2 december 2010 13:02]

Juist en de reden dat elke core afkan met een lagere spanning is omdat de cores op lagere kloksnelheden minder last hebben van lekstroom.

Nvidia schetst natuurlijk wel een ideaal beeld. Een applicatie moet wel net zo geschreven zijn dat de workload perfect over 2 cores verdeeld kan worden. Tevens zie je bij x86-cpu's van zowel Intel als AMD dat deze naar hun max frequentie springen zodra er iets te doen valt. Hoe de arm-cpu's dit gaan regelen vraag ik mij af (zou in de whitepaper kunnen staan). Maar zelfs pc's, waar toch al veel langer voor geprogrammeerd wordt, hebben er moeite mee.
ARM CPU's schakelen echt super... Mijne kan 1Ghz draaien maar draait meer op 800Mhz, dus die extra power is niet heel nodig maar wel handig als je het een keer nodig hebt!

Het meeste draait op op 200Mhz de laagste frequentie, maar dat komt natuurlijk bijna alleen voor als me scherm uit staat (standby)...
Ontopic:
In de realiteit heeft een CPU meer idle time dan 50% belasting.
Dus ziet je rekenplaatje er ook anders uit, die 40% wor in werkelijkheid misschien 10% tot 15%.
Een bestaande CPU die bijvoorbeeld 1ghz draait zal terug geklokt worden naar 500mhz x2 om quitte te spelen.

Die 40% die Nvidia ons doet geloven zijn leuk voor presentaties, het is wachten totdat reviewers dit kunnen testen en met feiten komen.

Offtpic:
Dat 2 of 4 cores niet goed benut worden op computers komt omdat men nog veelvuldig gebruik maakt van Windows XP en in Visual Basic 6 geprogrammeerde taal, in combinatie met hedendaagse software.
Windows 7 en Windows 2008R2 verdelen de workload goed over de resources (cpu en mem).

[Reactie gewijzigd door pancake82 op 2 december 2010 14:49]

Ampère speelt een rol en volgens mij is het plaatje ook fout:
Eerst wordt elke core voor 50% benut, daarna gebruikt de core een lagere frequentie, effectief verwerk je op die manier maar de helft van de workload.

Maar de uitleg klopt wel als:
De cores dezelfde frequentie hebben en door de lagere workload dus meer dan evenredig ampères tot zich nemen. Of de core draait op een lagere frequentie en voltage en neemt daardoor effectief minder energie op.
Maar de vraag is: wat levert het uiteindelijk op?

Met computers is het verschil tussen processor idle en moederbord idle al soms een factor 10. Halveer je het verbruik van de processor met 50%, dan is dat effectief (factor 10) maar 5%. Dus niet merkbaar, totdat het het verschil zal maken tussen gaat net een dag mee of niet.
Volgens mij gaan ze uit van een continue workload. Bij een dual core hoeft elke core hoeft maar 50% het werk te doen, en draait daarom zolang de workload aanwezig op de helft van de kloksnelheid (+ een beetje) van waar een enkele core op zou moeten draaien om de workload afgehandeld te krijgen.


Echter schaalt dit niet perfect door naar 4 cores. Zoals al uit het plaatje blijkt, is het verbruik niet lineair afhankelijk van de spanning, en is de spanning niet lineair met de klokfrequentie. Door OS inefficienties heb je bij het splitsen van de taken over 2 cores iets meer dan de helft van de klokfrequentie nodig als je bij 1 core hebt. Hetzelfde geld voor 4 cores, die moeten waarschijnlijk op 300MHz draaien, met 0.6V werkspanning, waarbij het verbruik waarschijnlijk weer iets hoger ligt als bij 2 cores.
ampères spelen de grootste rol.

Voltage = weerstand * stroom.
Vermogen = voltage * stroom.

vermogen = weerstand * stroom kwadraat

Daarbij hoe hoger de frequentie deste meer stroom er weg lekt.

[Reactie gewijzigd door daft_dutch op 2 december 2010 14:24]

Spanning (voltage) speelt evenzeer een grote rol, want:

stroomsterkte = spanning / weerstand
vermogen = spanning * stroomsterkte

vermogen = spanning * spanning / weerstand

Wat dus ook neerkomt op een kwadratische verhouding.

Om dus aan te geven dat een cpu die van 1,1V naar 0,8V wordt verlaagd maar 73% van de oorspronkelijke spanning gebruikt, maar wegens de kwadratische relatie maar 53% (73%^2) van het oorspronkelijke vermogen zal gebruiken. Bijna de helft minder dus!
Echter is een semiconductor geen vaste weerstand. Het verbruik schaalt niet lineair met de stroom en/of spanning.

Het verbruik van een processor is een complex plaatje van weerstand van de paden, idle verbruik van transistoren, switching losses van de transistoren, leakage van je CMOS materiaal, etc.

[Reactie gewijzigd door knirfie244 op 2 december 2010 15:52]

Nee, hoe hoger de spanning, hoe hoger (ook naar verhouding) de lekstroom. Dus als je eerst 0,5V nodig hebt, heb je voor een twee keer zo hoge weerstand/frequentie bijvoorbeeld 1,1V nodig. Dus hoe lager het voltage, hoe minder lekstroom er naar verhouding is.
Nog iets wat volgens mij niet klopt, is dat een single core 100% verbruikt en een dual-core 2*50%. Volgens mij gebruikt een dual-core ook 2*100%, en is vervolgens in de helft van de tijd klaar. De vraag is dan of het qua energie-consumptie nog wel net zo efficiënt blijft (wellicht kost een 100% burst onevenredig meer energie, wellicht is het basisverbruik nog van invloed etc). Overigens geldt dit natuurlijk niet op continue processen als het afspelen van muziek enz.
@Kidde: check mijn laatste zin :).

[Reactie gewijzigd door Rick2910 op 2 december 2010 17:23]

Volgens mij gebruikt een dual-core ook 2*100%, en is vervolgens in de helft van de tijd klaar.
Dat is ook een mogelijkheid, maar wat betekent het voor een Flash-video om "twee keer sneller klaar te zijn?" Dat is natuurlijk je reinste onzin als je in 'echte tijd' wil kijken.

Voor dat soort taken is het verbruik dus (kennelijk) 40% minder.

Inderdaad, wie echter een webpagina wil laden / fotootje wil bewerken op zijn telefoon is wel ~1.8x sneller klaar. Zoiets zie je in dit filmpje (Tegra2 die een website laadt met 1 en daarna 2 cores ingeschakeld).

[Reactie gewijzigd door kidde op 2 december 2010 17:17]

Het gaat niet zozeer om het aantal cores, maar om het opgenomen vermogen. Zoals uit het diagram blijkt, neemt het opgenomen vermogen met 40% af, dus 40% minder hitte productie. Dit komt o.a. doordat bij < 100% load per core de spanning een stuk lager kan zijn.
De spanning kan niet een stuk lager zijn vanwege <100% load. Dan zou hij met 100% load het niet goed doen. De spanning is een stuk lager omdat de cores lager geklokt zijn.
Als de CPU op een lagere frequentie loopt en minder stroom vraagt, zal deze ook minder warm worden lijkt me. Ook al zijn het meerdere cores.

[Reactie gewijzigd door Skarloc op 2 december 2010 12:51]

Dat hoeft helemaal niet. als je de cores minder krachtig hoeft te maken kun je ze ook zuiniger gebruiken. Op het moment dat je meer cores hebt dan kun je dingen prima naast elkaar draaien, zonder dat je enorm veel power per core nodig hebt, want als 1 core nog bezig is, dan kan een van de 3 anderen de taak op zich nemen.
Natuurlijk zal het warmer worden als je 4x exact dezelfde core in 't systeem duwt (want ook idle zullen ze energie gebruiken), maar dat is helemaal niet nodig, want je kunt makkelijk wat minder snelle cores erin zetten en in totaal toch meer snelheid krijgen door er meerdere naast elkaar te gebruiken.
Stroomverbruik en warmteontwikkeling dalen rechtevenredig.
Dit is natuurlijk wel in het meest optimale scenario. Als dus 1 applicatie 2 cores 50% kan belasten. In de praktijk zal dit eerder op 75% / 25% zitten aangezien niet alles parallel uitgevoerd kan worden wat dus een heel ander plaatje opleverd.
Dat neemt niet weg dat de core nog steeds maar op 0,8V werkt. Het vermogen is kwadratisch met de spanning, dus een kleine verlaging in de spanning brengt een grote vermogenverminding met zich mee.
Als men dan ook nog de frequentie van de cores apart kan regelen (de core die minder belast wordt terugklokken), en ook nog betere multitask software voorziet, dan ziet het er toch aardig mooi uit vind ik. :)
Veel zaken met hoge cpu-belasting kunnen net wel vrij goed verdeeld worden, zoals bijvoorbeeld video-decoding.
Leuk als het in de praktijk zo uitpakt als in het schema, maar er zullen ook best situaties zijn dat de workload zodanig is dat beide cores volledig belast worden en power dus uitkomt op 2P. Het dualcore apparaat blijft dan wel sneller aanvoelen dan het singelcore apparaat natuurlijk, wat mij persoonlijk meer waard is dan een iets langere gebruikstijd.

Als met al interessante ontwikkeling, ben benieuwd hoe hard je dit in praktijk gaat merken.

[Reactie gewijzigd door Vizzie op 2 december 2010 12:51]

Maar dat houdt je natuurlijk altijd. Als je meer van het apparaat vraagt dan zal het meer stroom gaan gebruiken.
Daar tegenover staat natuurlijk wel dat je applicatie sneller is dan op een singlecore, wat ook weer voordelen met zich meebrengt.
Da's toch ongeveer hetzelfde als wat ik zeg?

Een singlecore kan niet meer verbruiken dan 100% van het verbruik van 1 core, daarna wordt de boel gewoon trager.

Een dualcore kan 200% van het verbruik van 1 core verbruiken, voor de boel trager wordt. Daar staat tegenover dat je langer soepel kunt werken en mogelijk ook minder lang volledige belasting draait.
De frequency en Voltage is per core. Dan wordt er toch geen efficient gebruik gemaakt van 2 cores, omdat die getallen * 2 alsnog NIET zuiniger zijn dan één core op 100%?
Ja dit is een mooi scenario maar de tekst 'Same Workload' is natuurlijk niet van toepassing: processorbelasting zal alleen maar toenemen de komende jaren waardoor uiteindelijk het verbruik bij langen na niet zal dalen zoals geschetst in dit artikel.
Ze stellen dat bij gelijke workload een dual core minder zal gebruiken dan een single core, niet dat het verbruik zal dalen.
Wat een mooi schema hier van nVidia, hier aan kan je precies zien dat inderdaad het stroomverbruik met 40% afneemt.

Ik zie persoonlijk niet helemaal in hoe een op 550 mhz geklokte dual core met dezelfde architectuur als een 1 ghz geklokte single core hetzelfde werk verzet met maar 50% van de cores utilized, maar als dit zo zou zijn dan verbruikt hij vast ook wel minder.
Dan moet de software er ook wel klaar voor zijn.
Er zijn nu nog steeds niet veel applicaties die duo/quad/hex core aanspreken.
Maar 2 applicaties die single threaded zijn kan je dan wel gemakkelijk naast elkaar draaien :)
Het hangt allemaal wat af van hoe de volgende generatie mobiel OS eruit zal zien. Zonder de mogelijkheid tot deftig multitasken zal de ondersteuning er ook nooit komen.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True