Multi-Core dhidi ya Wengi-Core, au Kwa nini tunahitaji microprocessors nyingi za msingi? Wasindikaji wa Intel na AMD. Je, kuna cores ngapi ndani ya processor?

Msingi wa CPU

Neno "msingi wa microprocessor" msingi wa processor) haina ufafanuzi wazi na, kulingana na muktadha wa matumizi, inaweza kumaanisha:

  • sehemu ya microprocessor iliyo na vitalu kuu vya kazi.
  • seti ya vigezo vinavyoashiria microprocessor.
  • Chip ya microprocessor (CPU au GPU), mara nyingi hufunguliwa.
  • sehemu ya processor ambayo hutekeleza thread moja ya maelekezo. Vichakataji vya msingi vingi vina cores nyingi na kwa hivyo zina uwezo wa kutekeleza kwa kujitegemea sambamba ya nyuzi nyingi za amri kwa wakati mmoja.

Msingi wa microprocessor kawaida huwa na muundo wake wa nambari (kwa mfano, Deschutes).

Tabia za msingi

Tabia za kawaida za kernel ni, kwa mfano:

  • usanifu mdogo;
  • idadi ya vitengo vya kazi (ALU, FPU, mabomba, nk);
  • kiasi cha kumbukumbu ya cache iliyojengwa;
  • interface (mantiki na kimwili);
  • masafa ya saa;
  • voltage ya usambazaji;
  • upeo wa juu na wa kawaida wa uharibifu wa joto;
  • teknolojia ya uzalishaji;
  • eneo la kioo.

Marekebisho ya Kernel

Wakati msingi wa microprocessor unavyokua, mabadiliko hufanywa kwake, mara nyingi ni muhimu. Kwa mfano, seti ya ziada ya maagizo inaweza kuongezwa, viwango vya kubuni mchakato vinaweza kupunguzwa, na mzunguko wa saa unaweza kuongezeka. Makosa yaliyopatikana pia kawaida hurekebishwa. Mabadiliko kama haya huitwa marekebisho ya kernel. Kernels za marekebisho tofauti hutofautiana kutoka kwa kila mmoja kwa nambari ya marekebisho (kwa mfano, Athlon XP Thoroughbred marekebisho A0 na B0), ambayo inaweza kusimba katika alama za microprocessor au kupangwa kwenye kernel. Katika kesi ya mwisho, nambari ya nambari ya marekebisho (kupiga hatua) inaweza kupatikana kwa kutumia maagizo

Viungo

Wikimedia Foundation. 2010.

Tazama "msingi wa processor" ni nini katika kamusi zingine:

    Msingi ni kitu cha kati na muhimu zaidi, mara nyingi pande zote. Neno hili lina maana tofauti katika maeneo mbalimbali: Yaliyomo 1 Fizikia ya Nyuklia 2 Biolojia 3 Sayansi ya Dunia 4 Michezo ... Wikipedia

    Yaliyomo 1 Fizikia ya Nyuklia 2 Biolojia 3 Sayansi ya Dunia ... Wikipedia

    Neno hili lina maana zingine, angalia Core. Kokwa ni sehemu ya kati ya mfumo wa uendeshaji (OS), ikitoa programu na ufikiaji ulioratibiwa kwa rasilimali za kompyuta, kama vile wakati wa kichakataji, kumbukumbu na maunzi ya nje... ... Wikipedia

    Neno "msingi wa microprocessor" haina ufafanuzi wazi na, kulingana na mazingira ya matumizi, inaweza kumaanisha: sehemu ya microprocessor iliyo na vitalu kuu vya kazi. seti ya vigezo vinavyobainisha... ... Wikipedia

    Cache ya kashe ya Microprocessor (imekamilika RAM), inayotumiwa na microprocessor ya kompyuta ili kupunguza muda wa wastani wa kufikia kumbukumbu ya kompyuta. Ni moja ya viwango vya juu uongozi wa kumbukumbu ... Wikipedia

    Inapendekezwa kubadilisha ukurasa huu kuwa Soketi ya Kichakataji. Ufafanuzi wa sababu na majadiliano kwenye ukurasa wa Wikipedia: Kubadilisha jina / Machi 19, 2012. Labda jina lake la sasa halilingani na kanuni za lugha ya kisasa ya Kirusi na / au ... ... Wikipedia

    Akiba (kache ya Kiingereza, inayotamkwa kæʃ kache) ni bafa ya kati yenye ufikiaji wa haraka, iliyo na nakala ya maelezo ambayo yamehifadhiwa kwenye kumbukumbu na ufikiaji wa haraka sana, lakini kuna uwezekano mkubwa wa kuombwa kutoka hapo. Upatikanaji wa data katika... ... Wikipedia

    Msingi wa kichakataji Seli ni usanifu wa microprocessor ulioendelezwa kwa pamoja na Sony, Toshiba na IBM, ambao waliunda muungano unaojulikana kama "STI". Ukuzaji wa usanifu na mifano ya kwanza iliundwa katika Kituo cha Usanifu wa magonjwa ya zinaa kwa... ... Wikipedia

    80486 DX2 x86 (eng. Intel 80x86) usanifu wa kichakataji chenye seti ya jina moja ... Wikipedia

    - << Athlon >> Kitengo kikuu cha usindikaji... Wikipedia

Vitabu

  • ARM's Cortex-M3 Core The Definitive Guide, Yu D. Kitabu hiki ni mwongozo wa kina wa kichakataji kipya cha 32-bit cha ARM, Cortex-M3. KATIKA mwongozo huu Usanifu wa msingi wa processor umeelezewa kwa undani ...

Wakati wa kujibu swali la nini idadi ya cores katika processor huathiri, ningependa kusema mara moja - utendaji wa kompyuta. Lakini hii ni kurahisisha kwa nguvu kwamba hata inakuwa kosa wakati fulani.

Itakuwa nzuri ikiwa watumiaji walikosea tu na hawakupoteza chochote. Tatizo ni kwamba kutokuelewa kiini cha msingi mbalimbali husababisha hasara za kifedha. Kujaribu kuongeza tija, mtu hutumia pesa kwenye processor na kiasi kikubwa cores, lakini haoni tofauti.

Multi-msingi na multi-threading

Tuliposoma suala hilo, tuligundua kipengele cha wasindikaji wa Intel - zana za kawaida Windows inaonyesha idadi tofauti ya cores. Hii ni kutokana na kazi ya teknolojia ya Hyper-Threading, ambayo hutoa thread nyingi.

Ili usichanganyike tena katika dhana, wacha tuisuluhishe mara moja na kwa wote:

  • Multi-msingi - chip ina vifaa kadhaa vya usanifu wa kimwili. Unaweza kuwaona na kuwagusa kwa mikono yako.
  • Multithreading - mitiririko kadhaa ya habari iliyochakatwa kwa wakati mmoja.
    Msingi inaweza kuwa kimwili moja, lakini teknolojia za programu kwa msingi wake, nyuzi mbili za utekelezaji wa kazi zinaundwa; cores mbili - nyuzi nne, nk.

Athari za idadi ya cores kwenye utendaji

