- Pinagsasama ng mga multi-core processor ang ilang kumpletong core sa loob ng isang chip, na nagbabahagi ng ilan sa mga circuitry upang mapabuti ang gastos, pagkonsumo ng kuryente, at pagganap.
- Ang isang multiprocessor system ay nagkakabit ng ilang pisikal na CPU sa motherboard, na nakakamit ng katulad na mga epekto sa antas ng thread ngunit may mas mataas na pagiging kumplikado at mas mataas na gastos.
- Para tunay na masulit ang maraming core, kailangan mo ng mga parallelized operating system at application, pati na rin ang mga teknolohiyang tulad ng HyperThreading o SMT para masulit ang bawat core.
- Ang pagkonsumo ng enerhiya, pagwawaldas ng init, at pagpapaliit ng transistor ang humuhubog sa ebolusyon ng mga CPU, GPU, at mga espesyal na chip para sa AI at iba pang masinsinang gamit.

Kung magbubukas ka ng halos anumang desktop computer, laptop, o kahit isang smartphone ngayon, makakahanap ka ng multi-core processor na idinisenyo upang gumana nang sabay-sabayBagama't matagal na nating ginagamit ang teknolohiyang ito, mayroon pa ring malaking kalituhan tungkol sa kung ano ang ibig sabihin ng pagkakaroon ng maraming core, kung paano sila naiiba sa pagkakaroon ng maraming pisikal na processor, at kung paano ito naaangkop sa mga konsepto tulad ng HyperThreading, SMT, o mga GPU.
Para linawin ang buong gusot na ito, ating balikan, nang mahinahon ngunit walang paliguy-ligoy, Kamusta ang arkitektura ng isang multi-core CPUano ang papel na ginagampanan ng bawat bahagi nito at paano ito ginagamit ng operating system at softwareTitingnan din natin ang tunay na pagkakaiba sa pagitan ng mga multi-core at multi-processor system, tatalakayin ang paksa ng pagkonsumo ng kuryente at pagwawaldas ng init, at magtatapos sa pagtingin sa papel ng mga GPU at chip na dalubhasa sa mga gawaing tulad ng AI o pag-edit ng video.
Pangunahing tungkulin ng CPU sa isang computer
Ang processor, ang sikat na CPU o Central Processing UnitIto ang elektronikong sirkito na nagbibigay-kahulugan at nagsasagawa ng mga tagubilin ng mga programaIto ay binuo mula sa milyun-milyon o bilyun-bilyong transistor, na nakaayos sa mga logic gate at mga panloob na landas kung saan kumakalat ang mga electrical signal, na kumakatawan sa datos at mga utos.
Ito mismo ang CPU na nagpapahintulot sa isang computer na maging isang kumpol ng mga chips at wires isang makinang may kakayahang baguhin ang mga senyales na elektrikal tungo sa mga operasyon ng datos at, sa maraming pagkakataon, tungo sa mga pisikal na aksyon sa totoong mundoKung walang processor, ang isang PC, console, mobile phone, o kahit isang "smart" appliance ay maituturing na lamang isang mamahaling palamuti.
Kapag nagpapatakbo ka ng isang application sa opisina, nag-compile ng code, nag-render ng video, o nagba-browse lang sa internet, Ang iyong CPU ay nagbabasa ng mga tagubilin, naglilipat ng data sa pagitan ng memorya, mga rehistro, at mga peripheral, at kinokontrol ang gawain ng natitirang bahagi ng sistema.Ang orkestasyon ng mga operasyon na ito ay sinusukat sa hertz (Hz), na nagpapahiwatig kung gaano karaming mga siklo ng orasan bawat segundo ang kayang kumpletuhin ng processor.
Sa loob ng maraming taon, pangunahing itinulak ng industriya ang dalas: Ang karera upang maabot at malampasan ang gigahertz ay humantong sa mga arkitektura tulad ng NetBurst ng Intel, na idinisenyo upang masukat sa GHz.Ngunit kalaunan ay tumama ito sa isang malaking problema: ang bawat pagtaas ng dalas ay nagdulot ng biglang pagtaas ng konsumo at temperatura sa mga antas na mahirap kontrolin gamit ang mga konbensyonal na heat sink.
Ano nga ba ang eksaktong core ng processor?
Sa loob ng pakete ng isang modernong CPU ay walang iisang monolitikong yunit ng computing, kundi ilang paulit-ulit na bloke: Ang bawat core ay mahalagang isang kumpletong CPU na isinama sa loob ng iisang chipAng kombinasyon ng lahat ng mga core na iyon, ng kanilang mga cache, at ng mga internal bus ang karaniwang tinatawag nating arkitektura ng processor.
Sa merkado ng mga consumer PC, ang nangingibabaw na arkitektura ay ang x86 at ang mga 64-bit na extension nito. Tinutukoy ng arkitekturang ito ang set ng instruksyon, mga rehistro, mga mode ng pagtugon, at pangkalahatang pag-uugali ng mga kernelDito nakabuo ang mga processor na may 2, 4, 8, 16 o higit pang mga core, na pawang may kakayahang magsagawa ng parehong uri ng machine code.
Kung titingnan natin ang mga detalye, makikita natin na Ang bawat core ay binubuo ng ilang pangunahing bloke na nagtutulungan upang mabilis at maayos na maisagawa ang mga tagubilin.Bagama't nag-iiba ang mga partikular na implementasyon depende sa tagagawa at henerasyon, ang mga pangunahing elemento ay halos magkapareho.
Kabilang sa isang tipikal na core, bukod sa iba pa, ang mga sumusunod na bahagi:
- Control Unit (CU): namamahala sa pinangangasiwaan ang daloy ng mga tagubilin at kinokoordina sa isang naka-synchronize na paraan ang gawain ng kernel at ang komunikasyon nito sa memorya at mga peripheralBumubuo ito ng mga senyales ng kontrol na nagpapahiwatig kung ano ang babasahin, isusulat, o ide-decode sa bawat siklo.
- Arithmetic-logical unit (ALU): ay ang bahagi na Nagsasagawa ito ng mga operasyong aritmetika (pagdaragdag, pagbabawas, paglilipat) at mga operasyong lohikal (AND, OR, XOR, paghahambing) sa datos na natatanggap nito.Karaniwang mayroong ilang mga ALU upang maiparale ang mga micro-operasyon.
- Records: Sila ay maliliit na selula ng napakabilis na memorya kung saan pansamantalang nakaimbak ang datos, mga address, at mga intermediate na resulta ng mga instruksyong isinasagawaSila ang gumaganap bilang agarang "working group" ng core.
Sa paligid ng mga elementong ito ay mayroon ding mga cache ng iba't ibang antas (L1, L2, minsan ay ibinahaging L3), mga pila ng instruksyon, lohika ng prediksyon ng sangay, at mga yunit na dalubhasa sa mga operasyon ng floating-point o vectorAng lahat ng ito ay nagsasama-sama upang maproseso ang isang tuluy-tuloy na daloy ng mga tagubilin nang may pinakamataas na posibleng kahusayan.
Bakit tayo nagdagdag ng mas maraming core mula sa pagtaas ng GHz?
Noong mga unang araw ng personal computing, ang pinakasimpleng paraan upang magbenta ng mas maraming kuryente ay ang pagtaas ng clock frequency: Kung mas maraming cycle ng orasan kada segundo, mas maraming instruksyon ang maaaring makumpleto kung pinahihintulutan ito ng arkitektura.Ang pagkamit ng unang 1 GHz processor ay isang mahalagang milestone para sa parehong mga server at mga home PC.
Ang unang komersyal na chip na umabot sa gigahertz ay ang DEC Alpha noong unang bahagi ng dekada 90, isang processor na idinisenyo para sa mga workstation at serverSa lokal na merkado, noong 1999, naabot din ng Intel kasama ang Pentium III nito at AMD kasama ang Athlon nito ang hadlang sa GHz, at pansamantalang nakatuon ang marketing sa "mas maraming GHz, mas mabuti".
Gayunpaman, lampas sa isang tiyak na punto, natuklasan ng mga tagagawa na Ang pagtaas ng dalas ay lalong nagpapataas ng pagbuo ng init at pagkonsumo ng enerhiya.Ang core ay dumanas ng matinding thermal stress, at ang mga kinakailangang cooling system ay hindi na makatwiran para sa karaniwang gumagamit.
Sa kontekstong iyon, lumitaw ang pagbabago sa estratehiya: kung ang pag-scale sa MHz at GHz ay nagiging hindi gaanong praktikal, Ang lohikal na alternatibo ay ang pagpapakilala ng ilang mga core na may kakayahang gumana nang sabay-sabay sa iba't ibang mga gawain.Sa halip na iisang core sa 10 GHz, lumipat ang industriya sa pag-aalok ng dalawa, apat, walo o higit pang mga core na gumagana sa mas mababang mga frequency.
Ang ideya ay medyo simple: Kung ang isang core ay may kakayahang magproseso ng isang tiyak na bilang ng mga tagubilin bawat yunit ng oras, maaaring ipamahagi ng maraming core ang workload at mapataas ang pangkalahatang pagganap, lalo na kung ang software ay idinisenyo upang tumakbo nang magkasabay.Iyan ang batayan ng modernong arkitekturang multi-core.
Ang mga unang multi-core processor at ang kanilang ebolusyon
Bagama't nagsimulang marinig ng mga gumagamit ng bahay ang tungkol sa dual core noong kalagitnaan ng dekada 2000, Ang mga unang multi-core processor ay ginagamit na sa mga kapaligiran ng server at malalaking sistema.Gaya ng madalas na nangyayari, ang teknolohiya ay unang dumating mula sa mundo ng korporasyon.
Isa sa mga unang milestone ay ang Ang IBM POWER4, itinuturing na unang komersyal na processor na may dalawang core na isinama sa isang chipLumitaw ito noong mga taong 2000-2001 na may mga frequency na humigit-kumulang 1,1 GHz at nilayon para sa mga high-end server.
Sa merkado ng mga mamimili, ang pagsulong ay dumating nang medyo huli. Noong 2005, Inilunsad ng Intel ang Pentium Extreme Edition 840, isang dual-core desktop processor na nagsama rin ng HyperThreadingkaya nakakita ang operating system ng apat na logical processor. Di-nagtagal, tumugon ang AMD gamit ang Athlon X2.
Kasabay nito, isa pang landas ang ginalugad: Mga sistemang multiprocessor, kung saan ang isang motherboard ay naglalaman ng dalawa o higit pang kumpletong pisikal na CPUNag-alok ang opsyong ito ng mataas na pagganap, ngunit kapalit ng pagiging kumplikado, pagkonsumo ng kuryente, at presyo, kaya nanatili itong pangunahing ginagamit para sa malalakas na server at workstation.
Sa paglipas ng panahon, at salamat sa pagpapaliit ng mga transistor, naging posible ang pagsasama Parami nang parami ang mga core sa iisang integrated circuit, na binabawasan ang laki at pagkonsumo ng kuryente bawat yunit ng pagganapAng mga proseso ng pagmamanupaktura na nasa bandang 7 nm o mas mababa pa ay nagbigay-daan sa pagpapakilala ng mga tunay na halimaw na hanggang 32 o 64 na core sa propesyonal na larangan.
Multicore laban sa multiprocessor: pareho ba sila?
Sa antas ng konseptwal, ang isang multi-core system at isang multi-processor system ay halos magkatulad: Sa parehong mga kaso mayroong ilang "utak ng computing" na may kakayahang magsagawa ng mga thread nang sabay-sabayKaya naman maraming paliwanag (tulad ng mula sa Superuser na nabanggit mo) ang nagbubuod sa pagkakaiba bilang isang bagay na pangunahing pisikal at pang-ekonomiya.
Sa isang pangkat klasikong multiprocessor mayroon ka maraming pisikal na CPU na naka-install sa iba't ibang socket sa motherboard, bawat isa ay may kanya-kanyang core, cache, at controllerGayunpaman, sa isang modernong multi-core chip, lahat ng mga core na iyon ay nasa loob ng iisang pakete at nagbabahagi ng ilan sa mga circuitry, tulad ng ilang partikular na cache o memory access.
Ano ang ibig sabihin nito sa pagsasagawa? Nangangahulugan ito na Ang isang multi-core system ay karaniwang mas mahusay sa mga tuntunin ng gastos, espasyo, at pagkonsumo ng kuryente kaysa sa pag-assemble ng ilang magkakahiwalay na pisikal na processor upang makamit ang parehong bilang ng mga core.Ang cache coherence logic at mga internal bus ay mas integrated at na-optimize.
Gayunpaman, mula sa perspektibo ng operating system at karamihan sa mga aplikasyon, Ang core ay isang execution unit na may kakayahang magpatakbo ng mga thread, nasa parehong chip man ito gaya ng ibang core o nasa hiwalay na CPU.Kaya naman maraming paglalarawan ang nagpapasimple at nagsasabing ang multi-core at multi-processor ay "gumagawa ng parehong bagay".
Ang mga tsart ng paghahambing sa ilang mga website (tulad ng mga na-link mo mula sa GeeksforGeeks o Javatpoint) ay minsan ay pinalalaki ang mga pagkakaiba, na umaabot pa sa puntong sinasabing ganoon ang mga bagay. "Ang isang multi-core system ay kapaki-pakinabang lamang para sa pagpapatakbo ng isang mabilis na programa, at ang mga multiprocessor ay kinakailangan para sa pagpapatakbo ng maraming programa."na hindi tama. Ang parehong uri ng sistema ay maaaring magpatakbo ng maraming proseso at maraming thread; ang tunay na pagkakaiba ay nasa kung paano pisikal na nalutas ang implementasyon at sa mga nuances ng memory coherence, latency, at scalability.
Ano ang kailangan para tunay na masulit ang maraming core?
Ang paglalagay ng maraming core sa silicon ay kalahati pa lamang ng kwento. Para masulit ang mga ito, kailangan mo Ang operating system at, higit sa lahat, ang mga aplikasyon ay idinisenyo upang pagtugmain ang kanilang workload sa maraming thread.Sa loob ng ilang panahon, ito ang tunay na hadlang sa pagsulong ng mga multi-core processor.
Mga modernong operating system (Windows, Linux, macOS, atbp.) Ang mga ito ay ganap na multiprocessing at may kakayahang ipamahagi ang mga proseso at thread sa iba't ibang magagamit na pisikal at lohikal na mga core.. Ang tagaplano Ito ang responsable sa pagpapasya kung aling thread ang tumatakbo sa aling core at kung gaano katagal.
Ang makasaysayang problema ay hindi gaanong nasa operating system kundi nasa user software. Maraming mas lumang programa ang isinulat na isinasaisip ang iisang thread ng pagpapatupad, kaya kahit na ang computer ay may 4 o 8 core, isa lamang ang mababad sa partikular na aplikasyong iyon.Sa mga kasong iyon, ang pagdaragdag ng higit pang mga core ay halos hindi nakapagpabuti sa pagganap ng partikular na gawaing iyon.
Sa paglipas ng panahon, dala ng pangangailangan (pag-eedit ng video, 3D na disenyo, mga simulasyon, mga database server, atbp.), Sinimulan ng mga developer ang pagdidisenyo ng mga aplikasyon na may tunay na suporta sa multi-core, na hinahati ang gawain sa mga thread na may kakayahang tumakbo nang magkasabay.Sa kontekstong ito, nagiging mahalaga ang mga konsepto ng mga sinulid ng proseso, mga subproseso, o mga sinulid.
Ngayon, ang mga propesyonal na programa sa disenyo, pag-render, pag-edit ng video, o CAD May posibilidad silang maging mahusay sa pag-scale gamit ang bilang ng mga core at threadhabang maraming video game ang mas limitado pa rin ng isa o ilang mabibigat na thread (bagaman nagkaroon din ng malaking pag-unlad sa paralelismo sa paglalaro).
HyperThreading, SMT at mga lohikal na thread
Bilang karagdagan sa pagpaparami ng mga pisikal na core, ipinakilala ng mga tagagawa ang isa pang kawili-wiling ideya: upang paganahin ang bawat pisikal na core na humawak ng higit sa isang thread ng pagpapatupad "sa isang pagkakataon" sa pamamagitan ng sabay-sabay na multithreadingSa Intel, ito ay naging popular sa ilalim ng pangalang HyperThreading; sa AMD, ito ay karaniwang tinutukoy bilang SMT (Simultaneous Multi-Threading).
Ang batayan ng teknik na ito ay Sa loob ng isang kernel, maraming execution units ang hindi laging 100% okupado.Kung iisang thread lang ang hahawakan mo, may mga pagkakataong ang kernel ay naiiwang naghihintay para sa data mula sa memorya o mga resulta mula sa isa pang internal block, na nagsasayang ng potensyal.
Pinapayagan ng sabay-sabay na multithreading dalawa (o higit pa) na lohikal na mga thread ang nagbabahagi ng parehong pisikal na core at mga panloob na mapagkukunan nito, na pinupunan ang mga puwang sa pipeline ng pagpapatupadPara sa operating system, tila mas maraming "processor" ang magagamit, ngunit sa katotohanan, ang nagawa na ay upang mas magamit ang mga umiiral na hardware.
Halimbawa, ang isang 4-core processor na may naka-enable na HyperThreading ay makikita ng system bilang 8 logical processor, na nakakatulong sa mga senaryo na may maraming magaan na gawain o may maraming memoryang naghihintay.Nag-aalok ang Intel ng teknolohiyang ito sa marami sa mga saklaw ng Core at Xeon nito, habang ginagamit ito ng AMD sa Ryzen at EPYC sa ilalim ng payong SMT.
Mahalaga: Ang isang logical thread ay hindi katumbas ng performance sa isang karagdagang physical core, ngunit nagbibigay ito ng kapansin-pansing pagpapabuti sa ilang partikular na uri ng workload.Kaya nga pinag-uusapan natin ang "mga totoong core" laban sa "mga lohikal na processor" kapag tinitingnan ang Windows Task Manager o iba pang mga tool sa pagsubaybay.
Paano malaman kung ilang core at thread ang mayroon ang iyong CPU
Sa mga sistemang Windows, kung bubuksan mo ang Buksan ang Task Manager at pumunta sa tab na Performance; makakakita ka ng isang partikular na seksyon para sa CPU.Ipinapahiwatig nito ang parehong bilang ng mga pisikal na core at ang bilang ng mga lohikal na processor (mga thread) na magagamit.
Mahalagang tandaan na ang ilang mga kagamitan sa sistema o mga klasikong tool Hindi nila laging nakikilala ang pagkakaiba sa pagitan ng pisikal na core at lohikal na thread at maaaring tumukoy sa pareho bilang "mga processor" lamang.Kaya naman karaniwan para sa isang 6-core processor na may SMT enabled na lumitaw bilang 12 "CPU" sa ilang partikular na listahan.
Ang sitwasyon ay katulad sa iba pang mga operating system: Nag-aalok ang Linux ng mga utos tulad ng lscpu o cat /proc/cpuinfo upang tingnan ang pagkasira ng mga pisikal na core at thread.At sa macOS, maaari mong tingnan ang impormasyon ng system o gumamit ng mga command-line tool.
Ang pagkakaiba sa pagitan ng mga core at thread ay mahalaga kapag nauunawaan kung ano ang iyong binibili o kung ano ang maaari mong asahan mula sa iyong computer: Ang isang processor na may 4 na core at 8 thread ay hindi katulad ng isa na may 8 core at 8 thread, kahit na pareho itong inaanunsyo bilang "8 thread".Ang pangalawa ay karaniwang magkakaroon ng mas maraming hilaw na kalamnan para sa mga halos magkaparehong karga.
Mga GPU, microprocessor, at iba pang kaugnay na bahagi
Bagama't kapag iniisip natin ang tungkol sa multi-core architecture, kadalasan ay nakatuon tayo sa CPU, May iba pang mga espesyalisadong processor na gumagana rin sa sampu-sampung o libu-libong core upang mapabilis ang mga partikular na gawain.Ang pinakakilalang halimbawa ay ang mga GPU.
isang Ang graphics processing unit (GPU) ay isang uri ng processor na idinisenyo upang magsagawa ng maraming simpleng operasyon nang sabay-sabay.Nilikha ito upang mapabilis ang pag-render ng graphics sa mga PC, console, at mobile device, ngunit ngayon ay malawakan na itong ginagamit sa AI, pagmimina ng cryptocurrency, at siyentipikong computing.
Tulad ng isang CPU, ang isang GPU ay binubuo ng mga transistor at logic block, ngunit Ang panloob na arkitektura nito ay na-optimize para sa napakalaking paralelismo, na may maraming maliliit na core na nakaayos sa mga grupo na may kakayahang magproseso ng malalaking volume ng data nang napaka-regular.Kaya naman napakaganda ng kanilang pagkinang sa mga graphics at neural network.
Sa larangan ng klasikong CPU, ang miniaturization ay humantong sa mga microprocessor: Mga kumpletong CPU na isinama sa isang integrated circuit chip, na may isa o higit pang pisikal na coreNgayon, halos lahat ng mga consumer CPU ay mga multi-core microprocessor.
Sa microprocessor na iyon, ang bawat pisikal na core Ito ay umaasa sa isang ecosystem ng mga cache, internal bus, at memory at input/output controller, na lahat ay nakabalot sa isang napakaliit na espasyo.Nagbibigay-daan ito para sa pag-assemble ng napakalakas na mga sistema sa mga compact motherboard, na mahalaga para sa mga laptop, mini PC, at mga naka-embed na device.
Disenyo ng pagkonsumo ng enerhiya, init, at data center
Ang pagkonsumo ng kuryente ay isa sa mga salik na lubos na nakakaimpluwensya sa ebolusyon ng mga multi-core CPU. Kapag mas maraming core ang idinaragdag natin at mas mataas ang frequency na ginagamit natin, mas maraming kuryente ang nawawala bilang init.Ang init na iyon ay kailangang pisikal na alisin mula sa maliit na tilad upang hindi ito masira.
Sa isang PC sa bahay, ito ay isinasalin sa mas malalaking heatsink, mas malalakas na bentilador, o kahit mga liquid cooling systemSa isang data center, kung saan libu-libong server ang gumagana nang buong kapasidad, nagiging kritikal ang ekwasyon: ang gastos sa pagpapalamig ay maaaring maging napakalaki.
Samakatuwid, ang malalaking cloud provider at hyperscale data center Nagdidisenyo sila ng mga imprastraktura na may maingat na pinag-aralang kontrol sa klima, mga pasilyo para sa mainit at malamig na tubig, at, sa ilang mga kaso, direktang likidong paglamig ng mga bahagi.Sa huli, ang bawat watt na natitipid sa bawat processor ay pinarami ng libu-libong makina.
Ang pagpapanatili ay mahalaga rin sa antas domestiko: Ang isang napakalakas na kagamitan ay maaaring kumonsumo ng maraming enerhiya kung ito ay patuloy na nasa ilalim ng mabigat na karga.Katanggap-tanggap ito para sa paminsan-minsang mabibigat na gawain, ngunit wala itong gaanong saysay kung magba-browse lang tayo sa internet, manonood ng mga video, at gagawa ng mga simpleng gawain sa opisina.
Kaya naman lalong binibigyang-pansin ng mga tagagawa ang kahusayan: Ang mga hybrid na arkitektura na may mga high-performance core at high-efficiency core, dynamic frequency at voltage scaling, at mga deep sleep mode ay nakakatulong na mabawasan ang pagkonsumo ng kuryente kapag hindi kinakailangan ang buong lakas..
Mga espesyalisadong chips at ang papel ng AI
Ang kamakailang pag-usbong ng artificial intelligence ay humantong sa paglitaw ng mga processor at accelerator na partikular na idinisenyo para sa machine learning at mga workload sa neural networkDito, hindi na lamang natin pinag-uusapan ang mga CPU at GPU, kundi pati na rin ang mga unit tulad ng Tensor Processing Units (TPU) o Tensor Streaming Processors (TSP).
Ang mga chip na ito ay nakatuon sa upang mag-alok ng brutal na pagganap sa mga operasyon ng matrix at vector, tipikal ng pagsasanay at paghihinuha ng modelo ng AIKaraniwan silang kinabibilangan ng daan-daan o libu-libong simple ngunit napakahusay na organisadong mga yunit ng computing upang ma-maximize ang parallelism ng data.
Sa larangan ng mga pangkalahatang-gamit na CPU, mayroon ding mga modelong partikular na idinisenyo para sa mga workload na ito. Halimbawa, Ang mga processor na may dose-dosenang core, tulad ng ilang partikular na AMD Threadripper processor o mga high-end na Intel Core at Intel Xeon processor, ay lubos na pinahahalagahan para sa pag-edit ng video, pag-render, at pinaghalong AI at mga malikhaing gawain..
Depende sa kung paano mo balak gamitin ang device, makatuwiran na unahin ang ilang partikular na tampok kaysa sa iba: Para sa propesyonal na pag-edit ng video, interesado ka sa maraming CPU core at isang mahusay na GPU; para sa paglalaro, napakahalaga ng latency at per-core performance; at para sa mga pangkalahatang gawain, halos anumang modernong mid-range CPU ay sapat na..
Ang lahat ng ito ay kasabay ng patuloy na pagsulong sa densidad ng transistor: Ang bawat bagong henerasyon ng proseso ng pagmamanupaktura ay nagbibigay-daan para sa mas maraming lohika na maimpake sa parehong espasyo o para sa nabawasang pagkonsumo ng kuryente para sa katulad na pagganap.Kaya naman nakakakita tayo ng mga bagong CPU na higit na nakahigitan ang mga modelo ilang taon lamang ang nakalilipas sa parehong pagganap at kahusayan.
Mga transistor: ang pundasyon ng buong arkitekturang ito
Sa ilalim ng lahat ng mga hindi maintindihang terminolohiya ng mga core, thread, cache, at GPU ay mayroong isang simpleng ngunit pangunahing sangkap: Ang transistor, ang maliit na aparatong semiconductor na kumokontrol sa daloy ng kuryente sa isang circuitAng pangalan nito ay nagmula sa "transfer resistor".
Sa computing, ang mga transistor ay ginagamit upang bumuo ng mga logic gate, register, memory, at lahat ng uri ng digital block. Sila ang responsable sa pisikal na pagpapatupad ng binary language ng 0s at 1s na ginagamit ng mga computer upang kumatawan sa impormasyon at Boolean logic..
Ang ebolusyon ng modernong elektronika ay maaaring ibuod bilang isang karera upang magkasya ang mas maraming transistor sa mas kaunting espasyo, habang sabay na binabawasan ang pagkonsumo ng kuryente bawat transistorIyan ang esensya ng magkakasunod na henerasyon ng mga proseso ng pagmamanupaktura: mula sa micrometer (µm) ay lumipat na tayo sa nanometer (nm) at patuloy tayong bumababa.
Sa isang kontemporaryong multi-core CPU, mayroong bilyun-bilyong maliliit na elektronikong switch na ito na gumagana sa buong bilis. Ang pagiging maaasahan, laki, at kahusayan nito sa huli ay tumutukoy sa pagganap at mga limitasyon ng anumang arkitektura ng processor..
Kung iisipin natin ito nang may perspektibo, ang lahat ng mahika ng pagpapatakbo ng maraming thread, pag-coordinate ng maraming core, pagbabahagi ng mga cache, o paglipat ng data sa pagitan ng mga CPU, GPU, at mga espesyalisadong accelerator ay wala nang iba pa kundi... isang napakalaking koreograpiya ng mga transistor na bumubukas at nagsasara kasunod ng napakahusay na mga padron.
Matapos makita ang lahat ng nabanggit, mas malinaw na ang ating ideya kung ano talaga ang nasa likod ng isang "multi-core processor" na higit pa sa simpleng bilang ng mga core. Mahalaga ang bilang ng mga core at ang kanilang frequency, oo, ngunit gayundin ang panloob na arkitektura, suporta para sa mga teknolohiyang tulad ng HyperThreading o SMT, kahusayan sa enerhiya, ang disenyo ng software na gumagamit ng mga ito, at ang pagiging tugma sa iba pang mga processor tulad ng GPU.Ang pag-unawa sa mga bahaging ito ay nagbibigay-daan sa iyo upang mas mahusay na mapili ang iyong hardware at, higit sa lahat, maisalarawan sa konteksto kung ano talaga ang ibig sabihin ng mga ispesipikasyon na nakikita mo sa mga teknikal na data sheet.
Talaan ng nilalaman
- Pangunahing tungkulin ng CPU sa isang computer
- Ano nga ba ang eksaktong core ng processor?
- Bakit tayo nagdagdag ng mas maraming core mula sa pagtaas ng GHz?
- Ang mga unang multi-core processor at ang kanilang ebolusyon
- Multicore laban sa multiprocessor: pareho ba sila?
- Ano ang kailangan para tunay na masulit ang maraming core?
- HyperThreading, SMT at mga lohikal na thread
- Paano malaman kung ilang core at thread ang mayroon ang iyong CPU
- Mga GPU, microprocessor, at iba pang kaugnay na bahagi
- Disenyo ng pagkonsumo ng enerhiya, init, at data center
- Mga espesyalisadong chips at ang papel ng AI
- Mga transistor: ang pundasyon ng buong arkitekturang ito