Jump to content

Procesor Dual Core Cu 4 Unitati De Executie ?


Recommended Posts

Salut ! Am un laptop Dell Inspiron n7010 cu procesor Intel Core I3 Dual 350M 2.27Ghz. Din moment ce este Dual, inseamna ca are 2 nuclee => asta nu inseamna ca are 2 unitati de executie ? adica puterea lui e de 2 x 2.27Ghz? Mi-e mi se afiseaza ca are 4 unitati de executie, adica fiecare nucleu are 2 unitati de executie? Deci puterea procesorului e de 4 x 2.27 Ghz ?

Link to comment
Share on other sites

hai sa zicem asa. eu cu tine reprezentam acele 2 nuclee.

Noi 2 putem face treaba x, fiecare in 10 minute. de exemplu citim 100 de pagini in 10 minute dintro carte. Da?

Daca lucram impreuna, putem citi 100 de pagini in 5 minute? Teoretic am putea, dar nu putem face legatura, asa ca nu. Chiar daca citim impreuna, tot 10 minute va dura. Insa, daca citim mai multe carti, at putem citi 200 de pagini in cele 10 minute. (si sa si intelegem ma refer)

Intelegi ce zic? poti face 4 chestii pentru ca tu ai practic 4 nuclee(2 reale+2virtuale) deodata, insa daca faci un singur lucru (numit in cazul nostru un fir de executie) va rula doar pe un singur nucleu..poti tu sa ai 10000, ca nu vor rula acel singur program/fir de executie mai repede..

Sper ca mai inteles.

love is a verb
Love is a doing word

Link to comment
Share on other sites

Daca are un singur lucru de facut, un singur fir, desktopul iti va intrece laptopul ( e mai rapid, + procesorul de dekstop e mai rapid ca ala de laptop, la aceasi frecventa.. + acelasi tip).

Insa in mod normal, tu rulezi windowsu, care la randu lui ruleaza mai multa programe..si abia peste alea e programu tau. Deci da, laptopu tau, in situatii reale, va fi mai eficient :)

love is a verb
Love is a doing word

Link to comment
Share on other sites

O intrebare pt GoH. Procesorul citeste limbajul (C spre exemplu) compilat. In C scrii mai multe functii. Daca ai 2 treaduri/nuclee nu ia fiecare o functie si o executa si sa zicem ca progranu tau e facut din 2 functii ia fiecare cate 1 functie si la final merg mai repede?

Link to comment
Share on other sites

Nu, pentru ca e iterativ..

Dupa cum sti, initial nu se ruleaza functia ta, ci se ruleaza functia MAIN, care apeleaza functiile.. deci se vor apela in ordinea in care tu leai scris. Nu poate apela functia de pe randul 5 din cod deodata cu functia de pe randul 2, pentru ca daca functia de pe randul 2 imi va schimba o valoare , care e schimbata inca o data pe linia 4, apoi se duce tot programu :D

Deci nu, ce scrii tu in C se duce pe un singur fir de executie. Pentru a folosii mai multe fire de executie, vei scrie alt cod(habar nam cum arata, nam facut inca), si trebuie sa fie independente(firele de executie) unul de altul (cel putin pana la un punct).

Intelegi?:))

De exemplu, daca am codul..

n=2;

afisare(n);

n= (a+b/2 )+ n;

afisare(n);

observi si tu ca daca nu le execut secvential(in ordinea in care sunt scrise) miar afisa altceva decat ceea ce vreau..daca sar executa simultan cele 2 afisari, miar afisa acelasi lucru, cand clar eu nu vreau acelasi lucru..

  • Upvote 1

love is a verb
Love is a doing word

Link to comment
Share on other sites

  • Moderators

Nu stiu de unde a-ti scos-o pe-asta cu 2 reale si 2 virtuale.

In primul rand procesorul este asta

In al 2-lea rand "core = thread" ..este o afirmatie FALSA. Cineva scrisese ceva de genul mai sus.

In al 3-lea rand, stiti voi ceva de 2 si 2 .. sau 1 si 2. Dar nu asa.

Unele programe citesc numărul de threaduri' date=' nu de nuclee. [/quote']

Fals. "Unele programe"... adica windows, evident, in Task Manager iti afisaza numarul de threads, nu cores. Deci, alea 4 care ti le afisaza in task manager, sunt threads.

Dupa cum puteti observa in link-ul de mai sus, procesorul are 2 cores si 4 threads.

Cel mai simplu mod de a va explica care e diferenta ar fi cam asa:

CORE = partea hardware (partea fizica sau reala cum ati spus si voi mai sus)

THREAD = partea software (partea programata a din soft , partea virtuala, cum ati spus mai sus, partea asta este afisata in task managerul din windows).

In situatia de mai sus fiecare CORE(hardware) se foloseste de THREAD(soft) pentru procesare. Adica 1 core va folosi 2 threads pentru procesarea unui task. Daca era 2cores si 2threads atunci 1 core folosea 1 thread si celalalt core, se folosea thread-ul ramas. Frecventa procesorului nu se dubleaza, tripleaza sau cvadrupleaza daca aveti dual,tripple sau quad core.

Intr-adevar, puterea de procesarea depinde si de frecventa clock-ului dar si de numarul de cores si threads. Luam exemplul asta, calculatorul lui va procesa task-urile la o viteza de 2,26ghz, pe 2 core-uri. Dar asta nu inseamna ca daca era single core .. ar fi mers mai greu, ci daca rulezi mai multe task-ur in acelas timp, acestea se vor imparti in cele 2 core-uri si vor fi procesate mai repede decat pe un single core.

Nu am cunostintele in foarte mare detaliu sa va spun pana la ultimul detaliu cum functioneaza asta, dar cred ca am facut cateva lucruri clare.

  • Upvote 3
Link to comment
Share on other sites

  • Moderators

Păi ce? Să te lungeşti cu explicaţiile ca să o dai în bară pe undeva şi să mai iasă vreo ceartă?

Mai pe scurt: procesorul tău tinde să se comporte ca un quad core. Un singur nucleu permite execuţia simultană a două fire de execuţie diferite ...

Link to comment
Share on other sites

Da, sunt 4 threads. Dar fiecare core foloseste cate 2 threads. Cum sa-ti explic.. 1 core foloseste 2 threads, maxim, in situatia de fata. Nu poate folosi 4.

Sunt procesoare cu 4 core si 8 threads, la care fiecare core foloseste 2 threads.

Da, stiam chestia asta..oricum ne certam pe detalii aici (din cate inteleg eu)

love is a verb
Love is a doing word

Link to comment
Share on other sites

  • Moderators

Nu vreau nici eu sa intru in detalii, vreau doar sa fac clara diferenta dintre core si thread, pentru ca vad ca in continuare Pav nu a inteles... Trebuie sa faci diferenta intre core(partea HARDWARE) si thread (partea SOFTWARE). Daca 1 core foloseste 2 thread, nu inseamna ca "1 core functioneaza ca 2 cores" si ca in total ai defapt quad core. E tot dual-core, doar ca e mai rapid decat un Dual-core normal(2core,2threads). Dar nu inseamna ca e de doua ori mai puternic ca un dual core normal.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.