Kuongezeka kwa utendaji kwenye processor ya msingi nyingi hupatikana kwa kuvunja utekelezaji wa kazi. Yoyote mfumo wa kisasa hugawanya mchakato katika nyuzi kadhaa hata kwenye processor moja ya msingi - hii ndio jinsi multitasking inavyopatikana, ambayo unaweza, kwa mfano, kusikiliza muziki, kuandika hati na kufanya kazi na kivinjari. Programu zifuatazo zinapenda na hutumia usomaji mwingi kila wakati:

  • wahifadhi kumbukumbu;
  • wachezaji wa vyombo vya habari;
  • encoders za video;
  • defragmenters;
  • antivirus;
  • mhariri wa picha.

Kanuni ya kutenganisha mkondo ni muhimu. Ikiwa kompyuta inaendesha processor moja ya msingi bila teknolojia ya Hyper-Threading, basi mfumo wa uendeshaji hubadilika mara moja kati ya nyuzi, ili michakato ya mtumiaji ionekane inaendesha wakati huo huo. Kila kitu hufanyika ndani ya milisekunde, kwa hivyo huoni muda mwingi wa kusubiri isipokuwa unasukuma CPU kwa bidii.

Ikiwa kichakataji ni cha msingi-nyingi (au kinatumia nyuzi nyingi), basi kwa kweli hakutakuwa na ubadilishaji. Mfumo hutuma thread tofauti kwa kila msingi. Matokeo yake ni kuongezeka kwa tija kwa sababu hakuna haja ya kubadili kazi nyingine.

Lakini kuna jambo lingine muhimu - je, linajisaidia? programu kufanya kazi nyingi? Mfumo unaweza kugawanya michakato katika nyuzi tofauti. Hata hivyo, ikiwa unaendesha mchezo unaohitaji nguvu nyingi, lakini haujaboreshwa ili kuendesha kwa cores nne, hakutakuwa na faida ya utendaji ikilinganishwa na kichakataji cha msingi-mbili.

Wasanidi wa mchezo na programu wanafahamu kipengele hiki, kwa hivyo wao huboresha msimbo wao kila wakati ili kutekeleza majukumu kwenye vichakataji vya msingi. Lakini utoshelezaji huu hauendani kila wakati na kuongezeka kwa idadi ya cores, kwa hivyo haupaswi kutumia pesa nyingi kwa mpya zaidi. wasindikaji wenye nguvu kwa idadi ya juu iwezekanavyo ya nyuzi zinazotumika, uwezo wa chip hautafichuliwa katika programu 9 kati ya 10.

Kwa hivyo unapaswa kuchagua cores ngapi?

Kabla ya kununua kichakataji chenye cores 16, zingatia ikiwa idadi hiyo ya nyuzi itahitajika kutekeleza kazi utakazokabidhi kwa kompyuta.

  • Ikiwa kompyuta inunuliwa kwa kufanya kazi na nyaraka, kutumia mtandao, kusikiliza muziki, kutazama sinema, basi cores mbili zinatosha. Ikiwa unachukua processor na cores mbili kutoka juu sehemu ya bei kwa mzunguko mzuri na usaidizi wa thread nyingi, hakutakuwa na matatizo wakati wa kufanya kazi na wahariri wa picha.
  • Ikiwa unununua mashine kwa matarajio ya utendaji wenye nguvu wa michezo ya kubahatisha, kisha usakinishe mara moja kichujio kwa angalau cores 4. Cores 8 zilizo na usaidizi wa nyuzi nyingi - juu sana na ukingo wa miaka kadhaa. Cores 16 zinaahidi, lakini kuna uwezekano mkubwa kwamba wakati unapofungua uwezekano wa chip kama hiyo, itakuwa ya kizamani.

Kama nilivyosema tayari, watengenezaji wa mchezo na programu wanajaribu kuendelea na maendeleo ya wasindikaji, lakini hadi sasa nguvu kubwa tu haihitajiki. Core 16 zinafaa kwa watumiaji wanaoonyesha video au kompyuta ya seva. Ndiyo, katika maduka wasindikaji vile huitwa wasindikaji wa michezo ya kubahatisha, lakini hii ni tu ili waweze kuuzwa - kuna dhahiri zaidi gamers karibu kuliko wale wanaotoa video.

Faida za cores nyingi zinaweza kuzingatiwa tu na mbaya sana kazi ya kompyuta katika nyuzi kadhaa. Ikiwa, kwa kusema, mchezo au programu imeboreshwa kwa nyuzi nne tu, basi hata cores zako nane zitakuwa na nguvu zisizo na maana ambazo hazitaathiri utendaji kwa njia yoyote.

Ni kama kusafirisha kiti kwenye lori kubwa - haifanyi kazi hiyo kuwa ya haraka zaidi. Lakini ikiwa unatumia fursa zilizopo kwa usahihi (kwa mfano, kupakia mwili na samani tofauti kabisa), basi tija ya kazi itaongezeka. Kumbuka hili na usidanganywe na mbinu za uuzaji zinazoongeza neno "michezo" kwa wachakataji ambao, hata zaidi. michezo ya hivi punde hawatafikia uwezo wao kamili.

Pia kwenye tovuti:

Ni nini kinachoathiriwa na idadi ya cores ya processor? ilisasishwa: Januari 31, 2018 na: admin

Wakati wa kununua processor, watu wengi wanajaribu kuchagua kitu baridi, na cores kadhaa na kubwa mzunguko wa saa. Lakini watu wachache wanajua ni nini idadi ya cores ya processor inathiri. Kwa nini, kwa mfano, kichakataji cha kawaida na rahisi cha msingi-mbili kinaweza kuwa kasi zaidi kuliko kichakataji cha quad-core, au "asilimia" sawa na cores 4 kuwa kasi zaidi kuliko "asilimia" yenye cores 8. Ni nzuri mada ya kuvutia, ambayo hakika inafaa kuelewa kwa undani zaidi.

Utangulizi

Kabla ya kuanza kuelewa ni nini idadi ya cores ya processor huathiri, ningependa kufanya upungufu mdogo. Miaka michache tu iliyopita, watengenezaji wa CPU walikuwa na hakika kwamba teknolojia za utengenezaji, ambazo zinaendelea kwa kasi, zitawawezesha kuzalisha "mawe" na kasi ya saa ya hadi 10 GHz, ambayo itawawezesha watumiaji kusahau matatizo na utendaji mbaya. Hata hivyo, mafanikio hayakupatikana.

Haijalishi jinsi mchakato wa kiteknolojia ulivyokua, Intel na AMD ziliingia kwenye mapungufu ya mwili ambayo hayakuwaruhusu kutoa wasindikaji na mzunguko wa saa hadi 10 GHz. Kisha iliamuliwa kuzingatia sio masafa, lakini kwa idadi ya cores. Kwa hivyo, mbio mpya ilianza kutoa "fuwele" za processor zenye nguvu zaidi na zenye tija, ambazo zinaendelea hadi leo, lakini sio kwa bidii kama ilivyokuwa mwanzoni.

Wasindikaji wa Intel na AMD

