BlackBee Ierakstīts Augusts 3, 2011 Share Ierakstīts Augusts 3, 2011 (labots) Sveiki!Es zinu ka esu padumjš, bet ar ko atšķiras virtual core un real core un kas tie vispār ir?Ceru kad atbildesiet. Labots Augusts 4, 2011 - Mežavecis Līks tēmas nosaukums Link to comment Share on other sites More sharing options...
Artanis Augusts 3, 2011 Share Augusts 3, 2011 Ja anglu mele nav svesa, tad zemak linki, kur palasities par atskiribu starp fizisku un virtualu daudzkodolu procesoru. Fiziskie daudzkodolu procesori - http://en.m.wikipedia.org/wiki/Multi-core_processor Virtualie procesoru kodoli - http://en.m.wikipedia.org/wiki/Hyper-threading Posted from my HTC Link to comment Share on other sites More sharing options...
Populārs ieraksts Vilx- Augusts 3, 2011 Populārs ieraksts Share Augusts 3, 2011 (labots) Senos laikos visi procesori bija "vienkodolu". T.i. viens CPU bija... viens CPU. Tas spēja vienlaicīgi izpildīt vienu programmu. Ja gribēji vienlaicīgi darbināt vairākas programmas, tām nācās savā starpā dalīt laiku, ko tās pavadīja CPU - vispirms viena programma mazliet padarbojās, tad otra, tad atkal pirmā, u.t.t. Bet jebkurā konkrētā brīdī CPU apstrādāja tieši vienu programmu. Mainot programmas savā starpā gana ātri, radās ilūzija, ka programmas darbojas vienlaicīgi. Ja gribējās reāli darbināt 2 programmas paralēli, vajadzēja pirkt speciālas mātesplates, uz kurām varēja uzspraust 2 vai vairāk CPU. Taču tas bija (un joprojām ir) dārgs prieks, un to pārsvarā izmantoja tikai niknajos serveros, kuriem ātrdarbība bija ļoti svarīga. Tehnoloģijām attīstoties CPU ražotāji sāka ražot CPU, kas darbojās aizvien ātrāk un ātrāk (tika celti MHz un GHz), taču pēc kāda laika tas viss atdūrās pret fundamentāliem fizikas likumiem, kas šādu attīstības ceļu vairs neļāva iet. Kā redzi, mūsdienās visi CPU joprojām strādā aptuveni 2-3GHz robežās, un augstāk nekāpj. Var jau ar varu uzdzīt šos CPU arī līdz 4 un 5 GHz, bet tad vajag ļoti kvalitatīvu čipu, un mežonīgu dzesēšanu (kā arī mežonīgs enerģijas patēriņš). Masveida ražošanai šāda pieeja nav derīga. Taču CPU ātrumu kaut kā vajag uzlabot, jo tirgus iet uz priekšu, programmas un cilvēki kļūst prasīgāki. Nevarot padarīt vienu CPU ātrāku, ražotāji ķērās pie nākamā loģiskā trika - vienā CPU ievietot vairākus CPU. T.i. uz viena un tā paša silikona kristāla uzlikt divus CPU. Rezultāts ir fundamentāli tāds pats, kā senajos laikos ar dārgajām mātesplatēm un diviem CPU, taču viena CPU izmaksas sanāk lētākas, un arī mātesplates var taisīt vienkāršākas, jo uz tās nepieciešams izvietot tikai vienu čipu un to apkalpojošo elektroniku. Šajā virzienā arī notiek attīstība šobrīd, piedāvājot CPU, uz kuriem reāli atrodas 2, 3, 4, 6 un līdz pat 8 "kodoli". Un marketinga cilvēki var teikt, ka jaunais CPU ir "divreiz ātrāks nekā vecais", jo uz tā reāli ir divi CPU virsū. Protams, tas neļaus jebkurai vienai programmai strādāt ātrāk, taču divas programmas vienlaicīgi patiesi strādās divreiz ātrāk, jo nebūs savā starpā "jākaujas" par viena CPU izmantošanu. Un eksistē jau arī dažas tādas programmas, kuras patiesi spēj izmantot visus šos kodolus vienlaicīgi. Tās tad reāli sadala darbu vairākās "apakšprogrammās" un darbina tās paralēli. Bet, nu, protams, tādi softi nav daudz, un tad tur programmētājiem ir pie tā īpaši jāpiedomā, lai tā uztaisītu. Hyperthreading, jeb "virtuālie kodoli" bija tāds kā pusceļš starp vienkodola CPU un vairākkodolu CPU. To vari iztēloties kā CPU-siāmas dvīni. Tam ir itkā divi kodoli, kuriem tomēr ir kopīgas daļas. Kamēr katrs kodols izmanto savas lietas, tikmēr viss notiek paralēli, bet, kad vajag izmantot kopīgās lietas, tad vienam kodolam jāgaida uz otru. Tā kā biki ātrdarbības uzlabojums ir, bet ne tuvu tik liels, kā divu reālu kodolu gadījumā. Taču šādu CPU uzražot ir vēl lētāk, nekā CPU ar diviem reāliem kodoliem (jo tur tomēr ir kopīgas daļas). Tāpēc arī vispirms parādījās CPU ar Hyperthreading, un tikai pēc tam - ar reāliem vairākiem kodoliem. Labots Augusts 3, 2011 - Vilx- 18 Link to comment Share on other sites More sharing options...
Artanis Augusts 4, 2011 Share Augusts 4, 2011 Vilx, cepuri nost par izskaidrojuma kvalitati un pacietibu. Malacis! Posted from my HTC Link to comment Share on other sites More sharing options...
GaryII Augusts 4, 2011 Share Augusts 4, 2011 (labots) Jaa perfekts Vilx skaidrojums, principaa taa saucamajaa "single core performance" ir diezgan liela stagnaacija peedejos gados: http://www.tomshardware.com/reviews/processor-architecture-benchmark,2974-14.html Tad ja, ir teiksim kaads quad vai dual procis no 775 soketa uz veikalu nav iipashi jeega steigties... Ja vien nelieto nenormaali multi-thread optimizeetas applicaacijas Labots Augusts 4, 2011 - GaryII Link to comment Share on other sites More sharing options...
Vilx- Augusts 4, 2011 Share Augusts 4, 2011 (labots) Nav jau arī, ko tur īpaši vairs optimizēt... viss jau ir noslīpēts... vienīgais, ko vēl var - lielāka kešatmiņa, lai nav tik bieži gar RAM jāgramstās. Kešatmiņa, starp citu, arī aizņem visvairāk vietas uz silikona kristāla mūsdienās, un tās daudzums arī ir viens no galvenajiem cenu ietekmējošajiem faktoriem. Gaidam kvantu CPU. Labots Augusts 4, 2011 - Vilx- Link to comment Share on other sites More sharing options...
Dawis Augusts 4, 2011 Share Augusts 4, 2011 (labots) Hyperthreading, jeb "virtuālie kodoli" bija tāds kā pusceļš starp vienkodola CPU un vairākkodolu CPU. To vari iztēloties kā CPU-siāmas dvīni. Tam ir itkā divi kodoli, kuriem tomēr ir kopīgas daļas. Kamēr katrs kodols izmanto savas lietas, tikmēr viss notiek paralēli, bet, kad vajag izmantot kopīgās lietas, tad vienam kodolam jāgaida uz otru. Tā kā biki ātrdarbības uzlabojums ir, bet ne tuvu tik liels, kā divu reālu kodolu gadījumā. Taču šādu CPU uzražot ir vēl lētāk, nekā CPU ar diviem reāliem kodoliem (jo tur tomēr ir kopīgas daļas). Tāpēc arī vispirms parādījās CPU ar Hyperthreading, un tikai pēc tam - ar reāliem vairākiem kodoliem. Hyperthreading ir Intel bīdīts marketinga sauklis. Jēdziena nosaukums ir SMT, un tehnoloģija ir diezgan veca un pastāv dažādas iespējas kā to implementēt. Lai gan visumā esi uzrakstījis pareiz, tomēr, īpaši HyperThreading gadījumā kodols (excecution core) ir viens abīem virtuālajiem kodoliem, bet nav tā ka vienam kodolam ir jāgaida uz otru - ideja ir tāda ka abi šo kopējo resursu var izmantot vienlaicīgi, bet pārējais nepieciešamais ir katram atsevišķs. Kopēts jeb duplicēts ir tikai kodola vadīšanas mehānisms, jeb loģiskā daļa, kas faktiski galbā visu informāciju par to kāda programma tiek izpildīta, kura instrukcija jāpilda nākamā utt. Tāpēc palielinot kristāla izmēru tikai par 5 - 10 % bija iespējams radīt otru virtuālo kodolu. Veiktspējas pieaugums gan ir atkarīgs no konteksta un bieži ir minimāls, bet atsevišķos gadījumos var būt pat negatīvs - (Jā abām programmām faktiski ir jākaujas par vieniem resursiem un Kešatmiņu, kas specifiskos gadījumos var būt lēnāk nekā vispirms izpildīt vienu un tad otru programmu) To var salīdzināt ar multifunkcionālu fabriku kurai ir vairāki jaudīgi dažāda tipa ražošanas konveijeri (execution core) un divas vadības (Pieņemsim ka tā pieder divām kompānijām) un abas vadības izmanto ražošanas resursu savu pasūtījumu (execution thread) izpildei, lai panāktu maksimāli augstu konveijeru noslodzi. AMD gadījumā, ja runājam par upcoming Buldozer core būs daudz lielāka resursu duplicēšana un katram kodolam būs savs ALU izpildīšanas bloks, bet FPU būs kopējs. Tas ir kā pusceļš starp diviem neatkarīgiem kodoliem un klasisko SMT, kas varētu būt visai labs kompromiss, jo tieši ALU veiktspēja kļūst par noteicošo CPU lauciņā, bet FPU intensive taski pamazām virzās uz GPU pusi. Visinteresantākais no AMD Buldozer is tas, ka šis hibrīdkodols atsevišķos gadījumos būs spējigs izdarīt arī SMT pretēju darbibu - abus ALU izpildīšanas blokus ziedot vienai programmai t.i. no diviem mazākiem kodoliem mēs iegūstam vienu resnāku kodolu. Ja nekļūdos mēs šeit gan runājam tikai par Brnahcn prediction gadījumiem, kad minēšanas vietā uzreiz tiks izpildīti abi iespējamie zari - viens uz viena otrs uz otra bloka. Labots Augusts 4, 2011 - Dawis 3 Link to comment Share on other sites More sharing options...
Vilx- Augusts 4, 2011 Share Augusts 4, 2011 Es centos izstāstīt vienkāršoti. 1 Link to comment Share on other sites More sharing options...
_dunduks_ Augusts 4, 2011 Share Augusts 4, 2011 (labots) Cepums Vilkam par izsmeļošo atbildi, bet gribēju atžīmēt, ka procesors nav silikona čips, bet gan silīcijs. Silikons ir beiži tiek pieminēts saistībā ar "Silicon Valley", kas tulkojumā nozīmē Silīcija Ieleja, un nekāda saistība ar silikonu. Labots Augusts 4, 2011 - _dunduks_ Link to comment Share on other sites More sharing options...
Vilx- Augusts 4, 2011 Share Augusts 4, 2011 Sorry. Link to comment Share on other sites More sharing options...
Dawis Augusts 4, 2011 Share Augusts 4, 2011 Designing microprocessors is like playing Russian roulette. You put a gun to your head, pull the trigger, and find out four years later if you blew your brains out. -- Robert Palmer, former CEO of Digital Equipment Corporation. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!