Mga Tutorial

Ano ang mga thread ng isang processor? mga pagkakaiba sa nuclei

Talaan ng mga Nilalaman:

Anonim

Sa artikulong ito, maglaan kami ng ilang sandali upang maipaliwanag kung ano ang mga thread ng isang processor o tinawag din na mga thread sa Ingles o programming thread, upang makilala ang mga pangunahing pagkakaiba sa pagitan ng mga ito at ng mga core ng processor. Kabilang sa mga hindi gaanong eksperto at maging ang mga mas advanced na mga gumagamit, mayroon pa ring kaunting pagkalito tungkol sa paksang ito. Iyon ang dahilan kung bakit kami ay nagtakda upang linawin ang mga term na ito hangga't maaari.

Ang konsepto ng pagproseso ng mga thread ay hindi mahalaga upang malaman kapag bumili ng isang processor para sa isang normal na gumagamit. Sa karamihan ng mga kaso, mas mahusay kaysa sa mas kaunti, na halos palaging totoo. Kung saan kailangan nating malaman kung ano ang mga thread, ay sa gawaing pag-unlad ng programa. Depende sa kung paano na-program at naipon ang isang application, magkakaroon ito ng mas na-optimize na pagpapatupad para sa mga processors na may mas maraming mga thread kaysa sa mga core. At ito ay kung saan susubukan nating makuha ang aming paliwanag.

Indeks ng nilalaman

Ano ang mga core ng isang processor

Magsisimula kami sa pamamagitan ng pagpapaliwanag kung ano ang mga cores ng aming processor, kaya magkakaroon tayo ng paunang kaalaman na ito upang hindi malito.

Alam namin na ang isang processor ay may pananagutan sa pagsasagawa at pagpapatupad ng mga tagubilin ng mga programa na na-load sa memorya ng RAM ng aming computer. Halos lahat ng mga tagubilin na kinakailangan upang maisagawa ang mga karaniwang gawain sa aming PC, mag-navigate, magsulat, tingnan ang mga larawan, atbp. Sa pisikal na seksyon, ang isang processor ay isang integrated circuit na binubuo ng milyun-milyong mga transistor na bumubuo ng lohikal na mga pintuang ipapasa o hindi ipasa ang mga data ng data sa anyo ng enerhiya, nang walang karagdagang ado.

Buweno, ang maliit na maliit na chip na ito ay nagtataglay ng iba't ibang mga module na maaari nating tawagan na nuclei, bilang karagdagan sa iba pang mga elemento na hindi tayo interesado ngayon. Ang mga nagproseso ng ilang taon na ang nakakaraan ay isa lamang sa mga cores na ito, at nagproseso ng isang tagubilin sa bawat siklo. Ang mga siklo na ito ay sinusukat sa Megahertz (MHz), mas MHz, mas maraming mga tagubilin na maaari nating gawin sa bawat segundo.

Ngayon hindi lamang kami isang pangunahing, ngunit marami. Ang bawat core ay kumakatawan sa isang subprocessor, iyon ay, ang bawat isa sa mga subprocessors ay isasagawa ang isa sa mga tagubiling ito, sa gayon ay maipatupad ang ilan sa mga ito sa bawat cycle ng orasan na may isang multi-core CPU. Kung mayroon kaming isang 4-core processor, maaari kaming magsagawa ng 4 na mga tagubilin nang sabay-sabay sa halip na isa lamang. Kaya ang pagpapabuti ng pagganap ay quadrupled. Kung mayroon kaming 6, pagkatapos ay 6 na mga tagubilin nang sabay. Ito ay kung paano ang mga kasalukuyang processors ay mas malakas kaysa sa mga mas matanda.

At tandaan, ang mga cores na ito ay pisikal na naroroon sa aming processor, hindi ito isang bagay na virtual o nilikha ng code.

Ano ang mga pagproseso ng mga thread?

Ang mga Thread, thread, o mga thread ay hindi isang pisikal na bahagi ng processor, hindi bababa sa pagdating sa mas maraming mga cores o isang katulad nito.