Leo, Intel na AMD ni washindani wa moja kwa moja kwenye soko la processor. Ikiwa unatazama mapato na mauzo, faida ya wazi itakuwa upande wa Blues, ingawa Hivi majuzi Wekundu wanajaribu kuendelea. Kampuni zote mbili zina safu nzuri ufumbuzi tayari kwa hafla zote - kutoka processor rahisi kutoka kwa cores 1-2 hadi monsters halisi, ambayo idadi ya cores huzidi 8. Kwa kawaida, "mawe" hayo hutumiwa kwenye kazi maalum "kompyuta" ambazo zina mwelekeo mdogo.

Intel

Kwa hiyo, leo Intel ina mafanikio ya aina 5 za wasindikaji: Celeron, Pentium, na i7. Kila moja ya "mawe" haya ina kiasi tofauti cores na iliyokusudiwa kazi mbalimbali. Kwa mfano, Celeron ina cores 2 tu na hutumiwa hasa kwenye kompyuta za ofisi na nyumbani. Pentium, au, kama inaitwa pia, "kisiki", pia hutumiwa nyumbani, lakini tayari ina utendaji bora zaidi, haswa kwa sababu ya teknolojia ya Hyper-Threading, ambayo "inaongeza" cores mbili zaidi za mwili. cores virtual, ambayo huitwa mito. Kwa hivyo, "asilimia" ya msingi-mbili hufanya kazi kama kichakataji cha msingi cha bajeti zaidi, ingawa hii si sahihi kabisa, lakini hili ndilo jambo kuu.

Kuhusu Mstari wa msingi, basi kuna takriban hali kama hiyo hapa. Mfano mdogo na nambari 3 una cores 2 na nyuzi 2. Mstari wa zamani - Core i5 - tayari ina cores 4 au 6 kamili, lakini haina kazi ya Hyper-Threading na haina nyuzi za ziada, isipokuwa 4-6 za kawaida. Kweli, jambo la mwisho - msingi i7 ni wasindikaji wa juu, ambayo kwa kawaida huwa na cores 4 hadi 6 na nyuzi mara mbili zaidi, yaani, kwa mfano, cores 4 na nyuzi 8 au cores 6 na nyuzi 12.

AMD

Sasa inafaa kuzungumza juu ya AMD. Orodha ya "kokoto" kutoka kwa kampuni hii ni kubwa, hakuna maana katika kuorodhesha kila kitu, kwani mifano mingi imepitwa na wakati. Labda inafaa kuzingatia kizazi kipya, ambacho kwa maana "hunakili" Intel - Ryzen. Mstari huu pia una mifano yenye namba 3, 5 na 7. Tofauti kuu kutoka kwa "bluu" ya Ryzen ni kwamba mfano mdogo mara moja hutoa cores 4 kamili, wakati mzee hana 6, lakini nane. Kwa kuongeza, idadi ya nyuzi hubadilika. Ryzen 3 - 4 threads, Ryzen 5 - 8-12 (kulingana na idadi ya cores - 4 au 6) na Ryzen 7 - 16 threads.

Inafaa kutaja safu nyingine ya "nyekundu" - FX, ambayo ilionekana mnamo 2012, na, kwa kweli, jukwaa hili tayari inachukuliwa kuwa ya kizamani, lakini shukrani kwa ukweli kwamba sasa zaidi na zaidi programu zaidi na michezo huanza kuunga mkono thread nyingi, mstari wa Vishera umepata umaarufu, ambayo, pamoja na bei ya chini, inakua tu.

Kweli, kuhusu mjadala kuhusu mzunguko wa processor na idadi ya cores, basi, kwa kweli, ni sahihi zaidi kuangalia kwa pili, kwani kila mtu ameamua zamani juu ya masafa ya saa, na hata. mifano ya juu kutoka kwa Intel hufanya kazi kwa nominella 2.7, 2.8, 3 GHz. Kwa kuongeza, mzunguko unaweza daima kuongezeka kwa kutumia overclocking, lakini katika kesi ya processor mbili-msingi hii haitatoa athari nyingi.

Jinsi ya kujua ni cores ngapi

Ikiwa mtu hajui jinsi ya kuamua idadi ya cores za processor, basi hii inaweza kufanywa kwa urahisi na kwa urahisi hata bila kupakua na kusanikisha tofauti. programu maalum. Nenda tu kwenye "Kidhibiti cha Kifaa" na ubofye mshale mdogo karibu na kipengee cha "Wasindikaji".

Pata zaidi maelezo ya kina Unaweza kujua ni teknolojia gani "jiwe" lako linaunga mkono, mzunguko wa saa ni nini, nambari yake ya marekebisho na mengi zaidi kwa kutumia programu maalum na ndogo inayoitwa CPU-Z. Unaweza kuipakua bila malipo kwenye wavuti rasmi. Kuna toleo ambalo halihitaji usakinishaji.

Faida ya cores mbili

Je, faida ya processor mbili-msingi inaweza kuwa nini? Kuna mambo mengi, kwa mfano, katika michezo au maombi, katika maendeleo ambayo kazi ya thread moja ilikuwa kipaumbele kuu. Chukua mchezo Wold ya mizinga kama mfano. Vichakataji vya msingi viwili kama vile Pentium au Celeron vitatoa matokeo bora ya utendakazi, ilhali baadhi ya FX kutoka AMD au INTEL Core watatumia uwezo wao mwingi zaidi, na matokeo yatakuwa takriban sawa.

cores 4 bora

Viini 4 vinawezaje kuwa bora kuliko mbili? Utendaji bora. "Mawe" ya Quad-core yameundwa kwa kazi kubwa zaidi, ambapo "shina" rahisi au "celerons" haziwezi kustahimili. Mfano bora Mpango wowote wa kufanya kazi na graphics za 3D utafanya kazi hapa, kwa mfano 3Ds Max au Cinema4D.

Wakati wa mchakato wa utoaji, programu hizi hutumia rasilimali za juu zaidi za kompyuta, ikiwa ni pamoja na RAM na processor. CPU mbili-msingi zitakuwa polepole sana katika kutoa wakati wa uchakataji, na kadiri tukio lilivyo ngumu zaidi, ndivyo zitakavyochukua muda mrefu. Lakini wasindikaji wenye cores nne wataweza kukabiliana na kazi hii kwa kasi zaidi, kwani nyuzi za ziada zitakuja kuwasaidia.

Kwa kweli, unaweza kuchukua "protsyk" ya bajeti kutoka Familia ya msingi i3, kwa mfano, mfano wa 6100, lakini cores 2 na nyuzi 2 za ziada bado zitakuwa duni kwa quad-core kamili.

6 na 8 cores

Kweli, sehemu ya mwisho ya cores nyingi ni wasindikaji wenye cores sita na nane. Kusudi lao kuu, kwa kanuni, ni sawa na lile la CPU hapo juu, tu zinahitajika ambapo "nne" za kawaida haziwezi kukabiliana. Kwa kuongezea, kompyuta maalum kamili zimejengwa kwa msingi wa "mawe" na cores 6 na 8, ambayo "itarekebishwa" kwa shughuli fulani, kwa mfano, uhariri wa video, programu za modeli za 3D, kutoa picha nzito zilizotengenezwa tayari na. idadi kubwa ya poligoni na vitu, nk. d.

Kwa kuongeza, wasindikaji vile wa msingi mbalimbali hufanya vizuri sana wakati wa kufanya kazi na kumbukumbu au katika programu zinazohitaji uwezo mzuri wa kompyuta. Katika michezo ambayo imeboreshwa kwa nyuzi nyingi, wasindikaji kama hao hawana sawa.

