Processor - hur funkar det?

Diskussion i 'Allmänt' startad av Gavin_Gadget, 23 feb 2012.

  1. Gavin_Gadget

    Gavin_Gadget Adult Droid Medlem

    Blev medlem:
    29 aug 2010
    Inlägg:
    615
    Mottagna gillanden:
    68
    Telefon:
    S8

    MINA ENHETER

    Telefon:
    S8
    Platta:
    Tab S2
    Någon som har koll på hur det kan bli snabbare med 32nm 28nm osv? Mindre avstånd eller vad är poängen? Nyfiken :)

    En annan fundering: Kan två kärnor samarbeta på en beräkning eller måste programmet kodas så att den ena kärnan kan gå vidare på nästa eller jobba med en annan process för att få ut mer av 2+ kärnor i en processor?

    Om kärnorna kan samarbeta på en beräkning, till vilken grad sker då detta? T.ex så ska 2 kärnor i teorin vara dubbelt så snabbt men det kanske ger 25-30% prestandaökning i praktiken, enligt vad jag läst hittills. Hur mycket bättre prestanda kan jag då räkna med på 4 kärnor, förutsatt att klockfrekvensen är densamma 30%*30%, dvs 40%.

    Förutsatt att ovanstående gäller skulle då alltså en 2*1GHz vara lika bra som 4*0.93GHz. Alltså är det bättre med 2 kärnor och högre klockfrekvens?
     
  2. Phage

    Phage Infant Droid Medlem

    Blev medlem:
    18 feb 2010
    Inlägg:
    8
    Mottagna gillanden:
    1

    MINA ENHETER

    Mindre tillverkningsteknik gör att man kan ha flera transistorer på en mindre yta, och fler transistorer --> snabbare processor. Typ, om jag har förstått det någorlunda rätt.

    Angående att ha flera kärnor till ett program så kräver det ju att programmet är gjort på ett sånt sätt att det delas upp i flera parallella beräkningstrådar. Du har ingen vidare vinst av att ha fyra kärnor som ligger och tuggar på en och samma tråd, där en beräkning bygger på en annan, då du i det fallet ändå måste vänta på att beräkning ett ska vara klar för att kunna fortsätta med beräkning två etc. Återigen, så kan jag ha fått det hela totalt om bakfoten, så reserverar mot det.
     
    Gavin_Gadget gillar detta.
  3. xclusiv8

    xclusiv8 Teen Droid Medlem

    Blev medlem:
    30 mar 2011
    Inlägg:
    270
    Mottagna gillanden:
    17

    MINA ENHETER

    Vad man menar med 32nm respektive 28nm är storleken på varje enskild transistor som processorn består av. Genom att förminska denna vitala komponent ännu mer kan man få plats med fler på en och samma yta. Sen är inte det den enda fördelen. Effektivisering leder till lägre strömmar, spänningar vilket leder till lägre värme samt möjligheten till högre klockfrekvenser. Kolla Moores lag för mer information.

    Att dela upp beräkningar på flera kärnor är nog inte så smart då det bryter ekvationen. Vad man gör är att man beräknar två ekvationer samtidigt med en dual core t.ex. Men för att detta ska fungera måste programmet ha stöd för flera kärnor. Jag har inte riktigt full förståelse för den här biten så ta inte mitt ord för det :)

    Effektiviteten är direkt proportionell till hur bra kodad mjukvaran är för att hantera hårdvaran. Teoretiskt bör du få en direkt fördubbling av prestandan vid en ökning från 2 kärnor till 4. Men verkligheten ser annorlunda ut eftersom mjukvarumässigt ligger man alltid efter.
     
    Gavin_Gadget gillar detta.
  4. Buzz

    Buzz Android Apprentice Medlem

    Blev medlem:
    14 maj 2010
    Inlägg:
    4 656
    Mottagna gillanden:
    2 019

    MINA ENHETER

    Om man bara tittar på processorn, så ja. Men sedan så vill processorn antagligen ha data från minnet och kanske skicka saker tillbaks då kan det bli krockar som gör att en processor får vänta, vilket direkt sänker prestanda en del.
     
  5. xclusiv8

    xclusiv8 Teen Droid Medlem

    Blev medlem:
    30 mar 2011
    Inlägg:
    270
    Mottagna gillanden:
    17

    MINA ENHETER

    Stämmer bra det :)
     
  6. Gavin_Gadget

    Gavin_Gadget Adult Droid Medlem

    Blev medlem:
    29 aug 2010
    Inlägg:
    615
    Mottagna gillanden:
    68
    Telefon:
    S8

    MINA ENHETER

    Telefon:
    S8
    Platta:
    Tab S2
    Vad gör transistorn? Fattar det som en "styrdosa" för en signal, dvs att den skickar en etta eller nolla. Och gör man denna mindre får man en högre resistans vilket gör att man kan använda lägre ström men få ut samma spänning? Vilket är det man mäter som ett eller noll? Har jag fattat det rätt då? Varför är det bättre med fler transistorer, ger det möjlighet till att räkna mer komplexa ekvationer. Men om temperaturen är problemet bör man vilja ha lägre spänning också, vilket ej borde kunna uppnås med ökad resistans om man inte också ökar avståndet mellan komponenterna och förbättrar värmebortförseln.

    Ok så två processorer kan inte räkna samma ekvation, de kan alltså inte "samarbeta". Utan programmet måste vara kodat så att det kör två parallella beräkningstrådar. Så i dagsläget kan fyra kärnor endast tillföra något då man kör två olika program kodade för att köras på två kärnor. Det förbättrar alltså multitasking?
     
  7. xclusiv8

    xclusiv8 Teen Droid Medlem

    Blev medlem:
    30 mar 2011
    Inlägg:
    270
    Mottagna gillanden:
    17

    MINA ENHETER

    Jadu, det är ingen lätt fråga. En transistor är en simpel komponent samtidigt som den är en komplicerad komponent =P De används i princip som signalförstärkare och strömbrytare i CPUn. Genom att sätta ihop transistorer i olika konfigurationer kan man bygga upp olika logiska grindar och minnen, räknare osv. Dessa grindar kan sedan utföra booleska beräkningar. Dvs de räknar med 1:or och 0:or för att få något att vara sant eller falsk när vissa förhållanden uppfylls. T.ex AND-Grindar, OR, XOR osv.

    AND (Illustration av en AND-grind)
    1--
    |-- 1 Två ettor för att få ut en 1
    1--
    _______________

    0--
    |-- 0 Bara en etta på ingången leder till en nolla på utgången
    1--

    När man gör transistorn mindre behövs en mindre ström vilket är orsaken till den lägre temperaturen. Resistansen blir däremot lägre eftersom en resistans avgörs av materialets resistivitet, längd och tvärsnittsarea. Dvs mindre tillverkningsteknik, t.ex 28nm kommer ge en lägre resistans samt att en lägre ström/spänning kan användas. Just nu används materialet kisel men det experimenteras med olika material.

    I vanliga fall ger en transistor 0 när den inte har någon ström men kan kopplas i olika logiska grindar för att visa 1 när den inte får någon ström.

    Varför är fler bättre? Desto fler transistorer du har desto fler av dessa logiska grindar kan du skapa vilket leder till att fler beräkningar kan utföras samtidigt.

    Vad jag förstår så räknar de en sak åt gången per kärna. Men eftersom CPUn styrs med hjälp av olika avbrott så kan man hålla flera trådar samtidigt på en kärna men de typ turas om att få tid för att utföra sina beräkningar. Har man flera kärnor kan man slänga ut dessa trådar på flera kärnor.

    Det är rätt. Multitaskig förbättras i det fallet då du kan köra två likadana program utan prestandaförluster. Men det finns program som stödjer flera kärnor och som även anpassar sig automatiskt till flera kärnor. De "känner" av hur många kärnor och trådar cpun kan hantera.
     
    Last edited: 24 feb 2012
  8. Gavin_Gadget

    Gavin_Gadget Adult Droid Medlem

    Blev medlem:
    29 aug 2010
    Inlägg:
    615
    Mottagna gillanden:
    68
    Telefon:
    S8

    MINA ENHETER

    Telefon:
    S8
    Platta:
    Tab S2
    Ok då har jag fått något sånär grepp om det. Har programmerat en microprocessor i elektron så grindarna har jag koll på :). Men då är alltså transistorerna motsvarigheter för grindarna? Så flera transistorer borde göra att man kan utnyttja processorn mer effektivt, eftersom att den inte räknar snabbare om inte klockfrekvensen höjs.

    Fast resistansen kommer öka med minskad tvärsnittsarea 1/0,28>1/0,32 för att göra det enkelt. Formeln för resistansen är R=pL/A. Så eftersom att den delas med blir talet större då den minskas... Eller är det något jag missar?

    Om man kör flera trådar på en kärna borde ju dessa gå att dela upp på flera kärnor också, handlar väl iofs om att mjukvaran ska förstå detta också precis som du beskrev. Tycker att detta borde gå att tvinga fram i processorstyrningen eller liknande, konstigt att det måste kodas i programmet...
     
    Last edited: 24 feb 2012
  9. xclusiv8

    xclusiv8 Teen Droid Medlem

    Blev medlem:
    30 mar 2011
    Inlägg:
    270
    Mottagna gillanden:
    17

    MINA ENHETER

    Grindarna består av transistorer :)
    Precis, om inte klockfrekvensen kan höjas då är enda möjligheten att öka beräkningskapaciteten genom att sätta på flera transistorer. Å klockfrekvenserna har stått stilla ett bra tag nu.

    Självklart har du rätt om resistansen. Vet inte vad jag tänkte =P skyller på trötthet hehe. Egentligen handlar det om effekten i transistorn. Lägre effekt = lägre temperatur. Då P = R*I^2, är resistansen försumbar fastän den ökar eftersom I är upphöjt till två.

    Så om vi har R = 6.40 * (32*10^-9/((32*10^-9)^2) = 2*10^8 Ohm
    P=R*I^2 = 2*10^8 * (2*10^-5)^2 = 0,08W

    vid 28nm är R = 2,29*10^8
    Och om vi antar att strömmen halveras. Är inte hundra på vad för strömmar man har i en sån här liten krets.
    P=R*I^2 = 2,29*10^8 * 1*10^-5 * = 0,023W
    (Uppskattade siffror)
     
    Gavin_Gadget gillar detta.
  10. Gavin_Gadget

    Gavin_Gadget Adult Droid Medlem

    Blev medlem:
    29 aug 2010
    Inlägg:
    615
    Mottagna gillanden:
    68
    Telefon:
    S8

    MINA ENHETER

    Telefon:
    S8
    Platta:
    Tab S2
    Just det, var så jag menade :).

    Så det är den lägre strömmen man är ute efter => lägre förbrukning och mindre värmeutveckling.

    Sen när vi kommer till själva processorn/CPUn eller vad jag ska kalla den så fungerar den som en tolk ungefär mellan de olika komponenterna. Dvs om den får in 111001 från digitizern (den trycksensorn) så skickar den ut en signal till skärmen att visa 10110001, på ett ungefär. Sen är det processen däremellan som blir avancerad, och tar tid, eftersom det är många olika parametrar som spelar in.

    Vad är det som begränsar klockfrekvensen då, som jag fattat det är det främst kylningen som är problemet vid tävlingar i överklockning.

    Ponera att man vill använda mobilen som dator i en docka med skärm, tangentbord och mus. Då skulle man i detta läget kunna köra en automatisk överklockning om man samtidigt leder in sval luft eller något annat kylmedium i enheten på något smidigt sätt. Man kanske kan ha fläktar under dockan och en luftingång samt utgång på varsin sida av mobilen och leda luft igenom. Då skulle man kanske till och med kunna köra CAD, Matlab eller andra tyngre program i mobilen också utan större problem :teeth:
     
  11. Narius

    Narius Kid Droid Medlem

    Blev medlem:
    15 jun 2010
    Inlägg:
    62
    Mottagna gillanden:
    4

    MINA ENHETER

    En begränsande faktor är hur snabbt som utgången på transistor blir stabil. Dvs när utgången har fått ett nytt stabilt värde efter att ingången har ändrats.

    Enligt den bok(CMOS circuit design, layout and simulation av R. Jacob Baker) jag har är fördröjningen(bland annat) beroende av kvoten L/W dvs transistornslängd/bredden. Du kortare desto snabbare transistor. Och ju snabbare transistorer desto snabbare processor.

    Så anledningen till vi vill ha små transistor är att de har mindre fördröjning mellan och utgång.
     
    Gavin_Gadget gillar detta.
  12. Gavin_Gadget

    Gavin_Gadget Adult Droid Medlem

    Blev medlem:
    29 aug 2010
    Inlägg:
    615
    Mottagna gillanden:
    68
    Telefon:
    S8

    MINA ENHETER

    Telefon:
    S8
    Platta:
    Tab S2
    Hm intressant, jag bara antog att de fick rätt värde på en gång men det är klart att det kan uppstå störningar även där. Bredden förstår jag att den går att minska med bättre teknik men vad är det då som avgör längden? Eller är den utformad som en liten fyrkant/cirkel eller hur ser transistorn ut?
     
  13. plun

    plun Android Medlem

    Blev medlem:
    18 okt 2009
    Inlägg:
    5 631
    Mottagna gillanden:
    520

    MINA ENHETER

  14. Narius

    Narius Kid Droid Medlem

    Blev medlem:
    15 jun 2010
    Inlägg:
    62
    Mottagna gillanden:
    4

    MINA ENHETER

    Om vi kollar på [​IMG] ser vi att transistorn är fyrkantig. I figuren är bredden i Z riktningen och längden i y-riktningen för Gatens(mitten ingången). Längd och bredd kan man som designer bestämma helt fritt mellan max och min värden som är styrs av tillverkaren. Intel med flera jobbar med minimum längder på 28nm.
     
  15. Gavin_Gadget

    Gavin_Gadget Adult Droid Medlem

    Blev medlem:
    29 aug 2010
    Inlägg:
    615
    Mottagna gillanden:
    68
    Telefon:
    S8

    MINA ENHETER

    Telefon:
    S8
    Platta:
    Tab S2
    Kul! Ska helt klart läsas :)

    Intressant. Men om vi utgår ifrån kvoten L/W, borde vi inte vilja ha en bredare transistor då. Eller ska kvoten divideras eller multipliceras med?
     
  16. Narius

    Narius Kid Droid Medlem

    Blev medlem:
    15 jun 2010
    Inlägg:
    62
    Mottagna gillanden:
    4

    MINA ENHETER

    Det är multiplikation med L/W, nackdelen med att ha längre transistorer är att du inte får in lika många. Ju fler transistorer du har desto mer beräkningar kan du utföra vid varje tidpunkt.

    Om vi kolla på [​IMG] som visar en AND grind. Om a OCH b är 1(5 eller 3.3volt) kommer utgången att vara 1, annars 0. Här går det åt 3 transistorer. En cpu är en massa AND, OR, XOR och NOT grindar ihopkopplade.

    Så om vi minskar kvoten L/W genom att öka W, får vi in färre transistorer och då minskar antalet grindar, och då även antalet möjliga operationer på en given processor area. Däremot om vi minskar L så minskar tidsfördröjningen samtidigt som antalet transistorer kan öka, blir en win-win situation.

    Hoppas det klar gjorde lite, fortsätta gärna att fråga. Det här är ett kul ämne:)