Maaari naming tukuyin ang isang proseso ng pagproseso bilang daloy ng control ng data ng isang programa. Ito ay isang paraan na nagbibigay-daan sa pamamahala ng mga gawain ng isang processor at iba't ibang mga cores sa isang mas mahusay na paraan. Salamat sa mga thread, ang minimum na mga yunit ng paglalaan, na kung saan ang mga gawain o proseso ng isang programa, ay maaaring nahahati sa mga chunks upang ma-optimize ang mga oras ng paghihintay sa bawat pagtuturo sa proseso ng pila. Ang mga chunks na ito ay tinatawag na mga thread o mga thread.

Sa madaling salita, ang bawat pag-proseso ng thread ay naglalaman ng isang piraso ng gawain na dapat isagawa, isang bagay na mas simple na isakatuparan kaysa kung ipakilala namin ang kumpletong gawain sa pisikal na nucleus. Sa ganitong paraan ang CPU ay nakapagproseso ng maraming mga gawain nang sabay-sabay at sabay-sabay, sa katunayan, magagawa nito ang maraming mga gawain dahil mayroon itong mga thread, at kadalasan mayroong isa o dalawa para sa bawat pangunahing. Sa mga processors na may halimbawa 6 na mga cores at 12 na mga thread ay maibabahagi nila ang mga proseso sa 12 iba't ibang mga gawain sa halip na 6 lamang.

Ang ganitong paraan ng pagtatrabaho ay ginagawang mas maayos at maayos ang mga mapagkukunan ng system. Alam mo… hinati niya at mananalo ka sa buong buhay. Ang mga prosesong ito ay tinatawag na multi-thread. Sa ngayon, kung ano ang dapat nating maging malinaw tungkol sa ay ang isang processor na may 12 mga thread ay hindi magkakaroon ng 12 cores, ang mga cores ay isang bagay na pisikal na pinagmulan at ang mga thread ng isang lohikal na pinagmulan.

Tiyak na ito ay medyo mahirap unawain at mahirap maunawaan, kaya tingnan natin kung paano ito isasalin kung pinag-uusapan natin ang tungkol sa arkitektura ng isang programa sa aming computer.

Mga programa, proseso at mga thread

Alam nating lahat kung ano ang isang programa, ito ay isang code na nakaimbak sa aming computer at nakatakdang magsagawa ng isang tiyak na gawain. Ang isang application ay isang programa, ang isang driver ay isang programa din at kahit ang operating system ay isang programa na may kakayahang isagawa ang iba pang mga programa sa loob nito. Ang lahat ng mga ito ay naka - imbak sa binary form, dahil naiintindihan lamang ng processor ang mga bago at zero, kasalukuyang / hindi kasalukuyang.

Ang mga proseso ng programa

Upang magpatakbo ng isang programa, na-load sa memorya, RAM. Ang program na ito ay na-load ng mga proseso, na nagdadala ng nauugnay na binary code at ang mga mapagkukunan na kinakailangan upang mapatakbo, na itatalaga ng "matalinong" ng operating system.

Ang mga pangunahing mapagkukunan na kinakailangan ng isang proseso ay isang counter ng programa at isang stack ng mga tala.

  • Program counter (CP): ito ay tinatawag na isang tagaturo ng pagtuturo, at sinusubaybayan nito ang pagkakasunud - sunod ng mga tagubilin na pinoproseso. Mga rehistro: ito ay isang bodega na matatagpuan sa processor kung saan ang isang tagubilin, isang address ng imbakan o anumang iba pang data ay maaaring maimbak. Stack: ito ay ang istraktura ng data na nag-iimbak ng impormasyon na may kaugnayan sa mga pagkakataon na ang isang programa ay aktibo sa computer.

Pagkatapos ang bawat programa ay nahahati sa mga proseso, at nakaimbak sa isang tiyak na lugar sa memorya. Gayundin, ang bawat proseso ay tumatakbo nang nakapag-iisa, at ito ay napakahalaga na maunawaan dahil ito ay kung paano ang processor at ang sistema ay may kakayahang magsagawa ng maraming mga gawain nang sabay-sabay, na tinatawag nating isang multitasking system. Ang sistema ng pagproseso na ito ay salarin na maaari nating magpatuloy sa pagtatrabaho sa aming PC, kahit na naharang ang isang programa.