Ni nini kinachoathiriwa na idadi ya cores ya processor?

Kwa hivyo, ni nini kingine ambacho idadi ya cores inaweza kuathiri? Awali ya yote, kuongeza matumizi ya nishati. Ndiyo, ingawa hii inaweza kuonekana ya kushangaza, ni kweli. Hakuna haja ya kuwa na wasiwasi sana, kwa sababu katika maisha ya kila siku tatizo hili, kwa kusema, halitaonekana.

Ya pili ni inapokanzwa. Cores zaidi, bora mfumo wa baridi unahitajika. Programu inayoitwa AIDA64 itakusaidia kupima joto la processor. Wakati wa kuanza, unahitaji kubofya "Kompyuta" na kisha uchague "Sensorer". Unahitaji kufuatilia hali ya joto ya processor, kwa sababu ikiwa inazidi mara kwa mara au inafanya kazi kwa joto la juu sana, basi baada ya muda itawaka tu.

Mifumo ya mbili-msingi haijui tatizo hili, kwa sababu hawana mengi utendaji wa juu na uharibifu wa joto, kwa mtiririko huo, lakini wale wa msingi wengi - ndiyo. Mawe ya moto zaidi ni yale kutoka kwa AMD, haswa safu ya FX. Kwa mfano, chukua mfano wa FX-6300. Joto la processor katika mpango wa AIDA64 ni karibu digrii 40 na hii iko katika hali ya uvivu. Chini ya mzigo, nambari itaongezeka na ikiwa overheating hutokea, kompyuta itazimwa. Kwa hiyo, wakati wa kununua processor mbalimbali ya msingi, unapaswa kusahau kuhusu baridi.

Ni nini kingine kinachoathiri idadi ya cores za processor? Kwa kufanya kazi nyingi. Wachakataji wa msingi-mbili hawataweza kutoa utendakazi thabiti wakati wa kuendesha programu mbili, tatu au zaidi kwa wakati mmoja. Mfano rahisi zaidi ni watiririshaji kwenye mtandao. Mbali na ukweli kwamba wanacheza mchezo fulani mipangilio ya juu, wana programu inayoendesha sambamba ambayo inakuruhusu kutangaza mchakato wa mchezo kwa Mtandao mtandaoni, kivinjari cha Mtandao kilicho na kadhaa fungua kurasa, ambapo mchezaji, kama sheria, anasoma maoni ya watu wanaomtazama na kufuata habari nyingine. Sio kila kichakataji chenye msingi nyingi kinaweza kutoa uthabiti unaofaa, bila kutaja vichakataji viwili na vya msingi mmoja.

Inafaa pia kusema maneno machache ambayo wasindikaji wa msingi wengi wanayo sana jambo la manufaa, ambayo inaitwa "L3 Cache". Cache hii ina kiasi fulani cha kumbukumbu ambayo imeandikwa mara kwa mara habari mbalimbali kuhusu programu zinazoendesha, vitendo vilivyofanywa, nk Yote hii inahitajika ili kuongeza kasi ya kompyuta na utendaji wake. Kwa mfano, ikiwa mtu hutumia Photoshop mara nyingi, basi habari hii itahifadhiwa kwenye kumbukumbu, na wakati wa kuzindua na kufungua programu itapunguzwa sana.

Kufupisha

Kwa muhtasari wa mazungumzo juu ya kile idadi ya cores za processor huathiri, tunaweza kuja kwa jambo moja: hitimisho rahisi: ikiwa inahitajika utendaji mzuri, utendaji, kazi nyingi, fanya kazi katika programu nzito, uwezo wa kucheza kwa raha michezo ya kisasa nk, basi chaguo lako ni processor yenye cores nne au zaidi. Ikiwa unahitaji "kompyuta" rahisi kwa ofisi au matumizi ya nyumbani, ambayo itatumika kwa kiwango cha chini, basi cores 2 ni nini kinachohitajika. Kwa hali yoyote, wakati wa kuchagua processor, kwanza kabisa unahitaji kuchambua mahitaji na kazi zako zote, na kisha tu fikiria chaguzi zozote.

  • Mafunzo

Katika makala hii nitajaribu kuelezea istilahi inayotumika kuelezea mifumo yenye uwezo wa kutekeleza programu kadhaa sambamba, ambayo ni, msingi-nyingi, wasindikaji mwingi, wenye nyuzi nyingi. Aina tofauti za usawa katika IA-32 CPU zilionekana wakati tofauti na kwa mpangilio usiolingana kwa kiasi fulani. Ni rahisi sana kuchanganyikiwa katika haya yote, hasa kwa kuzingatia kwamba mifumo ya uendeshaji huficha kwa uangalifu maelezo kutoka kwa programu za chini za kisasa.

Madhumuni ya kifungu hicho ni kuonyesha kuwa na anuwai zote za usanidi unaowezekana wa multiprocessor, multicore na mifumo yenye nyuzi nyingi kwa programu zinazoendesha juu yao, fursa zinaundwa kwa uondoaji wote (kupuuza tofauti) na kuzingatia maalum (uwezo wa kujua usanidi kwa utaratibu).

Onyo kuhusu ®, ™ ishara katika makala

Yangu inaeleza kwa nini wafanyakazi wa kampuni wanapaswa kutumia notisi za hakimiliki katika mawasiliano ya umma. Katika makala hii nililazimika kuzitumia mara nyingi.

CPU

Bila shaka, neno la kale zaidi, linalotumiwa mara nyingi na la utata ni "processor".

KATIKA ulimwengu wa kisasa processor ni kile tunachonunua katika sanduku zuri la Rejareja au kifurushi cha OEM ambacho sio kizuri sana. Huluki isiyoweza kugawanywa iliyoingizwa kwenye tundu ubao wa mama. Hata ikiwa hakuna kontakt na haiwezi kuondolewa, yaani, ikiwa inauzwa vizuri, ni chip moja.

Mifumo ya rununu (simu, kompyuta ndogo, kompyuta ndogo) na kompyuta nyingi za mezani zina kichakataji kimoja. Vituo vya kazi na seva wakati mwingine hujivunia vichakataji viwili au zaidi kwenye ubao wa mama mmoja.

Msaada mwingi vitengo vya usindikaji vya kati katika mfumo mmoja inahitaji mabadiliko mengi katika muundo wake. Kwa kiwango cha chini, ni muhimu kuwapa uhusiano wa kimwili(toa soketi nyingi kwenye ubao wa mama), suluhisha maswala ya kitambulisho cha processor (tazama baadaye katika kifungu hiki, na vile vile dokezo langu), uratibu wa ufikiaji wa kumbukumbu na uwasilishaji wa kukatiza (kidhibiti cha kukatiza lazima kiwe na uwezo wa kusumbua kwa wasindikaji wengi) na , bila shaka, msaada kutoka kwa mfumo wa uendeshaji. Kwa bahati mbaya, sikuweza kupata kumbukumbu ya maandishi ya kuundwa kwa mfumo wa kwanza wa multiprocessor kwenye wasindikaji wa Intel, lakini Wikipedia inadai kuwa Mifumo ya Kompyuta ya Sequent iliwapa tayari mwaka wa 1987, kwa kutumia wasindikaji wa Intel 80386. Msaada wa chips nyingi katika mfumo mmoja unaenea , kuanzia Intel® Pentium.

Ikiwa kuna wasindikaji kadhaa, basi kila mmoja wao ana kiunganishi chake kwenye ubao. Kila moja yao ina nakala kamili za rasilimali zote, kama vile rejista, vifaa vya utekelezaji, kache. Wanashiriki kumbukumbu ya kawaida - RAM. Kumbukumbu inaweza kuunganishwa nao kwa njia mbalimbali na badala zisizo ndogo, lakini hii hadithi nyingine, ambayo ni nje ya upeo wa makala hii. Jambo kuu ni kwamba kwa hali yoyote programu zinazoweza kutekelezwa udanganyifu wa kumbukumbu ya pamoja inayopatikana kutoka kwa wasindikaji wote waliojumuishwa kwenye mfumo inapaswa kuundwa.


Tayari kwa kupaa! Intel® Desktop Board D5400XS

Msingi

Kwa kihistoria, cores nyingi katika Intel IA-32 zilionekana baadaye kuliko Intel® HyperThreading, lakini katika uongozi wa mantiki inakuja ijayo.

Inaweza kuonekana kuwa ikiwa mfumo una wasindikaji zaidi, basi utendaji wake ni wa juu (juu ya kazi ambazo zinaweza kutumia rasilimali zote). Hata hivyo, ikiwa gharama ya mawasiliano kati yao ni ya juu sana, basi faida zote kutoka kwa usawa zinauawa kwa kuchelewa kwa muda mrefu kwa uhamisho wa data ya kawaida. Hii ndio hasa inayozingatiwa katika mifumo ya multiprocessor - kimwili na kimantiki wao ni mbali sana kutoka kwa kila mmoja. Kwa mawasiliano yenye ufanisi Katika hali kama hizi, ni muhimu kuja na mabasi maalum, kama vile Intel® QuickPath Interconnect. Matumizi ya nishati, ukubwa na bei ya suluhisho la mwisho, bila shaka, hazipunguzwa na haya yote. Ushirikiano wa juu wa vipengele unapaswa kuja kuwaokoa - nyaya zinazofanya sehemu programu sambamba, unahitaji kuwavuta karibu na kila mmoja, ikiwezekana kwenye fuwele moja. Kwa maneno mengine, processor moja inapaswa kuandaa kadhaa msingi, kufanana kwa kila mmoja katika kila kitu, lakini kufanya kazi kwa kujitegemea.

Wasindikaji wa kwanza wa msingi wa IA-32 kutoka Intel walianzishwa mnamo 2005. Tangu wakati huo, idadi ya wastani ya cores katika seva, desktop, na sasa majukwaa ya simu inakua kwa kasi.

Tofauti na hizo mbili wasindikaji wa msingi mmoja Katika mfumo huo huo, kushiriki kumbukumbu pekee, cores mbili zinaweza pia kushiriki kache na rasilimali zingine zinazohusika na kuingiliana na kumbukumbu. Mara nyingi, kashe za kiwango cha kwanza hubaki kibinafsi (kila msingi una yake), wakati viwango vya pili na vya tatu vinaweza kugawanywa au kutengwa. Shirika hili la mfumo hukuruhusu kupunguza ucheleweshaji wa utoaji wa data kati ya cores za jirani, haswa ikiwa wanafanya kazi ya kawaida.


Maikrografu ya kichakataji cha quad-core Intel inayoitwa Nehalem. Viini vya mtu binafsi vinasisitizwa, akiba iliyoshirikiwa ngazi ya tatu, pamoja na viungo vya QPI kwa wasindikaji wengine na mtawala wa kumbukumbu ya kawaida.

Hyperthread

Hadi karibu 2002 njia pekee Ili kupata mfumo wa IA-32 wenye uwezo wa kutekeleza programu mbili au zaidi kwa sambamba ilikuwa kutumia mifumo ya multiprocessor. Intel® Pentium® 4 pamoja na laini ya Xeon iliyopewa jina la Foster (Netburst) ililetwa. teknolojia mpya- hyperthreads au hyperthreads, - Intel® HyperThreading (hapa HT).

Hakuna jipya chini ya jua. HT ni kisa maalum cha kile kinachorejelewa katika fasihi kama usomaji mwingi wa samtidiga (SMT). Tofauti na cores "halisi", ambazo ni nakala kamili na huru, kwa upande wa HT, sehemu tu ya nodi za ndani, ambazo zina jukumu la kuhifadhi hali ya usanifu - rejista, zinarudiwa katika processor moja. Nodi za utendaji zinazohusika na kupanga na kuchakata data husalia katika umoja, na wakati wowote hutumiwa na angalau moja ya nyuzi. Kama cores, hyperthreads hushiriki kache, lakini kutoka kwa kiwango gani inategemea mfumo maalum.

Sitajaribu kueleza manufaa na hasara zote za miundo ya SMT kwa ujumla na miundo ya HT hasa. Msomaji anayevutiwa anaweza kupata kabisa mjadala wa kina teknolojia katika vyanzo vingi, na, bila shaka, katika Wikipedia. Hata hivyo, nitabainisha yafuatayo hatua muhimu, akielezea vikomo vya sasa vya idadi ya vichwa vya habari katika uzalishaji wa ulimwengu halisi.

Vizuizi vya thread
Ni katika hali gani uwepo wa "usio wa haki" wa cores nyingi kwa namna ya HT ni haki? Ikiwa thread moja ya maombi haiwezi kupakia nodi zote za utekelezaji ndani ya kernel, basi zinaweza "kukopeshwa" kwa thread nyingine. Hii ni kawaida kwa programu ambazo hazina kizuizi sio katika hesabu, lakini katika ufikiaji wa data, ambayo ni kwamba, mara nyingi hutokeza kache hukosa na kulazimika kungoja data ipelekwe kutoka kwa kumbukumbu. Wakati huu, msingi bila HT utalazimika kufanya kazi. Uwepo wa HT hukuruhusu kubadili haraka nodi za utekelezaji wa bure kwa hali nyingine ya usanifu (kwani inarudiwa) na kutekeleza maagizo yake. Hii ni kesi maalum ya mbinu inayoitwa latency kujificha, wakati operesheni moja ya muda mrefu, wakati ambao rasilimali muhimu bila kazi, iliyofichwa na utekelezaji sambamba wa majukumu mengine. Ikiwa programu tayari ina shahada ya juu matumizi ya rasilimali za kernel, uwepo wa hyperthreads hautaruhusu kuongeza kasi - kernels "zaaminifu" zinahitajika hapa.

Matukio ya kawaida ya eneo-kazi na programu za seva, iliyoundwa kwa ajili ya usanifu wa mashine madhumuni ya jumla, zina uwezekano wa usawazishaji unaowezeshwa na HT. Walakini, uwezo huu unatumiwa haraka. Labda kwa sababu hii, karibu wasindikaji wote wa IA-32 idadi ya hyperthreads ya vifaa haizidi mbili. Katika hali ya kawaida, faida kutokana na kutumia nyuzi tatu au zaidi itakuwa ndogo, lakini hasara katika saizi ya kufa, matumizi yake ya nguvu na gharama ni kubwa.