Ang mga thread ng isang proseso

Dito lumilitaw ang pagpoproseso ng mga thread, na tinatawag na mga thread sa mga operating system. Ang isang thread ay ang yunit ng pagpapatupad ng isang proseso. Maaari naming hatiin ang proseso sa mga thread, at ang bawat isa sa kanila ay magiging isang thread ng pagpapatupad.

Kung ang isang programa ay hindi multi-sinulid, ang mga proseso sa loob nito ay magkakaroon lamang ng isang thread, kaya maaari lamang silang maproseso sa isang pagkakataon. Sa kabaligtaran, kung mayroon kaming mga proseso na may maraming mga sinulid, ang mga ito ay maaaring nahahati sa maraming mga piraso, at ang bawat isa sa mga thread ay nagbabahagi ng mga mapagkukunang itinalaga sa proseso. Kaya sinabi namin na mas mahusay ang multithreading.

Bilang karagdagan, ang bawat thread ay may sariling salansan ng mga talaan upang ang dalawa o higit pa sa mga ito ay maaaring maproseso nang sabay, hindi katulad ng isang solong proseso, na kailangang patakbuhin nang sabay-sabay. Ang mga Thread ay mas simpleng gawain na nagpapahintulot sa iyo na magpatakbo ng isang proseso sa isang split fashion. At ito talaga ang pangwakas na pag-andar ng mga thread sa pagproseso. Ang mas maraming mga thread, mas malaki ang paghahati ng mga proseso, at mas malaki ang dami ng sabay-sabay na kalkulasyon at, samakatuwid, mas malaki ang kahusayan.

Hindi pa tayo tapos, mayroon pa rin tayong nakabinbing tanong ng Ano ang mangyayari pagkatapos ay may isang pangunahing may isang dobleng thread ? Nasabi na namin na ang bawat kernel ay may kakayahang magpatupad ng isang solong pagtuturo sa bawat oras. Ang CPU ay may isang kumplikadong algorithm na naghahati sa mga oras ng pagpapatupad sa pinakamabisang paraan na posible, kaya't nagtatalaga sa bawat gawain ng isang tiyak na agwat sa pagpapatupad. Ang pagbabago sa pagitan ng mga gawain ay napakabilis, magbibigay ng pakiramdam na ang nucleus ay nagpapatupad ng mga tungkulin.

Maaari ba nating makita ang mga thread o mga thread sa system?

Hindi masyadong detalyado sa isang paraan, ngunit oo, maaari nating makita ang mga ito, kapwa sa Windows at Mac.

Sa kaso ng Windows, kakailanganin lamang nating buksan ang task manager at pumunta sa " pagganap ". Pagkatapos ay mag-click kami sa link na " monitor ng mapagkukunan " sa ibaba. Sa bagong window na ito ay magkakaroon kami ng bawat proseso na nahahati sa pagkonsumo at mga thread, ito ang magiging mga thread.

Sa monitor ng aktibidad ng Mac, magkakaroon kami ng direkta sa mga thread na nakalista sa pangunahing screen.

Tinatapos nito ang aming artikulo sa kung ano ang mga pagproseso ng mga thread ng CPU. Ito ay tiyak na isang medyo kumplikadong paksa upang ipaliwanag at medyo abstract, lalo na para sa mga gumagamit na hindi lubos na nauunawaan kung paano gumagana ang isang processor. Ngunit sa kasong ito mayroon kaming mabuting balita dahil mayroon din kaming isang magandang artikulo na pinag-uusapan tungkol sa kung paano gumagana ang isang processor at kung paano ginanap ang buong siklo ng pagtuturo.

Bisitahin ang aming mga artikulo sa:

Inaasahan namin na ang lahat ay higit pa o hindi gaanong malinaw, at pinahahalagahan namin na napili ka namin upang malaman ang higit pa tungkol sa paksang ito.

Mga Tutorial

Pagpili ng editor

Back to top button