Hali tofauti huzingatiwa katika kazi za kawaida zinazofanywa kwenye viongeza kasi vya video. Kwa hiyo, usanifu huu una sifa ya matumizi ya teknolojia ya SMT yenye idadi kubwa ya nyuzi. Kwa kuwa wasindikaji wa Intel® Xeon Phi (walioanzishwa mwaka wa 2010) wako karibu kiitikadi na kwa nasaba na kadi za video, wanaweza kuwa na nne hyperthreading kwenye kila msingi - usanidi wa kipekee kwa IA-32.

Kichakataji cha mantiki

Kati ya "ngazi" tatu zilizoelezwa za usawa (wasindikaji, cores, hyperthreads), baadhi au hata wote wanaweza kukosa katika mfumo fulani. Hii inaathiriwa Mipangilio ya BIOS(usambazaji wa nyuzi nyingi za msingi na nyingi umezimwa kwa kujitegemea), vipengele vya usanifu mdogo (kwa mfano, HT haikuwepo kwenye Intel® Core™ Duo, lakini ilirejeshwa na Nehalem kutolewa) na matukio ya mfumo (seva za vichakataji vingi zinaweza kuzima wasindikaji walioshindwa ikiwa makosa yanagunduliwa na kuendelea "kuruka" kwa wale waliobaki). Je! mbuga hii ya wanyama ya ngazi mbalimbali inaonekanaje kwa mfumo wa uendeshaji na, hatimaye, kwa programu tumizi?

Zaidi ya hayo, kwa urahisi, tunaashiria idadi ya wasindikaji, cores na nyuzi katika mfumo fulani na tatu ( x, y, z), wapi x ni idadi ya wasindikaji, y- idadi ya cores katika kila processor, na z- idadi ya hyperthreads katika kila msingi. Kuanzia sasa nitawaita watatu hawa topolojia- neno lililoanzishwa ambalo halihusiani kidogo na tawi la hisabati. Kazi uk = xyz inafafanua idadi ya huluki zilizoitwa wasindikaji wa mantiki mifumo. Inafafanua jumla ya idadi ya miktadha huru ya mchakato wa maombi katika mfumo na kumbukumbu iliyoshirikiwa kutekeleza kwa sambamba, ambayo mfumo wa uendeshaji unalazimika kuzingatia. Ninasema "kulazimishwa" kwa sababu haiwezi kudhibiti utaratibu wa utekelezaji wa michakato miwili kwenye wasindikaji tofauti wa kimantiki. Hii inatumika pia kwa hyperthreads: ingawa zinaendesha "mfululizo" kwenye msingi huo huo, mpangilio maalum unaamriwa na maunzi na hauwezi kuzingatiwa au kudhibitiwa na programu.

Mara nyingi, mfumo wa uendeshaji huficha kutoka kwa programu za mwisho vipengele vya topolojia ya kimwili ya mfumo ambao unaendesha. Kwa mfano, topolojia tatu zifuatazo: (2, 1, 1), (1, 2, 1) na (1, 1, 2) - OS itawakilisha wasindikaji wawili wa kimantiki, ingawa ya kwanza ina wasindikaji wawili. pili - cores mbili, na ya tatu - nyuzi mbili tu.


Kazi ya Windows Meneja anaonyesha wasindikaji 8 wa mantiki; lakini ni kiasi gani katika wasindikaji, cores na hyperthreads?


Linux top inaonyesha vichakataji 4 vya kimantiki.

Hii ni rahisi kabisa kwa waundaji wa programu - sio lazima washughulike na huduma za vifaa ambazo mara nyingi sio muhimu kwao.

Ufafanuzi wa programu ya topolojia

Bila shaka, kuondoa topolojia katika idadi moja ya vichakataji vya kimantiki katika baadhi ya matukio hujenga misingi ya kutosha ya kuchanganyikiwa na kutoelewana (katika mizozo mikali ya mtandao). Programu za kompyuta zinazotaka kubana utendakazi wa juu zaidi kutoka kwa maunzi zinahitaji udhibiti wa kina juu ya mahali ambapo nyuzi zao zitawekwa: karibu zaidi kwa herufi kubwa zilizo karibu au, kinyume chake, mbali zaidi. wasindikaji tofauti. Kasi ya mawasiliano kati ya wasindikaji wa mantiki ndani ya msingi sawa au processor ni kubwa zaidi kuliko kasi ya uhamisho wa data kati ya wasindikaji. Uwezekano wa heterogeneity katika shirika la kumbukumbu ya kufanya kazi pia inachanganya picha.

Taarifa kuhusu topolojia ya mfumo kwa ujumla, pamoja na nafasi ya kila processor ya kimantiki katika IA-32, inapatikana kwa kutumia maelekezo ya CPUID. Tangu ujio wa mifumo ya kwanza ya multiprocessor, mpango wa kitambulisho wa processor mantiki umepanuliwa mara kadhaa. Hadi sasa, sehemu zake ziko kwenye karatasi 1, 4 na 11 za CPUID. Je, ni laha gani la kutazama linaweza kubainishwa kutoka kwa chati ifuatayo iliyochukuliwa kutoka kwa kifungu:

Sitakuchosha hapa na maelezo yote ya sehemu za kibinafsi za algorithm hii. Ikiwa kuna maslahi, sehemu inayofuata ya makala hii inaweza kujitolea kwa hili. Nitamrejelea msomaji anayevutiwa, ambayo inachunguza suala hili kwa undani zaidi iwezekanavyo. Hapa kwanza nitaelezea kwa ufupi APIC ni nini na inahusiana vipi na topolojia. Ifuatayo tutaangalia kufanya kazi na laha 0xB (kumi na moja kwa desimali), ambalo kwa sasa ni neno la mwisho katika "apico-building".

Kitambulisho cha APIC
APIC ya ndani (kidhibiti cha hali ya juu cha kukatiza kinachoweza kupangwa) ni kifaa (sasa ni sehemu ya kichakataji) kinachohusika na kushughulikia ukatizaji unaokuja kwa kichakataji mahususi cha kimantiki. Kila kichakataji cha kimantiki kina APIC yake. Na kila mmoja wao kwenye mfumo lazima awe na thamani ya kipekee ya kitambulisho cha APIC. Nambari hii hutumiwa na vidhibiti vya kukatiza kwa kushughulikia wakati wa kuwasilisha ujumbe, na kila mtu mwingine (kwa mfano, mfumo wa uendeshaji) ili kutambua vichakataji mantiki. Vipimo vya kidhibiti hiki cha kukatiza vimebadilika kutoka Intel 8259 PIC kupitia Dual PIC, APIC na xAPIC hadi x2APIC.

Hivi sasa, upana wa nambari iliyohifadhiwa kwenye Kitambulisho cha APIC imefikia bits 32 kamili, ingawa hapo awali ilikuwa ndogo hadi 16, na hata mapema - bits 8 tu. Leo, masalio ya siku za zamani yametawanyika kote katika CPUID, lakini CPUID.0xB.EDX hurejesha biti zote 32 za Kitambulisho cha APIC. Kwenye kila kichakataji cha kimantiki kinachotekeleza maagizo ya CPUID kwa uhuru, thamani tofauti itarejeshwa.

Ufafanuzi wa mahusiano ya familia
Thamani ya kitambulisho cha APIC yenyewe haikuambii chochote kuhusu topolojia. Ili kujua ni wasindikaji gani wawili wa kimantiki walio ndani ya processor moja ya kimwili (yaani, ni "ndugu" hyperthreads), ambazo mbili ziko ndani ya processor sawa, na ni zipi ni wasindikaji tofauti kabisa, unahitaji kulinganisha maadili yao ya APIC ID. Kulingana na kiwango cha uhusiano, baadhi ya bits zao zitafanana. Maelezo haya yamo katika orodha ndogo za CPUID.0xB, ambazo hutumika na kusimba katika ECX. Kila mmoja wao anaelezea hali hiyo uwanja kidogo mojawapo ya viwango vya topolojia katika EAX (kwa usahihi zaidi, idadi ya biti zinazohitaji kuhamishiwa kulia kwenye Kitambulisho cha APIC ili kuondoa viwango vya chini topolojia), pamoja na aina ya safu hii - hyperthread, msingi au processor - katika ECX.

Vichakataji vya kimantiki vilivyo ndani ya msingi sawa vitakuwa na biti zote za ID za APIC, isipokuwa zile zinazomilikiwa na sehemu ya SMT. Kwa vichakataji vya kimantiki vilivyo katika kichakataji sawa, biti zote isipokuwa sehemu za Core na SMT. Kwa kuwa idadi ya laha ndogo za CPUID.0xB inaweza kuongezeka, mpango huu itaturuhusu kuunga mkono maelezo ya topolojia na idadi kubwa ya viwango, ikiwa hitaji litatokea katika siku zijazo. Zaidi ya hayo, itawezekana kuanzisha viwango vya kati kati ya zilizopo.

Matokeo muhimu ya shirika la mpango huu ni kwamba kunaweza kuwa na "mashimo" katika seti ya vitambulisho vyote vya APIC vya wasindikaji wote wa mantiki katika mfumo, i.e. hazitaenda kwa mfuatano. Kwa mfano, katika kichakataji cha msingi nyingi na HT imezimwa, Vitambulisho vyote vya APIC vinaweza kuwa sawa, kwa kuwa sehemu ndogo zaidi inayohusika na kusimba nambari ya hyperthread itakuwa sifuri kila wakati.

Ninaona kuwa CPUID.0xB sio chanzo pekee cha habari kuhusu wasindikaji wa mantiki wanaopatikana kwa mfumo wa uendeshaji. Orodha ya vichakataji vyote vinavyopatikana kwake, pamoja na thamani zao za Kitambulisho cha APIC, imesimbwa kwenye jedwali la MADT ACPI.

Mifumo ya uendeshaji na topolojia

Mifumo ya uendeshaji hutoa taarifa kuhusu topolojia ya vichakataji vya kimantiki kwa programu zinazotumia miingiliano yao wenyewe.

Kwenye Linux, maelezo ya topolojia yamo katika /proc/cpuinfo pseudofile pamoja na matokeo ya amri ya dmidecode. Katika mfano hapa chini, ninachuja yaliyomo kwenye cpuinfo kwenye mfumo fulani wa quad-core bila HT, nikiacha maingizo tu yanayohusiana na topolojia:

Maandishi yaliyofichwa

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "processor\|physical\ id\|siblings\|core\|cores\|apicid" processor: 0 id kimwili: 0 ndugu: 4 msingi id: 0 cpu cores: 2 apicid: 0 apicid ya awali: 0 processor: 1 kitambulisho halisi: 0 ndugu: 4 id msingi: 0 cpu cores: 2 apicid: 1 apicid ya awali: 1 processor: 2 id kimwili: 0 ndugu: 4 msingi id: 1 cpu cores: Apicid 2: Apicid 2 za awali: Kichakataji 2: kitambulisho 3 cha kimwili: ndugu 0: kitambulisho kikuu 4: Cores 1 za cpu: 2 apicid: 3 apicid ya awali: 3

Kwenye FreeBSD, topolojia inaripotiwa kupitia utaratibu wa sysctl katika kigezo cha kern.sched.topology_spec kama XML:

Maandishi yaliyofichwa

user@host:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 Kikundi cha THREADKikundi cha SMT 2, 3 Kikundi cha THREADKikundi cha SMT 4, 5 Kikundi cha THREADKikundi cha SMT 6, 7 Kikundi cha THREADKikundi cha SMT

Katika MS Windows 8, maelezo ya topolojia yanaweza kuonekana kwenye meneja wa kazi Meneja wa Kazi.

Utangulizi.

Prosesa ya kisasa ni ngumu na ya kiufundi sana kifaa mantiki, ambayo inajumuisha maendeleo yote ya hivi punde kwenye uwanja teknolojia ya kompyuta na nyanja zinazohusiana za sayansi.

Wasindikaji wengi wa kisasa ni pamoja na:

  • cores moja au zaidi ambayo hutekeleza maagizo yote;
  • ngazi kadhaa za kumbukumbu ya cache (kawaida ngazi 2 au tatu), kuongeza kasi ya mwingiliano wa processor na RAM;
  • Mdhibiti wa RAM;
  • mtawala basi ya mfumo(DMI, QPI, HT, nk);

Na ni sifa vigezo vifuatavyo:

  • aina ya usanifu mdogo;
  • mzunguko wa saa;
  • seti ya amri zinazopaswa kutekelezwa;
  • idadi ya viwango vya kumbukumbu ya cache na kiasi chao;
  • aina ya basi ya mfumo na kasi;
  • ukubwa wa maneno yaliyosindika;
  • uwepo au kutokuwepo kwa mtawala wa kumbukumbu iliyojengwa;
  • aina ya RAM inayoungwa mkono;
  • kiasi cha kumbukumbu kinachoweza kushughulikiwa;
  • uwepo au kutokuwepo kwa msingi wa graphics uliojengwa;
  • matumizi ya nishati.

Imerahisishwa mpango wa muundo Kichakataji cha kisasa cha msingi nyingi kinaonyeshwa kwenye Mchoro 1.

Wacha tuanze ukaguzi wetu wa muundo wa processor na sehemu yake kuu - msingi.

Msingi wa processor ni sehemu yake kuu, iliyo na vitalu vyote vya kazi na kufanya shughuli zote za mantiki na hesabu.

Mchoro wa 1 unaonyesha mchoro wa kuzuia wa msingi wa processor. Kama inavyoonekana kwenye takwimu, kila msingi wa processor una vizuizi kadhaa vya kufanya kazi:

  • kizuizi cha kuchota maagizo;
  • vitalu vya kusimbua maagizo;
  • vitalu vya sampuli za data;
  • kitengo cha kudhibiti;
  • vitalu vya utekelezaji wa maagizo;
  • vitalu kwa matokeo ya kuokoa;
  • kizuizi cha kazi na usumbufu;
  • ROM iliyo na microcode;
  • seti ya rejista;
  • programu counter.

Kizuizi cha kuleta maagizo inasoma maagizo kwenye anwani iliyoainishwa kwenye kaunta ya programu. Kwa kawaida, inasoma maagizo kadhaa kwa mzunguko wa saa. Idadi ya maagizo ya kusoma imedhamiriwa na idadi ya vitalu vya decoding, kwani ni muhimu kupakia vitalu vya decoding iwezekanavyo katika kila mzunguko wa uendeshaji. Ili kitengo cha kuleta maagizo kifanye kazi ipasavyo, msingi wa kichakataji una kitabiri cha tawi.

Kitabiri cha mpito majaribio ya kuamua ni mlolongo gani wa amri utatekelezwa baada ya mpito kufanywa. Hii ni muhimu ili kupakia bomba la msingi la processor iwezekanavyo baada ya kuruka kwa masharti.

Vitalu vya kusimbua, kama jina linamaanisha, ni vizuizi vinavyohusika na maagizo ya kusimbua, i.e. kuamua ni nini kichakataji kinahitaji kufanya na ni data gani ya ziada inahitajika kutekeleza maagizo. Kazi hii ni ngumu sana kwa wasindikaji wengi wa kisasa wa kibiashara waliojengwa kwenye dhana ya CISC. Ukweli ni kwamba urefu wa maagizo na idadi ya operesheni hazijasanikishwa, na hii inachanganya sana maisha ya watengenezaji wa processor na hufanya mchakato wa kusimbua. kazi isiyo ya kawaida.



Mara nyingi amri ngumu za mtu binafsi zinapaswa kubadilishwa na microcode - mfululizo maelekezo rahisi, kwa pamoja wakifanya kitendo sawa na maagizo moja changamano. Seti ya msimbo mdogo imeangaziwa kwenye ROM iliyojengwa ndani ya kichakataji. Kwa kuongeza, microcode hurahisisha maendeleo ya processor, kwani hakuna haja ya kuunda vitalu vya kernel ngumu kutekeleza amri za mtu binafsi, na kurekebisha microcode ni rahisi zaidi kuliko kurekebisha kosa katika utendaji wa block.

KATIKA wasindikaji wa kisasa, kwa kawaida kuna vitengo 2-4 vya uundaji wa maagizo, kwa mfano, katika wasindikaji Intel Core 2, kila msingi una vizuizi viwili kama hivyo.

Vizuizi vya sampuli za data kuchota data kutoka kwa kumbukumbu ya kache au RAM muhimu ili kutekeleza maagizo ya sasa. Kawaida kila msingi wa processor ina vizuizi kadhaa vya sampuli za data. Kwa mfano, wasindikaji wa Intel Core hutumia sampuli mbili za data kwa kila msingi.

Kizuizi cha kudhibiti Kulingana na maagizo yaliyowekwa, inadhibiti uendeshaji wa vitalu vya utekelezaji wa maagizo, inasambaza mzigo kati yao, na inahakikisha utekelezaji wa maagizo kwa wakati na sahihi. Hii ni moja ya vitalu muhimu zaidi vya msingi wa processor.

Vitalu vya utekelezaji wa maagizo ni pamoja na aina kadhaa tofauti za vitalu:

ALU - kitengo cha mantiki ya hesabu;

FPU - kifaa cha kufanya shughuli za kuelea;

Vitalu kwa ajili ya usindikaji maelekezo kuweka upanuzi. Maagizo ya Ziada hutumika kuharakisha usindikaji wa mitiririko ya data, usimbaji fiche na usimbuaji, usimbaji video na kadhalika. Kwa kufanya hivyo, rejista za ziada na seti za mantiki huletwa kwenye msingi wa processor. Washa wakati huu Viendelezi maarufu zaidi kwa seti za maagizo ni:

MMX (Viendelezi vya Multimedia) ni seti ya maagizo iliyotengenezwa na kutoka kwa Intel, kuharakisha usimbuaji na usanifu wa utiririshaji wa data ya sauti na video;

SSE (Viendelezi vya Utiririshaji wa SIMD) ni seti ya maagizo iliyotengenezwa na Intel kutekeleza mlolongo sawa wa shughuli kwenye seti ya data huku ikilinganisha mchakato wa kompyuta. Seti za amri zinaendelea kuboreshwa, na kwa sasa kuna marekebisho: SSE, SSE2, SSE3, SSSE3, SSE4;

ATA (Application Targeted Accelerator) ni seti ya maagizo iliyotengenezwa na Intel ili kuharakisha kazi ya wataalamu. programu na kupunguza matumizi ya nishati wakati wa kufanya kazi na programu hizo. Maagizo haya yanaweza kutumika, kwa mfano, wakati wa kuhesabu hundi au kurejesha data;

3DNow ni maagizo yaliyotengenezwa na AMD ili kupanua uwezo wa seti ya maagizo ya MMX;

AES (Advanced Encryption Standard) ni seti ya maagizo yaliyotengenezwa na Intel ili kuharakisha utendakazi wa programu zinazotumia usimbaji data kwa kutumia algoriti sawa.

Kizuizi cha kuokoa matokeo inahakikisha kuwa matokeo ya utekelezaji wa maagizo yanarekodiwa kwenye RAM kwenye anwani iliyoainishwa katika maagizo yanayochakatwa.

Kataza kizuizi. Kufanya kazi na kukatizwa ni moja ya kazi muhimu zaidi processor, ikiruhusu kujibu kwa wakati kwa matukio, kukatiza maendeleo ya programu na kufanya vitendo vinavyohitajika kwake. Shukrani kwa uwepo wa usumbufu, processor ina uwezo wa operesheni ya pseudo-sambamba, i.e. kwa kile kinachoitwa multitasking.

Ukatizaji unashughulikiwa kama ifuatavyo. Kichakataji hukagua ombi la kukatiza kabla ya kuanza kila mzunguko. Ikiwa kuna usumbufu wa kuchakata, processor huhifadhi kwenye stack anwani ya maagizo ambayo ilipaswa kutekeleza na data iliyopokelewa baada ya utekelezaji. maagizo ya mwisho, na kuendelea kutekeleza kitendakazi cha kushughulikia kukatiza.

Baada ya kazi ya usindikaji wa kukatiza kumaliza kutekeleza, data iliyohifadhiwa juu yake inasomwa kutoka kwa rafu, na kichakataji kinaanza tena kutekeleza kazi iliyorejeshwa.

Rejesta- RAM ya haraka sana (ufikiaji wa rejista mara kadhaa ufikiaji wa haraka kwa kumbukumbu ya cache) ya kiasi kidogo (byte mia kadhaa), iliyojumuishwa kwenye processor, kwa uhifadhi wa muda matokeo ya kati kufuata maelekezo. Rejesta za processor zimegawanywa katika aina mbili: rejista za madhumuni ya jumla na rejista maalum.

Rejesta za madhumuni ya jumla hutumiwa wakati wa kufanya hesabu na shughuli za kimantiki, au shughuli maalum seti za ziada maagizo (MMX, SSE, nk).

Rejesta kusudi maalum vyenye data ya mfumo muhimu kwa processor kufanya kazi. Rejesta hizo ni pamoja na, kwa mfano, rejista za udhibiti, rejista za anwani za mfumo, rejista za utatuzi, nk. Upatikanaji wa rejista hizi umewekwa madhubuti.

Kaunta ya programu- rejista iliyo na anwani ya maagizo ambayo processor itaanza kutekeleza katika mzunguko wa saa unaofuata.