Procesoriaus veikimo kontrolė. Centrinis procesorius ir jo įrenginys

Jūs skaitote šias eilutes iš išmaniojo telefono, planšetinio kompiuterio ar kompiuterio. Bet kuris iš šių įrenginių yra pagrįstas mikroprocesoriumi. Mikroprocesorius yra bet kurio kompiuterio įrenginio „širdis“. Yra daugybė mikroprocesorių tipų, tačiau jie visi sprendžia tas pačias problemas. Šiandien kalbėsime apie tai, kaip veikia procesorius ir kokias užduotis jis atlieka. Iš pirmo žvilgsnio visa tai atrodo akivaizdu. Tačiau daugeliui vartotojų būtų įdomu pagilinti žinias apie svarbiausią komponentą, dėl kurio kompiuteris veikia. Sužinosime, kaip paprasta skaitmenine logika paremtos technologijos leidžia jūsų kompiuteriui ne tik spręsti matematikos uždavinius, bet ir būti pramogų centru. Kaip tik du skaičiai – vienas ir nulis – virsta spalvingais žaidimais ir filmais? Daugelis žmonių ne kartą uždavė sau šį klausimą ir džiaugsis gavę atsakymą. Galų gale, net mūsų naujausio AMD Jaguar procesoriaus, kurio pagrindu sukurtos naujausios žaidimų konsolės, esmė slypi ta pati senovinė logika.

Anglų kalbos literatūroje mikroprocesorius dažnai vadinamas CPU (centrinis procesorius, [vienas] centrinio procesoriaus modulis). Šio pavadinimo priežastis yra ta, kad šiuolaikinis procesorius yra vienas lustas. Pirmąjį mikroprocesorių žmonijos istorijoje sukūrė Intel Corporation dar 1971 m.

„Intel“ vaidmuo mikroprocesorių pramonės istorijoje


Kalbame apie modelį Intel 4004. Jis nebuvo galingas ir galėjo atlikti tik sudėjimo ir atimties operacijas. Vienu metu jis galėjo apdoroti tik keturis informacijos bitus (ty buvo 4 bitų). Tačiau savo laikui jo pasirodymas buvo reikšmingas įvykis. Juk visas procesorius telpa į vieną lustą. Iki Intel 4004 kompiuteriai buvo paremti visu lustų arba atskirų komponentų (tranzistorių) rinkiniu. 4004 mikroprocesorius sudarė vieno iš pirmųjų nešiojamųjų skaičiuotuvų pagrindą.

Pirmasis namų kompiuterių mikroprocesorius buvo Intel 8080, pristatytas 1974 m. Visa 8 bitų kompiuterio apdorojimo galia buvo talpinama viename luste. Tačiau tikrai labai svarbus buvo pranešimas apie procesorių Intel 8088. Jis pasirodė 1979 m., o nuo 1981 m. pradėtas naudoti pirmuosiuose masinės gamybos asmeniniuose kompiuteriuose – IBM PC.

Tada procesoriai pradėjo tobulėti ir tapo galingesni. Kas bent šiek tiek yra susipažinęs su mikroprocesorių pramonės istorija, prisimena, kad 8088 buvo pakeistas 80286. Tada atsirado 80386, po to 80486. Tada buvo kelios Pentium kartos: Pentium, Pentium II, III ir Pentium 4. Visa tai Intel procesoriai, pagrįsti pagrindiniu 8088 dizainu. Jie buvo suderinami atgal. Tai reiškia, kad „Pentium 4“ galėjo apdoroti bet kokį 8088 kodo fragmentą, tačiau tai padarė maždaug penkis tūkstančius kartų didesniu greičiu. Nuo to laiko nepraėjo daug metų, tačiau pasikeitė dar kelios mikroprocesorių kartos.


Nuo 2004 m. „Intel“ pradėjo siūlyti kelių branduolių procesorius. Juose naudojamų tranzistorių skaičius išaugo milijonais. Tačiau net ir dabar procesorius paklūsta bendroms taisyklėms, kurios buvo sukurtos ankstyviesiems lustams. Lentelėje atsispindi Intel mikroprocesorių istorija iki 2004 metų (imtinai). Pateiksime keletą paaiškinimų, ką reiškia jame atspindėti rodikliai:
  • Vardas. Procesoriaus modelis
  • Data. Metai, kuriais pirmą kartą buvo pristatytas procesorius. Daugelis procesorių buvo pristatyti kelis kartus, kiekvieną kartą didinant jų laikrodžio greitį. Taigi apie kitą lusto modifikaciją galima būtų paskelbti net praėjus keleriems metams po pirmosios jo versijos pasirodymo rinkoje.
  • Tranzistoriai (tranzistorių skaičius). Tranzistorių skaičius mikroschemoje. Matote, kad šis skaičius nuolat auga
  • Mikronai (plotis mikronais). Vienas mikronas yra lygus vienai milijoninei metro daliai. Šio rodiklio reikšmę lemia ploniausios vielos lustoje storis. Palyginimui, žmogaus plauko storis yra 100 mikronų
  • Laikrodžio greitis. Maksimalus procesoriaus greitis
  • Duomenų plotis. Procesoriaus aritmetinio-loginio vieneto (ALU) „bitų talpa“. 8 bitų ALU gali sudėti, atimti, dauginti ir atlikti kitas operacijas su dviem 8 bitų skaičiais. 32 bitų ALU gali apdoroti 32 bitų skaičius. Norint pridėti du 32 bitų skaičius, aštuonių bitų ALU turi vykdyti keturias komandas. 32 bitų ALU gali atlikti šią užduotį vienoje instrukcijoje. Daugeliu (bet ne visais) atvejų išorinės duomenų magistralės plotis sutampa su ALU „bitų skaičiumi“. 8088 procesorius turėjo 16 bitų ALU, bet 8 bitų magistralę. Vėlesniems „Pentiums“ tipiška situacija buvo tada, kai magistralė jau buvo 64 bitų, bet ALU vis dar buvo 32 bitų
  • MIPS (milijonas instrukcijų per sekundę). Leidžia apytiksliai įvertinti procesoriaus našumą. Šiuolaikiniai atlieka tiek daug skirtingų užduočių, kad šis indikatorius prarado savo pirminę reikšmę ir gali būti naudojamas daugiausia palyginti kelių procesorių skaičiavimo galią (kaip šioje lentelėje).

Yra tiesioginis ryšys tarp laikrodžio greičio, taip pat tranzistorių skaičiaus ir procesoriaus per sekundę atliekamų operacijų skaičiaus. Pavyzdžiui, 8088 procesoriaus taktinis dažnis siekė 5 MHz, o našumas: tik 0,33 milijono operacijų per sekundę. Tai reiškia, kad vienai komandai įvykdyti prireikė maždaug 15 procesoriaus ciklų. 2004 m. procesoriai jau galėjo vykdyti dvi komandas per laikrodžio ciklą. Šis patobulinimas buvo pasiektas padidinus procesorių skaičių luste.

Lustas dar vadinamas integriniu grandynu (arba tiesiog integriniu grandynu). Dažniausiai tai yra maža ir plona silicio plokštelė, į kurią „įspausti“ tranzistoriai. Luste, kurio šonas siekia du su puse centimetro, gali būti dešimtys milijonų tranzistorių. Paprasčiausi procesoriai gali būti kvadratiniai, kurių kraštinė siekia vos kelis milimetrus. Ir tokio dydžio pakanka keliems tūkstančiams tranzistorių.

Mikroprocesorinė logika


Norėdami suprasti, kaip veikia mikroprocesorius, turėtumėte išstudijuoti logiką, kuria jis pagrįstas, taip pat susipažinti su surinkimo kalba. Tai yra gimtoji mikroprocesoriaus kalba.

Mikroprocesorius gali vykdyti tam tikrą mašinos instrukcijų (komandų) rinkinį. Naudodamas šias komandas, procesorius atlieka tris pagrindines užduotis:

  • Naudodamas savo aritmetinį-loginį vienetą, procesorius atlieka matematines operacijas: sudėtį, atimtį, daugybą ir padalijimą. Šiuolaikiniai mikroprocesoriai visiškai palaiko slankiojo kablelio operacijas (naudojant specialų slankiojo kablelio aritmetinį procesorių)
  • Mikroprocesorius gali perkelti duomenis iš vieno tipo atminties į kitą
  • Mikroprocesorius turi galimybę priimti sprendimą ir, remdamasis priimtu sprendimu, „peršokti“, tai yra, pereiti prie naujo instrukcijų rinkinio vykdymo.

Mikroprocesoriuje yra:

  • Adresų autobusas. Šios magistralės plotis gali būti 8, 16 arba 32 bitai. Ji užsiima adreso siuntimu į atmintį
  • Duomenų magistralė: 8, 16, 32 arba 64 bitų pločio. Ši magistralė gali siųsti duomenis į atmintį arba priimti duomenis iš atminties. Kai jie kalba apie procesoriaus „bitų talpą“, mes kalbame apie duomenų magistralės plotį
  • RD (skaitymo) ir WR (rašymo) kanalai, užtikrinantys sąveiką su atmintimi
  • Laikrodžio linija (laikrodžio impulsų magistralė), užtikrinanti procesoriaus laikrodžio ciklus
  • Reset linija (ištrynimo magistralė, atstatymo magistralė), kuri iš naujo nustato programos skaitiklį ir iš naujo paleidžia komandų vykdymą

Kadangi informacija yra gana sudėtinga, manysime, kad abiejų magistralių - adreso ir duomenų magistralių - plotis yra tik 8 bitai. Trumpai pažvelkime į šio gana paprasto mikroprocesoriaus komponentus:

  • Registrai A, B ir C yra loginiai lustai, naudojami tarpiniam duomenų saugojimui
  • Adreso fiksatorius yra panašus į A, B ir C registrus
  • Programos skaitiklis yra loginis lustas (fiksatorius), galintis padidinti reikšmę vienu vienu žingsniu (jei jis gauna atitinkamą komandą) ir nulinę reikšmę (jei bus gauta atitinkama komanda).
  • ALU (aritmetinis loginis vienetas) gali atlikti sudėties, atimties, daugybos ir dalybos operacijas tarp 8 bitų skaičių arba veikti kaip įprastas sumatorius
  • Testavimo registras yra specialus fiksatorius, kuriame saugomi ALU atliktų palyginimo operacijų rezultatai. Paprastai ALU lygina du skaičius ir nustato, ar jie yra lygūs, ar vienas didesnis už kitą. Bandymo registras taip pat gali saugoti paskutinio sumatoriaus veiksmo bitą. Jis saugo šias reikšmes flip-flop grandinėje. Šias reikšmes vėliau gali naudoti komandų dekoderis, priimdamas sprendimus
  • Šeši blokai diagramoje pažymėti „3 būsenų“. Tai yra rūšiavimo buferiai. Prie laido galima prijungti kelis išvesties šaltinius, tačiau rūšiavimo buferis leidžia tik vienam iš jų (vienu metu) perduoti reikšmę: "0" arba "1". Taigi, rūšiavimo buferis gali praleisti reikšmes arba blokuoti išvesties šaltinį nuo duomenų perdavimo
  • Instrukcijų registras ir komandų dekoderis kontroliuoja visus aukščiau nurodytus komponentus

Šioje diagramoje nerodomos komandų dekoderio valdymo linijos, kurios gali būti išreikštos tokiais „užsakymais“:

  • "Regitras A priima reikšmę, šiuo metu gaunamą iš duomenų magistralės"
  • „B registras priima reikšmę, šiuo metu gaunamą iš duomenų magistralės“
  • „C registras priima reikšmę, šiuo metu gaunamą iš aritmetinio loginio vieneto“
  • "Programos skaitiklio registras paima vertę, kuri šiuo metu gaunama iš duomenų magistralės"
  • „Adresų registras, kad priimtų reikšmę, šiuo metu gaunamą iš duomenų magistralės“
  • "Komandų registras priima reikšmę, šiuo metu gaunamą iš duomenų magistralės"
  • „Padidinkite programos skaitiklio vertę [vienu]“
  • „Komandų skaitiklis bus iš naujo nustatytas į nulį“
  • „Suaktyvinti vieną iš šešių rūšiavimo buferių“ (šešios atskiros valdymo eilutės)
  • "Pasakykite aritmetiniam loginiam vienetui, kokią operaciją jis turėtų atlikti."
  • „Test registras priima bandomuosius bitus iš ALU“
  • „Suaktyvinti RD (skaitymo kanalą)“
  • „Activate WR (įrašymo kanalas)“

Komandų dekoderis gauna duomenų bitus iš testavimo registro, sinchronizacijos kanalo, taip pat iš komandų registro. Jei kiek įmanoma supaprastinsime instrukcijų dekoderio užduočių aprašymą, tai galime teigti, kad būtent šis modulis procesoriui „pasako“, ką šiuo metu reikia padaryti.

Mikroprocesorinė atmintis


Susipažinimas su informacija, susijusia su kompiuterio atmintimi ir jos hierarchija, padės geriau suprasti šio skyriaus turinį.

Aukščiau rašėme apie magistrales (adresas ir duomenys), taip pat skaitymo (RD) ir rašymo (WR) kanalus. Šios magistralės ir kanalai yra prijungti prie atminties: laisvosios kreipties atminties (RAM) ir tik skaitymo atminties (ROM). Mūsų pavyzdyje nagrinėjame mikroprocesorių, kurio kiekvienos magistralės plotis yra 8 bitai. Tai reiškia, kad jis gali adresuoti 256 baitus (nuo dviejų iki aštuntos laipsnio). Jis vienu metu gali nuskaityti arba įrašyti 8 bitus duomenų iš atminties. Tarkime, kad šis paprastas mikroprocesorius turi 128 baitus ROM (pradedant adresu 0) arba 128 baitus RAM (pradedant adresu 128).

Tik skaitymo atminties modulyje yra tam tikras iš anksto nustatytas nuolatinis baitų rinkinys. Adresų magistralė reikalauja, kad konkretus baitas iš ROM būtų perkeltas į duomenų magistralę. Kai skaitymo kanalas (RD) pakeičia būseną, ROM modulis tiekia prašomą baitą į duomenų magistralę. Tai yra, šiuo atveju galima tik nuskaityti duomenis.

Procesorius gali ne tik nuskaityti informaciją iš RAM, bet ir įrašyti į ją duomenis. Priklausomai nuo to, ar vykdomas skaitymas ar rašymas, signalas patenka į skaitymo kanalą (RD) arba į rašymo kanalą (WR). Deja, RAM yra nepastovi. Išjungus maitinimą, jis praranda visus jame saugomus duomenis. Dėl šios priežasties kompiuteriui reikia nuolatinio tik skaitymo saugojimo įrenginio.

Be to, teoriškai kompiuteris gali apsieiti ir be RAM. Daugelis mikrovaldiklių leidžia būtinus duomenų baitus patalpinti tiesiai į procesoriaus lustą. Tačiau be ROM tai neįmanoma. Asmeniniuose kompiuteriuose ROM vadinama pagrindine įvesties ir išvesties sistema (BIOS, Basic Input/Output System). Paleidus, mikroprocesorius pradeda savo darbą vykdydamas komandas, kurias rado BIOS.

BIOS komandos atlieka kompiuterio aparatinės įrangos testus, tada pasiekia standųjį diską ir pasirenka įkrovos sektorių. Šis įkrovos sektorius yra atskira maža programa, kurią BIOS pirmiausia nuskaito iš disko ir tada įdeda į RAM. Po to mikroprocesorius pradeda vykdyti komandas iš įkrovos sektoriaus, esančio RAM. Įkrovos sektoriaus programa nurodo mikroprocesoriui, kokius duomenis (kuriuos vėliau procesorius turi vykdyti) reikia papildomai perkelti iš standžiojo disko į RAM. Taip procesorius įkelia operacinę sistemą.

Mikroprocesoriaus instrukcijos


Netgi paprasčiausias mikroprocesorius gali apdoroti gana didelį instrukcijų rinkinį. Instrukcijų rinkinys yra tam tikras šablonas. Kiekviena iš šių į komandų registrą įkeltų instrukcijų turi savo reikšmę. Žmonėms nelengva įsiminti bitų seką, todėl kiekviena instrukcija apibūdinama kaip trumpas žodis, kurio kiekvienas reiškia tam tikrą komandą. Šie žodžiai sudaro procesoriaus surinkimo kalbą. Asembleris išverčia šiuos žodžius į dvejetainio kodo kalbą, kurią procesorius gali suprasti.

Čia yra įprasto paprasto procesoriaus surinkimo kalbos komandų žodžių sąrašas, kurį laikome savo istorijos pavyzdžiu:

  • LOADA mem — įkelti registrą A iš tam tikro atminties adreso
  • LOADB atmintis — įkelti B registrą iš tam tikro atminties adreso
  • CONB con — įkelkite pastovią reikšmę į B registrą
  • SAVEB atmintis — išsaugokite registro B reikšmę atmintyje konkrečiu adresu
  • SAVEC atmintis – išsaugokite registro C reikšmę atmintyje konkrečiu adresu
  • ADD – pridėkite (pridėkite) registrų A ir B reikšmes. Išsaugokite veiksmo rezultatą C registre
  • SUB – iš registro A vertės atimkite B registro vertę. Išsaugokite veiksmo rezultatą C registre
  • MUL – padauginkite A ir B registrų reikšmes. Išsaugokite veiksmo rezultatą C registre
  • DIV – padalykite A registro vertę iš registro B vertės. Išsaugokite veiksmo rezultatą C registre
  • COM - Palyginkite A ir B registrų reikšmes. Perkelkite rezultatą į bandymo registrą
  • JUMP addr – peršokti į nurodytą adresą
  • JEQ adr - jei tenkinama dviejų registrų reikšmių lygybės sąlyga, pereikite prie nurodyto adreso
  • JNEQ adresas – jei netenkinama dviejų registrų vienodų verčių sąlyga, pereikite prie nurodyto adreso
  • JG addr – jei reikšmė didesnė, pereikite prie nurodyto adreso
  • JGE addr – jei reikšmė didesnė arba lygi, pereikite prie nurodyto adreso
  • JL addr – jei reikšmė mažesnė, pereikite prie nurodyto adreso
  • JLE addr – jei reikšmė mažesnė arba lygi, pereikite prie nurodyto adreso
  • STOP – sustabdyti vykdymą

Angliški žodžiai, žymintys atliktus veiksmus, pateikiami skliausteliuose dėl priežasties. Taigi matome, kad asamblėjos kalba (kaip ir daugelis kitų programavimo kalbų) yra paremta anglų kalba, tai yra įprastomis komunikacijos priemonėmis tų žmonių, kurie kūrė skaitmenines technologijas.

Mikroprocesoriaus veikimas naudojant faktorinio skaičiavimo pavyzdį


Panagrinėkime mikroprocesoriaus veikimą naudodami konkretų paprastos programos, apskaičiuojančios skaičiaus „5“ faktorialą, vykdymo pavyzdį. Pirmiausia išspręskime šią problemą „užrašų knygelėje“:

koeficientas iš 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120

C programavimo kalba ši kodo dalis, atliekanti šį skaičiavimą, atrodytų taip:

A=1;f=1;o (a

Kai ši programa bus baigta, kintamajame f bus penkių faktorialo reikšmė.

C kompiliatorius verčia (ty išverčia) šį kodą į surinkimo kalbos instrukcijų rinkinį. Mūsų svarstomame procesoriuje RAM prasideda adresu 128, o nuolatinė atmintis (kuriame yra surinkimo kalba) prasideda adresu 0. Todėl šio procesoriaus kalba ši programa atrodys taip:

// Tarkime, kad a yra adresu 128 // Tarkime, kad F yra adresu 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // jei a > 5 šuolis iki 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816/7JUMP atgal į if 4816/7JUMP

Dabar kyla kitas klausimas: kaip visos šios komandos atrodo nuolatinėje atmintyje? Kiekviena iš šių instrukcijų turi būti pateikta kaip dvejetainis skaičius. Kad būtų lengviau suprasti medžiagą, manysime, kad kiekviena svarstomo procesoriaus surinkimo kalbos komanda turi unikalų numerį:

  • KROVIMAS – 1
  • LOADB – 2
  • CONB – 3
  • SAVEB - 4
  • SAVEC atmintis - 5
  • PRIDĖTI – 6
  • SUB - 7
  • MUL - 8
  • DIV – 9
  • COM – 10
  • JUMP adr - 11
  • JEQ adresas - 12
  • JNEQ adresas - 13
  • JG adresas - 14
  • JGE adresas – 15
  • JL adresas - 16
  • JLE adresas - 17
  • STOP - 18

// Tarkime, kad a yra adresu 128 // Tarkime, kad F yra adresu 129Addr mašinos instrukcija/vertė0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 15 16 4 // SAVEB 12981 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // 1/29 SUL20EC //1/29 SUL20EC ADA 12823 12 824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Kaip pastebėsite, septynios C kodo eilutės buvo konvertuotos į 18 surinkimo kalbos eilučių. Jie užėmė 32 baitus ROM.

Dekodavimas


Pokalbį apie dekodavimą teks pradėti nuo filologinių klausimų svarstymo. Deja, ne visi kompiuterių terminai atitinka individualų susirašinėjimą rusų kalba. Terminų vertimas dažnai įvyko spontaniškai, todėl tą patį anglišką terminą į rusų kalbą galima išversti keliais būdais. Taip atsitiko su svarbiausiu mikroprocesorinės logikos „instrukcijų dekoderio“ komponentu. Kompiuterių ekspertai jį vadina ir komandų dekoderiu, ir instrukcijų dekoderiu. Nė vienas iš šių pavadinimo variantų negali būti vadinamas daugiau ar mažiau „teisingu“ nei kitas.

Instrukcijų dekoderis reikalingas kiekvienam mašinos kodui paversti signalų rinkiniu, kuris valdo įvairius mikroprocesoriaus komponentus. Jei supaprastinsime jo veiksmų esmę, galime pasakyti, kad jis yra tas, kuris koordinuoja „programinę įrangą“ ir „aparatinę įrangą“.

Pažvelkime į komandų dekoderio veikimą naudodami ADD instrukcijos, kuri atlieka papildymo veiksmą, pavyzdį:

  • Pirmojo procesoriaus laikrodžio ciklo metu įkeliama instrukcija. Šiuo metu komandų dekoderis turi: aktyvuoti programos skaitiklio rūšiavimo buferį; aktyvuoti skaitymo kanalą (RD); suaktyvinkite rūšiavimo buferio fiksatorių, kad įvesties duomenys būtų perduoti į komandų registrą
  • Antrojo procesoriaus laikrodžio ciklo metu ADD instrukcija iššifruojama. Šiame etape aritmetinis loginis vienetas atlieka sudėjimą ir perkelia reikšmę į registrą C
  • Per trečiąjį procesoriaus laikrodžio dažnio ciklą programos skaitiklis padidina savo vertę vienu (teoriškai šis veiksmas sutampa su tuo, kas įvyko antrojo ciklo metu)

Kiekviena instrukcija gali būti pavaizduota kaip nuosekliai vykdomų operacijų, kurios tam tikra tvarka manipuliuoja mikroprocesoriaus komponentais, rinkinys. Tai reiškia, kad programinės įrangos instrukcijos lemia visiškai fizinius pokyčius: pavyzdžiui, keičiant skląsčio padėtį. Kai kurioms instrukcijoms vykdyti gali prireikti dviejų ar trijų procesoriaus laikrodžio ciklų. Kitiems gali prireikti net penkių ar šešių ciklų.

Mikroprocesoriai: našumas ir tendencijos


Procesoriaus tranzistorių skaičius yra svarbus veiksnys, turintis įtakos jo veikimui. Kaip parodyta anksčiau, 8088 procesoriui reikėjo 15 laikrodžio ciklų, kad įvykdytų vieną komandą. O vienai 16 bitų operacijai atlikti prireikė apie 80 ciklų. Taip buvo sukurtas šio procesoriaus ALU daugiklis. Kuo daugiau tranzistorių ir galingesnis ALU daugiklis, tuo daugiau procesorius gali padaryti per vieną laikrodžio ciklą.

Daugelis tranzistorių palaiko vamzdynų technologiją. Dujotiekio architektūros rėmuose vykdomosios instrukcijos iš dalies sutampa viena su kita. Instrukcijai vykdyti gali prireikti tų pačių penkių ciklų, tačiau jei procesorius vienu metu apdoroja penkias instrukcijas (skirtinguose užbaigimo etapuose), tada vienai komandai įvykdyti vidutiniškai reikės vieno procesoriaus laikrodžio ciklo.

Daugelis šiuolaikinių procesorių turi daugiau nei vieną komandų dekoderį. Ir kiekvienas iš jų palaiko vamzdyną. Tai leidžia viename procesoriaus cikle įvykdyti daugiau nei vieną komandą. Šiai technologijai įgyvendinti reikia neįtikėtinai daug tranzistorių.

64 bitų procesoriai


Nors 64 bitų procesoriai paplito tik prieš keletą metų, jie gyvuoja gana ilgą laiką: nuo 1992 m. Šiuo metu tokius procesorius siūlo tiek „Intel“, tiek „AMD“. 64 bitų procesoriumi galima laikyti 64 bitų aritmetinį loginį bloką (ALU), 64 bitų registrus ir 64 bitų magistrales.

Pagrindinė priežastis, dėl kurios procesoriams reikia 64 bitų, yra ta, kad architektūra išplečia adresų erdvę. 32 bitų procesoriai gali pasiekti tik du ar keturis gigabaitus RAM. Kadaise šie skaičiai atrodė milžiniški, tačiau metai praėjo ir šiandien toks prisiminimas nieko nebestebins. Prieš keletą metų įprasto kompiuterio atmintis buvo 256 arba 512 megabaitų. Tais laikais keturių gigabaitų limitas vargino tik serverius ir mašinas, kuriose veikia didelės duomenų bazės.

Tačiau greitai paaiškėjo, kad net paprastiems vartotojams kartais pritrūksta dviejų ar net keturių gigabaitų RAM. Šis erzinantis apribojimas netaikomas 64 bitų procesoriams. Šiais laikais jiems prieinama adresų erdvė atrodo begalinė: nuo dviejų iki šešiasdešimt ketvirto baitų arba kažkas panašaus į milijardą gigabaitų. Tokios milžiniškos RAM artimiausiu metu nesitikima.

64 bitų adresų magistralė, taip pat atitinkamų pagrindinių plokščių plačios ir didelės spartos duomenų magistralės leidžia 64 bitų kompiuteriams padidinti duomenų įvesties ir išvesties greitį sąveikaujant su tokiais įrenginiais kaip kietasis diskas ir vaizdo plokštė. Šios naujos funkcijos žymiai padidina šiuolaikinių skaičiavimo mašinų našumą.

Tačiau ne visi vartotojai patirs 64 bitų architektūros pranašumus. Tai visų pirma reikalinga tiems, kurie redaguoja vaizdo įrašus ir nuotraukas, taip pat dirba su įvairiais dideliais vaizdais. 64 bitų kompiuterius vertina kompiuterinių žaidimų žinovai. Tačiau tie vartotojai, kurie tiesiog kompiuteriu naudojasi bendrauti socialiniuose tinkluose ir naršyti internete bei redaguoti tekstinius failus, greičiausiai tiesiog nepajus jokių šių procesorių pranašumų.

Remiantis medžiaga iš computer.howstuffworks.com

Procesoriaus konstrukcija ir veikimo principas

Procesorius yra pagrindinis kompiuterio įrenginys, atliekantis logines ir aritmetines operacijas bei valdantis visus kompiuterio komponentus. Procesorius yra miniatiūrinė plona stačiakampė silicio plokštelė, ant kurios dedama daugybė tranzistorių, kurie įgyvendina visas procesoriaus atliekamas funkcijas. Silicio plokštelė yra labai trapi, todėl dėl bet kokio pažeidimo procesorius suges, jis dedamas į plastikinį arba keraminį dėklą.

1. Įvadas.

Šiuolaikinis procesorius yra sudėtingas ir aukštųjų technologijų įrenginys, apimantis visus naujausius skaičiavimo ir susijusių mokslo sričių pasiekimus.

Daugumą šiuolaikinių procesorių sudaro:

  • vienas ar daugiau branduolių, kurie vykdo visas komandas;
  • kelių lygių talpyklos atmintis (dažniausiai 2 arba trys lygiai), pagreitinant procesoriaus sąveiką su RAM;
  • RAM valdiklis;
  • sistemos magistralės valdiklis (DMI, QPI, HT ir kt.);

Ir pasižymi šiais parametrais:

  • mikroarchitektūros tipas;
  • laikrodžio dažnis;
  • vykdomų komandų rinkinys;
  • talpyklos atminties lygių skaičius ir jų apimtis;
  • sistemos magistralės tipas ir greitis;
  • apdorotų žodžių dydis;
  • integruoto atminties valdiklio buvimas ar nebuvimas;
  • palaikomos RAM tipas;
  • adresuojamas atminties tūris;
  • integruoto grafikos branduolio buvimas ar nebuvimas;
  • energijos suvartojimas.

Šiuolaikinio kelių branduolių procesoriaus supaprastinta blokinė schema pateikta 1 pav.

Pradėkime procesoriaus dizaino apžvalgą nuo pagrindinės jo dalies - branduolio.

2. Procesoriaus šerdis.

Procesoriaus šerdis yra pagrindinė jo dalis, kurioje yra visi funkciniai blokai ir atliekamos visos loginės ir aritmetinės operacijos.

1 paveiksle parodyta procesoriaus branduolio blokinė schema. Kaip matyti paveikslėlyje, kiekvieną procesoriaus branduolį sudaro keli funkciniai blokai:

  • instrukcijų gavimo blokas;
  • instrukcijų dekodavimo blokai;
  • duomenų atrankos blokai;
  • valdymo blokas;
  • komandų vykdymo blokai;
  • blokai rezultatams išsaugoti;
  • darbo blokavimas su pertraukomis;
  • ROM su mikrokodu;
  • registrų rinkinys;
  • programų skaitiklis.

Instrukcijų gavimo blokas nuskaito nurodymus programos skaitiklyje nurodytu adresu. Paprastai jis nuskaito kelias instrukcijas per laikrodžio ciklą. Nuskaitomų instrukcijų skaičius nustatomas pagal dekodavimo blokų skaičių, nes kiekvieno veikimo ciklo metu būtina kiek įmanoma įkelti dekodavimo blokus. Kad komandų gavimo blokas veiktų optimaliai, procesoriaus šerdis turi šakos numatytoją.

Perėjimo prognozė bando nustatyti, kokia komandų seka bus vykdoma atlikus perėjimą. Tai būtina norint kuo labiau apkrauti procesoriaus branduolį po sąlyginio šuolio.

Dekodavimo blokai, kaip rodo pavadinimas, yra blokai, kurie susiję su dekodavimo instrukcijomis, t.y. nustatyti, ką procesorius turi daryti ir kokių papildomų duomenų reikia norint įvykdyti komandą. Ši užduotis yra labai sunki daugeliui šiuolaikinių komercinių procesorių, sukurtų remiantis CISC koncepcija. Faktas yra tai, kad instrukcijų ilgis ir operandų skaičius nėra fiksuoti, o tai labai apsunkina procesoriaus kūrėjų gyvenimą ir paverčia dekodavimo procesą nebanalia užduotimi.

Dažnai atskiros sudėtingos instrukcijos turi būti pakeistos mikrokodu – paprastų instrukcijų serija, kuri kartu atlieka tą patį veiksmą kaip ir viena sudėtinga instrukcija. Mikrokodų rinkinys perkeliamas į procesoriaus integruotą ROM. Be to, mikrokodas supaprastina procesoriaus kūrimą, nes nereikia kurti sudėtingų branduolio blokų atskiroms komandoms vykdyti, o pataisyti mikrokodą yra daug lengviau nei bloko veikimo klaidą.

Šiuolaikiniai procesoriai paprastai turi 2–4 instrukcijų dekodavimo blokus, pavyzdžiui, „Intel Core 2“ procesoriuose kiekviename branduolyje yra du tokie blokai.

Duomenų atrankos blokai gauti duomenis iš talpyklos arba RAM, reikalingų dabartinėms instrukcijoms vykdyti. Paprastai kiekvienoje procesoriaus šerdyje yra keli duomenų atrankos blokai. Pavyzdžiui, „Intel Core“ procesoriai naudoja du duomenų pavyzdžius kiekvienam branduoliui.

Valdymo blokas Remdamasis iškoduotomis instrukcijomis, jis kontroliuoja komandų vykdymo blokų veikimą, paskirsto apkrovą tarp jų, užtikrina savalaikį ir teisingą komandų vykdymą. Tai vienas iš svarbiausių procesoriaus branduolio blokų.

Instrukcijų vykdymo blokai apima kelis skirtingus blokų tipus:

ALU – aritmetinis loginis vienetas;

FPU – įrenginys slankaus kablelio operacijoms atlikti;

Apdorojimo instrukcijų rinkinio išplėtimo blokai. Papildomos instrukcijos naudojamos pagreitinti duomenų srautų apdorojimą, šifravimą ir iššifravimą, vaizdo kodavimą ir pan. Norėdami tai padaryti, į procesoriaus šerdį įvedami papildomi registrai ir logikos rinkiniai. Šiuo metu populiariausi instrukcijų rinkinių plėtiniai yra šie:

MMX (daugialypės terpės plėtiniai) yra „Intel“ sukurtas instrukcijų rinkinys, skirtas pagreitinti srautinio garso ir vaizdo duomenų kodavimą ir iškodavimą;

SSE (streaming SIMD Extensions) yra instrukcijų rinkinys, kurį sukūrė „Intel“, kad būtų galima atlikti tą pačią operacijų seką su duomenų rinkiniu, lygiagrečiant skaičiavimo procesą. Komandų rinkiniai nuolat tobulinami, o šiuo metu yra pataisymų: SSE, SSE2, SSE3, SSSE3, SSE4;

ATA (Application Targeted Accelerator) – tai Intel sukurtas instrukcijų rinkinys, skirtas paspartinti specializuotos programinės įrangos veikimą ir sumažinti energijos sąnaudas dirbant su tokiomis programomis. Šios instrukcijos gali būti naudojamos, pavyzdžiui, skaičiuojant kontrolines sumas ar ieškant duomenų;

3DNow yra AMD sukurtas instrukcijų rinkinys, skirtas išplėsti MMX instrukcijų rinkinio galimybes;

AES (Advanced Encryption Standard) yra „Intel“ sukurta instrukcijų rinkinys, skirtas paspartinti programų, naudojančių duomenų šifravimą naudojant tą patį algoritmą, veikimą.

Rezultatų išsaugojimo blokas užtikrina, kad komandų vykdymo rezultatas būtų įrašytas į operatyviąją atmintį apdorojamoje komandoje nurodytu adresu.

Pertraukimo blokas. Darbas su pertraukimais yra viena iš svarbiausių procesoriaus užduočių, leidžianti laiku reaguoti į įvykius, nutraukti programos eigą ir atlikti jai reikalingus veiksmus. Dėl pertraukimų procesorius gali dirbti pseudolygiagrečiai, t.y. į vadinamąjį daugiafunkcinį darbą.

Pertraukimai tvarkomi taip. Procesorius prieš kiekvieną ciklą patikrina, ar nėra pertraukimo užklausos. Jei reikia tvarkyti pertraukimą, procesorius išsaugo krūvoje komandos, kurią turėjo vykdyti, adresą ir duomenis, gautus nuo paskutinės komandos vykdymo, ir toliau vykdo pertraukimo paslaugos funkciją.

Baigus vykdyti pertraukimo apdorojimo funkciją, joje saugomi duomenys nuskaitomi iš kamino, o procesorius tęsia atkurtos užduoties vykdymą.

Registrai– itin greita RAM (prieiga prie registrų kelis kartus greitesnė nei prieiga prie talpyklos atminties) nedidelės apimties (keli šimtai baitų), įtraukta į procesorių, skirta laikinai saugoti tarpinius komandų vykdymo rezultatus. Procesorių registrai skirstomi į du tipus: bendrosios paskirties registrus ir specialiuosius registrus.

Bendrosios paskirties registrai naudojami atliekant aritmetines ir logines operacijas arba specifines papildomų komandų rinkinių (MMX, SSE ir kt.) operacijas.

Specialios paskirties registruose yra sistemos duomenys, būtini tvarkytojui veikti. Tokie registrai apima, pavyzdžiui, valdymo registrus, sistemos adresų registrus, derinimo registrus ir kt. Prieiga prie šių registrų yra griežtai reglamentuota.

Programų skaitiklis– registras, kuriame yra instrukcijos, kurią procesorius pradės vykdyti kito laikrodžio ciklo metu, adresas.

2.1 Procesoriaus šerdies veikimo principas.

Procesoriaus šerdies veikimo principas pagrįstas ciklu, aprašytu Johno von Neumanno 1946 m. Supaprastinta forma procesoriaus branduolio ciklo etapus galima pavaizduoti taip:

1. Instrukcijų gavimo įrenginys tikrina, ar nėra pertraukimų. Jei yra pertraukimas, tada registrų ir programų skaitiklio duomenys įrašomi į steką, o pertraukimo tvarkyklės komandos adresas – į programų skaitiklį. Pasibaigus pertraukimų tvarkymo funkcijai, duomenys iš dėklo bus atkurti;

2. Instrukcijų gavimo blokas nuskaito vykdomos komandos adresą iš programos skaitiklio. Komanda nuskaitoma iš talpyklos arba RAM šiuo adresu. Gauti duomenys perduodami į dekodavimo bloką;

3. Komandų dekodavimo blokas iššifruoja komandą, jei reikia, naudodamas ROM įrašytą mikrokodą komandai interpretuoti. Jei tai yra šuolio komanda, tada šuolio adresas įrašomas į programos skaitiklį ir valdymas perkeliamas į komandų gavimo bloką (1 taškas), kitu atveju programos skaitiklis padidinamas komandos dydžiu (procesoriaus, kurio komandos ilgis 32 bitai – po 4) ir perduoda valdymą duomenų gavimo blokui ;

4. Duomenų atrankos blokas nuskaito duomenis, reikalingus komandai vykdyti iš talpyklos arba RAM ir perduoda valdymą planuotojui;

5. Valdymo blokas nustato, kuriam komandų vykdymo blokui apdoroti esamą užduotį ir perduoda valdymą šiam blokui;

6. Instrukcijų vykdymo blokai atlieka komandos reikalaujamus veiksmus ir perduoda valdymą rezultatų išsaugojimo blokui;

7. Jei reikia išsaugoti rezultatus RAM, rezultatų saugojimo blokas atlieka reikiamus veiksmus ir perduoda valdymą į komandų gavimo bloką (1 punktas).

Aukščiau aprašytas ciklas vadinamas procesu (todėl procesorius vadinamas procesoriumi). Vykdomų komandų seka vadinama programa.

Perėjimo iš vieno ciklo etapo į kitą greitį lemia procesoriaus laikrodžio dažnis, o kiekvieno ciklo etapo veikimo laikas ir laikas, praleistas iki galo įvykdyti vieną komandą, nustatomi pagal procesoriaus konstrukciją. procesoriaus branduolys.

2.2. Būdai pagerinti procesoriaus branduolio našumą.

Procesoriaus branduolio našumo didinimas didinant laikrodžio dažnį turi griežtą apribojimą. Laikrodžio dažnio padidinimas padidina procesoriaus temperatūrą, suvartoja energiją ir sumažina jo veikimo stabilumą bei tarnavimo laiką.

Todėl procesorių kūrėjai naudoja įvairius architektūrinius sprendimus, kad padidintų procesoriaus našumą nedidindami laikrodžio greičio.

Pažvelkime į pagrindinius būdus, kaip padidinti procesoriaus našumą.

2.2.1. Vamzdynas.

Kiekviena procesoriaus vykdoma instrukcija paeiliui pereina per visus branduolio blokus, kurių kiekvienas atlieka savo dalį veiksmų, reikalingų komandai įvykdyti. Jei pradėsite apdoroti naują instrukciją tik atlikę darbą su pirmąja instrukcija, tada dauguma procesoriaus branduolių blokų bet kuriuo metu bus neaktyvūs, todėl procesoriaus galimybės nebus visiškai išnaudotos.

Panagrinėkime pavyzdį, kuriame procesorius vykdys programą, susidedančią iš penkių komandų (K1–K5), nenaudodamas konvejerinio sudarymo principo. Norėdami supaprastinti pavyzdį, darome prielaidą, kad kiekvienas procesoriaus branduolio blokas vykdo komandą per 1 laikrodžio ciklą.

Taigi tu Instrukcijų pavyzdžiai Dekodavimo instrukcijos Duomenų atranka Instrukcijų vykdymas Rezultato išsaugojimas
1 K1 - - - -
2 - K1 - - -
3 - - K1 - -
4 - - - K1 -
5 - - - - K1
6 K2 - - - -
7 - K2 - - -
8 - - K2 - -
9 - - - K2 -
10 - - - - K2
11 K3 - - - -
12 - K3 - - -
13 - - K3 - -
14 - - - K3 -
15 - - - - K3
16 K4 - - - -
17 - K4 - - -
18 - - K4 - -
19 - - - K4 -
20 - - - - K4
21 K5 - - - -
22 - K5 - - -
23 - - K5 - -
24 - - - K5 -
25 - - - - K5

Kaip matyti iš lentelės, procesoriui reikėjo 25 laikrodžio ciklų, kad įvykdytų penkias komandas. Tuo pačiu metu kiekviename cikle keturi iš penkių procesoriaus branduolio blokų buvo neaktyvūs, t.y. Procesorius išnaudojo tik 20% savo potencialo. Natūralu, kad tikruose procesoriuose viskas yra sudėtingiau. Skirtingi procesorių blokai išsprendžia skirtingo sudėtingumo problemas. Pačios instrukcijos taip pat skiriasi sudėtingumu. Tačiau apskritai situacija išlieka ta pati.

Siekiant išspręsti šią problemą, visuose šiuolaikiniuose procesoriuose komandų vykdymas yra sukurtas konvejerio principu, tai yra, kai branduolio blokai išleidžiami, jie įkeliami apdorojant kitą komandą, nelaukiant, kol ankstesnė komanda bus visiškai įvykdyta. .

Pažvelkime į pavyzdį, kaip vykdoma ta pati programa, susidedanti iš penkių instrukcijų, tačiau naudojant konvejerių principą.

Taigi tu Instrukcijų pavyzdžiai Dekodavimo instrukcijos Duomenų atranka Instrukcijų vykdymas Rezultato išsaugojimas
1 K1 - - - -
2 K2 K1 - - -
3 K3 K2 K1 - -
4 K4 K3 K2 K1 -
5 K5 K4 K3 K2 K1
6 - K5 K4 K3 K2
7 - - K5 K4 K3
8 - - - K5 K4
9 - - - - K5

Ta pati programa buvo vykdoma 9 laikrodžio ciklais, tai yra beveik 2,8 karto greičiau nei dirbant be konvejerio. Kaip matyti iš lentelės, didžiausia procesoriaus apkrova buvo gauta 5 cikle. Šiuo metu buvo naudojami visi procesoriaus branduolio blokai. Ir nuo pirmo iki ketvirto ciklo imtinai konvejeris buvo užpildytas.

Kadangi procesorius nepertraukiamai vykdo instrukcijas, idealiu atveju jis galėtų būti 100% užimtas ir kuo ilgesnis konvejeris, tuo didesnis našumo padidėjimas. Tačiau praktikoje taip nėra.

Pirma, tikrasis procesoriaus apdorojamas komandų srautas yra nenuoseklus. Jame dažnai yra perėjimų. Tuo pačiu metu, kol sąlyginio šuolio komanda nebus visiškai apdorota, dujotiekis negalės pradėti vykdyti naujos komandos, nes nežino, kokiu adresu jis yra.

Po sąlyginio perėjimo konvejerį reikia papildyti. Ir kuo ilgesnis vamzdynas, tuo ilgiau užtrunka. Dėl to sumažėja produktyvumo padidėjimas įdiegus konvejerį.

Siekiant sumažinti sąlyginių šakų įtaką dujotiekio veikimui, į procesoriaus šerdį įvedami sąlyginių šakų numatymo blokai. Pagrindinė šių blokų užduotis yra nustatyti, kada bus atlikta sąlyginė šaka ir kokios komandos bus vykdomos atlikus sąlyginę šaką.

Jei sąlyginį šuolį galima nuspėti, tai komandų vykdymas nauju adresu pradedamas prieš baigiant sąlyginio šuolio nurodymo apdorojimą. Dėl to konvejerio užpildymas nebus paveiktas.

Remiantis statistika, sąlyginių šakų numatymo blokų tikslumas šiuolaikiniuose procesoriuose viršija 90%, todėl galima sukurti gana ilgus, bet tuo pačiu gerai užpildytus vamzdynus.

Antra, dažnai apdorojamos instrukcijos yra tarpusavyje susijusios, tai yra, vienai iš instrukcijų reikalingas kitos komandos vykdymo rezultatas kaip įvesties duomenys.

Tokiu atveju jis gali būti vykdomas tik visiškai įvykdžius pirmąją komandą. Tačiau šiuolaikiniai procesoriai gali analizuoti kodą keliomis instrukcijomis į priekį ir, pavyzdžiui, lygiagrečiai su pirmąja instrukcija, apdoroti trečią komandą, kuri niekaip nepriklauso nuo pirmųjų dviejų.

Daugumoje šiuolaikinių procesorių užduotis analizuoti instrukcijų ryšį ir sudaryti jų apdorojimo tvarką tenka procesoriaus pečiams, o tai neišvengiamai sumažina jo našumą ir padidina išlaidas.

Tačiau vis populiaresnis tampa statinis planavimas, kai programos sudarymo etape nustatoma, kokia tvarka procesorius vykdo programą. Tokiu atveju instrukcijas, kurias galima vykdyti lygiagrečiai, kompiliatorius sujungia į vieną ilgą komandą, kurioje, kaip žinoma, visos instrukcijos yra lygiagrečios. Procesoriai, dirbantys su tokiomis instrukcijomis, yra sukurti remiantis VLIW (labai ilgo nurodymo žodžio) architektūra.

2.2.2. Superskaliarumas.

Superskaliarumas yra skaičiavimo branduolio architektūra, kurioje daugiausiai įkeliami blokai gali būti įtraukti į kelias kopijas. Pavyzdžiui, procesoriaus šerdyje komandų gavimo įrenginys gali vienu metu įkelti kelis dekodavimo įrenginius.

Tokiu atveju blokai, atliekantys sudėtingesnius veiksmus ir veikiantys ilgiau, dėl lygiagretaus kelių instrukcijų apdorojimo vienu metu, neuždels viso dujotiekio.

Tačiau lygiagretus instrukcijų vykdymas galimas tik tuo atveju, jei šios instrukcijos yra nepriklausomos.

Hipotetinio procesoriaus, sukurto naudojant superskaliarinį principą, konvejerio šerdies blokinė diagrama parodyta 1 paveiksle. Šiame paveikslėlyje kiekviena procesoriaus šerdis turi kelis dekodavimo blokus, kelis duomenų gavimo blokus ir kelis komandų vykdymo blokus.

2.2.3. Lygiagretus duomenų apdorojimas.

Neįmanoma be galo padidinti procesorių našumo didinant laikrodžio dažnį. Padidėjus laikrodžio dažniui, padidėja šilumos gamyba, sumažėja procesorių tarnavimo laikas ir patikimumas, o prieigos prie atminties vėlavimai labai sumažina laikrodžio dažnio padidinimo poveikį. Iš tiesų, šiais laikais beveik niekada nerandate procesorių, kurių taktinis dažnis didesnis nei 3,8 GHz.

Problemos, susijusios su didėjančiu laikrodžio dažniu, verčia kūrėjus ieškoti kitų būdų, kaip padidinti procesoriaus našumą. Vienas iš populiariausių metodų yra lygiagretusis skaičiavimas.

Didžioji dauguma šiuolaikinių procesorių turi du ar daugiau branduolių. Geriausiuose modeliuose gali būti 8 ar net 12 branduolių ir palaikoma hipersriegių technologija. Papildomų branduolių įvedimo privalumai yra gana aiškūs, praktiškai gauname kelis procesorius, kurių kiekvienas gali savarankiškai išspręsti savo užduotis ir, žinoma, padidėja našumas. Tačiau produktyvumo padidėjimas ne visada pateisina lūkesčius.

Pirma, ne visos programos palaiko skaičiavimų paskirstymą keliuose branduoliuose. Natūralu, kad programas galima padalyti tarp branduolių, kad kiekvienas branduolys veiktų savo nepriklausomų programų rinkinį. Pavyzdžiui, viename branduolyje veikia operacinė sistema su naudingų programų rinkiniu, kitame – vartotojo programos ir t.t.

Tačiau tai padidina našumą, kol pasirodys programa, kuriai reikia daugiau išteklių, nei gali suteikti vienas branduolys. Gerai, jei jis palaiko apkrovos paskirstymą tarp kelių branduolių. Tačiau šiuo metu viešai prieinamas programas, galinčias paskirstyti apkrovą tarp 12 branduolių ir net „Hyper-Threading“ režimu, galima „suskaičiuoti vienos rankos pirštais“. Žinoma, aš perdedu, yra programų, optimizuotų kelių gijų skaičiavimui, tačiau daugumai paprastų vartotojų jų nereikia. Tačiau populiariausios programos, o tuo labiau žaidimai, vis tiek „prastai“ prisitaiko prie kelių branduolių procesorių, ypač jei branduolių skaičius yra didesnis nei keturi.

Antra, darbas su atmintimi tampa sudėtingesnis, nes yra daug branduolių ir jiems visiems reikia prieigos prie RAM. Reikalingas sudėtingas mechanizmas, kuris nustato procesoriaus branduolių prieigos prie atminties ir kitų kompiuterio išteklių tvarką.

Trečia, didėja energijos sąnaudos, todėl didėja šilumos išsiskyrimas ir reikalinga galinga aušinimo sistema.

Na, ketvirta, kelių branduolių procesorių gamybos sąnaudos yra gana didelės, todėl tokių procesorių kaina yra didelė.

Nepaisant visų trūkumų, 2–4 branduolių procesorių naudojimas neabejotinai žymiai padidina našumą. Tačiau šiuo metu daugiau nei keturių branduolių procesorių naudojimas ne visada pateisina lūkesčius. Tačiau artimiausiu metu situacija turėtų kardinaliai pasikeisti. Tikrai bus daug programų, palaikančių multithreading, padidės atskirų branduolių našumas, sumažės jų kaina.

2.2.4. „Hyper-Threading“ technologija.

„Intel Hyper-threading“ technologija leidžia kiekvienam procesoriaus branduoliui vienu metu atlikti dvi užduotis, iš esmės vieną tikrą branduolį paverčiant dviem virtualiais. Tai įmanoma dėl to, kad tokiuose branduoliuose vienu metu išsaugoma dviejų gijų būsena, nes branduolys turi savo registrų rinkinį, savo programų skaitiklį ir savo pertraukimo bloką kiekvienai gijai. Dėl to operacinė sistema tokį branduolį mato kaip du atskirus branduolius ir su jais veiks taip pat, kaip ir su dviejų branduolių procesoriumi.

Tačiau likę abiejų gijų branduolio elementai yra bendri ir yra dalijami tarp jų. Be to, kai dėl kokių nors priežasčių vienas iš sriegių atlaisvina dujotiekio elementus, kitas sriegis naudoja laisvus blokus.

Dujotiekio elementai negali būti naudojami, jei, pavyzdžiui, nepavyko pasiekti talpyklos atminties ir reikia nuskaityti duomenis iš RAM, arba buvo neteisingai numatyta atšaka arba laukiama esamos instrukcijos apdorojimo rezultatų arba blokai iš viso nenaudojami apdorojant šį vadovą ir pan.

Dauguma programų negali visiškai įkelti procesoriaus, nes kai kurios dažniausiai naudoja paprastus sveikųjų skaičių skaičiavimus, beveik nenaudojant FPU bloko. Kitos programos, tokios kaip 3D studija, reikalauja daug skaičiavimų naudojant slankiojo kablelio skaičius, bet tuo pačiu atlaisvinant kai kuriuos kitus vykdymo vienetus ir pan.

Be to, beveik visose programose yra daug sąlyginių šuolių ir priklausomų kintamųjų. Dėl to naudojant „Hyper-threading“ technologiją galima žymiai padidinti našumą ir maksimaliai padidinti branduolio vamzdyno apkrovą.

Bet tai nėra taip paprasta. Natūralu, kad našumo padidėjimas bus mažesnis nei naudojant keletą fizinių branduolių, nes gijos vis dar naudoja bendrus vieno vamzdyno blokus ir dažnai yra priversti laukti, kol bus išleistas reikiamas blokas. Be to, dauguma procesorių jau turi keletą fizinių branduolių, o naudojant Hyper-threading technologiją gali būti per daug virtualių branduolių, ypač jei procesoriuje yra keturi ar daugiau fizinių branduolių.

Kadangi šiuo metu yra labai mažai programų, galinčių paskirstyti skaičiavimus per daug branduolių, tokiu atveju rezultatas gali nuvilti vartotojus.

Yra dar viena rimta „Hyper-Threading“ technologijos problema – konfliktai kyla, kai komandoms iš skirtingų gijų reikia to paties tipo blokų. Gali susidaryti situacija, kai dvi panašios gijos veikia lygiagrečiai, dažnai naudojant tuos pačius blokus. Tokiu atveju našumo padidėjimas bus minimalus.

Dėl to Hyper-Threading technologija labai priklauso nuo procesoriaus apkrovos tipo ir gali duoti gerą našumo padidėjimą arba gali būti praktiškai nenaudinga.

2.2.5. Turbo Boost technologija.

Daugumos šiuolaikinių procesorių našumą namuose galima šiek tiek padidinti, paprasčiau tariant, peršokti – priversti veikti aukštesniais nei vardiniais dažniais, t.y. deklaruoja gamintojas.

Procesoriaus dažnis apskaičiuojamas kaip sistemos magistralės dažnis, padaugintas iš tam tikro koeficiento, vadinamo daugikliu. Pavyzdžiui, Core i7-970 procesorius veikia su DMI sistemos magistrale baziniu 133 MHz dažniu, o daugiklis yra 24. Taigi procesoriaus šerdies taktinis dažnis bus: 133 MHz * 24 = 3192 MHz.

Jei padidinsite daugiklį BIOS nustatymuose arba padidinsite sistemos magistralės laikrodžio dažnį, padidės procesoriaus laikrodžio dažnis ir atitinkamai padidės jo našumas. Tačiau šis procesas toli gražu nėra saugus. Dėl įsijungimo procesorius gali tapti nestabilus arba net sugesti. Todėl į įsijungimą reikia žiūrėti atsakingai ir atidžiai stebėti procesoriaus veikimo parametrus.

Atsiradus Turbo Boost technologijai, viskas tapo daug lengviau. Procesoriai su šia technologija gali patys dinamiškai, trumpą laiką padidinti laikrodžio dažnį, taip padidindami savo našumą. Tuo pačiu metu procesorius kontroliuoja visus savo veikimo parametrus: įtampą, srovę, temperatūrą ir kt., Užkertant kelią gedimams ir ypač gedimams. Pavyzdžiui, procesorius gali išjungti nenaudojamus branduolius, taip sumažindamas bendrą temperatūrą, o mainais padidindamas likusių branduolių taktinį dažnį.

Kadangi šiuo metu nėra labai daug programų, kurios duomenų apdorojimui naudoja visus procesoriaus branduolius, ypač jei jų yra daugiau nei keturios, Turbo Boost technologijos naudojimas gali žymiai padidinti procesoriaus našumą, ypač dirbant su vienos gijos programomis.

2.2.6. Komandų vykdymo efektyvumas.

Priklausomai nuo apdorojamų instrukcijų tipų ir jų vykdymo būdo, procesoriai skirstomi į kelias grupes:

  • klasikiniams CISC procesoriams;
  • RISC procesoriuose su sumažintu instrukcijų rinkiniu;
  • MISC procesoriams su minimaliu instrukcijų rinkiniu;
  • VLIW procesoriuose su itin ilgų instrukcijų rinkiniu.

CISC (kompleksinis instrukcijų rinkinio kompiuteris)- Tai procesoriai su sudėtingu instrukcijų rinkiniu. CISC architektūrai būdinga:

  • sudėtingos ir daugialypės instrukcijos;
  • didelis įvairių instrukcijų rinkinys;
  • nefiksuotas instrukcijų ilgis;
  • įvairių adresavimo režimų.

Istoriškai pirmiausia atsirado procesoriai su CISC architektūra, o jų atsiradimą lėmė bendra pirmųjų kompiuterių kūrimo tendencija. Jie stengėsi kompiuterius padaryti funkcionalesnius ir tuo pačiu lengviau programuojamus. Natūralu, kad programuotojams iš pradžių buvo patogiau turėti platų komandų rinkinį, nei įgyvendinti kiekvieną funkciją su visa atskira paprograme. Dėl to labai sumažėjo programų apimtis, o kartu ir programavimo sudėtingumas.

Tačiau tokia padėtis truko neilgai. Pirma, atsiradus aukšto lygio kalboms, dingo tiesioginio programavimo mašininiu kodu ir asamblėjos kalba poreikis, antra, laikui bėgant skirtingų komandų skaičius labai išaugo, o pačios instrukcijos tapo sudėtingesnės. Dėl to dauguma programuotojų pirmiausia naudojo tam tikrą instrukcijų rinkinį, praktiškai nepaisydami sudėtingesnių instrukcijų.

Dėl to programuotojai nebeturėjo daug naudos iš daugybės instrukcijų, nes programų kompiliavimas tapo automatinis, o patys procesoriai sudėtingas ir įvairias instrukcijas apdorojo lėtai, daugiausia dėl problemų, susijusių su jų dekodavimu.

Be to, procesorių kūrėjai mažiau derino naujas sudėtingas instrukcijas, nes tai buvo daug darbo reikalaujantis ir sudėtingas procesas. Todėl kai kuriuose iš jų gali būti klaidų.

Ir, žinoma, kuo sudėtingesnės instrukcijos, tuo daugiau veiksmų jos atlieka, tuo sunkiau lygiagretinti jų vykdymą ir, atitinkamai, tuo mažiau efektyviai jie įkelia procesoriaus konvejerį.

Tačiau iki to laiko jau buvo sukurta daugybė programų procesoriams su CISC architektūra, todėl buvo ekonomiškai nenaudinga pereiti prie iš esmės naujos architektūros, net jei tai padidino procesoriaus našumą.

Todėl buvo priimtas kompromisas ir CISC procesoriai, pradedant Intel486DX, buvo pradėti gaminti naudojant RISC branduolį. Tai yra, prieš pat vykdymą sudėtingos CISC instrukcijos konvertuojamos į paprastesnį vidinių RISC komandų rinkinį. Norėdami tai padaryti, jie naudoja procesoriaus branduolyje esančiame ROM įrašytų mikroinstrukcijų rinkinius - paprastų instrukcijų seriją, kurios kartu atlieka tuos pačius veiksmus kaip ir viena sudėtinga instrukcija.

RISC (sumažintų instrukcijų rinkinio kompiuteris)– procesoriai su sumažintu instrukcijų rinkiniu.

RISC procesoriaus koncepcija teikia pirmenybę trumpoms, paprastoms ir standartizuotoms instrukcijoms. Dėl to tokias instrukcijas lengviau iššifruoti ir vykdyti, todėl paprastėja ir procesoriaus konstrukcija, nes nestandartinių ir daugiafunkcinių komandų vykdymui nereikia sudėtingų blokų. Dėl to procesorius atpigina, o supaprastinant vidinę struktūrą ir sumažinant tranzistorių skaičių atsiranda galimybė dar labiau padidinti jo laikrodžio dažnį arba sumažinti energijos sąnaudas.

Taip pat paprastas RISC instrukcijas daug lengviau lygiagretinti nei CISC, todėl atsiranda galimybė daugiau apkrauti konvejerį, įdiegti papildomus instrukcijų apdorojimo įrenginius ir pan.

Procesoriai, sukurti remiantis RISC architektūra, turi šias pagrindines funkcijas:

  • fiksuotas instrukcijos ilgis;
  • nedidelis standartizuotų instrukcijų rinkinys;
  • daug bendrosios paskirties registrų;
  • mikrokodo trūkumas;
  • mažesnės energijos sąnaudos, palyginti su panašaus našumo CISC procesoriais;
  • paprastesnė vidinė struktūra;
  • mažiau tranzistorių, palyginti su panašaus našumo CISC procesoriais;
  • sudėtingų specializuotų blokų nebuvimas procesoriaus šerdyje.

Todėl, nors RISC procesoriams reikia daugiau instrukcijų, kad būtų galima atlikti tą pačią užduotį, palyginti su CISC procesoriais, jie paprastai užtikrina didesnį našumą. Pirma, vienos RISC komandos vykdymas užima daug mažiau laiko nei CISC komandos vykdymas. Antra, RISC procesoriai labiau išnaudoja lygiagretaus apdorojimo galimybes. Trečia, RISC procesoriai gali turėti didesnį taktinį dažnį nei CISC procesoriai.

Tačiau, nepaisant akivaizdaus RISC pranašumo, procesoriai nebuvo taip plačiai paplitę kaip CISC. Tiesa, tai daugiausia ne dėl to, kad kai kuriais atžvilgiais jie galėtų būti prastesni už CISC procesorius. Jie nėra prastesni. Faktas yra tas, kad pirmiausia pasirodė CISC procesoriai, o CISC procesorių programinė įranga nesuderinama su RISC procesoriais.

Dėl to labai nepelninga perrašyti visas programas, kurios jau buvo sukurtos, derinamos ir naudojamos daugybės vartotojų. Taip išėjo, kad dabar esame priversti naudoti CISC procesorius. Tiesa, kaip jau sakiau, kūrėjai rado kompromisinį šios problemos sprendimą ir labai ilgą laiką CISC procesoriai naudoja RISC branduolį ir sudėtingas instrukcijas keičia mikroprogramomis. Tai leido šiek tiek išlyginti situaciją. Tačiau vis tiek RISC procesoriai daugeliu atžvilgių lenkia net CISC procesorius su RISC branduoliu.

MISC (minimalaus instrukcijų rinkinio kompiuteris)– tolesnė RISС architektūros plėtra, pagrįsta dar didesniu instrukcijų supaprastinimu ir jų skaičiaus mažinimu. Taigi vidutiniškai MISC procesoriai naudoja 20–30 paprastų instrukcijų. Šis metodas leido dar labiau supaprastinti procesoriaus dizainą, sumažinti energijos suvartojimą ir maksimaliai išnaudoti lygiagretaus duomenų apdorojimo galimybes.

VLIW (labai ilgas instrukcijos žodis)– procesoriaus architektūra, kuri naudoja ilgas komandas, kuriose vienu metu yra kelios operacijos, kurias kompiliatorius sujungia lygiagrečiam apdorojimui. Kai kuriuose procesorių diegimuose instrukcijos gali būti net 128 ar net 256 bitų ilgio.

VLIW architektūra yra tolesnis RISC ir MISC architektūrų tobulinimas su giliu lygiagretumu.

Jei RISC procesoriuose procesorius pats dalyvavo organizuojant lygiagretųjį duomenų apdorojimą, dalį resursų išleisdamas instrukcijų analizei, priklausomybių nustatymui ir sąlyginių šakų numatymui (ir dažnai procesorius galėjo padaryti klaidų, pavyzdžiui, numatydamas sąlygines šakas, taip įnešant rimtų delsų apdorojant instrukcijas arba peržiūrint programos kodą nepakankamai giliai, kad būtų galima nustatyti nepriklausomas operacijas, kurios gali būti vykdomos lygiagrečiai), tada VLIW procesoriuose užduotis optimizuoti lygiagretų veikimą buvo priskirta kompiliatoriui, kuris nebuvo ribojamas laiku. arba išteklių ir galėtų analizuoti visas programas optimaliam procesoriaus kodui sudaryti.

Dėl to VLIW procesorius gavo naudos ne tik pašalinus papildomas išlaidas organizuojant lygiagretų duomenų apdorojimą, bet ir padidinus našumą dėl optimalesnio lygiagretaus komandų vykdymo organizavimo.

Be to, buvo supaprastintas procesoriaus dizainas, nes kai kurie blokai, atsakingi už priklausomybių analizę ir komandų apdorojimo lygiagretinimo organizavimą, buvo supaprastinti arba visiškai pašalinti, o tai savo ruožtu sumažino energijos suvartojimą ir procesorių sąnaudas.

Tačiau net kompiliatorius sunkiai analizuoja kodą ir organizuoja jo lygiagretavimą. Dažnai programos kodas buvo labai priklausomas vienas nuo kito, todėl kompiliatorius į instrukcijas turėjo įterpti tuščias komandas. Dėl šios priežasties VLIW procesoriams skirtos programos gali būti daug ilgesnės nei panašios tradicinės architektūros programos.

Pirmieji VLIW procesoriai pasirodė devintojo dešimtmečio pabaigoje ir buvo sukurti Cydrome. Šios architektūros procesoriai taip pat apima „Philips“ „TriMedia“, „Texas Instruments“ DSP C6000 šeimą, „Elbru?s 2000“ – Rusijoje pagamintą procesorių, kurį sukūrė MCST, dalyvaujant MIPT studentams ir kt. galima įsigyti Itanium šeimos procesoriuose.

2.3. Būdai, kaip sumažinti procesoriaus energijos suvartojimą.

Ne mažiau svarbus nei našumas, procesoriui svarbus ir toks parametras kaip energijos suvartojimas. Energijos suvartojimo problema ypač aktuali dabar, kai kyla tikras nešiojamųjų prietaisų populiarumo bumas.

Mūsų gyvenimas nebeįsivaizduojamas patogus be nešiojamųjų kompiuterių, planšetinių kompiuterių ir išmaniųjų telefonų. Tačiau vienintelis dalykas, kuris užgožia šią tendenciją, yra tokių įrenginių baterijos veikimo laikas. Taigi nešiojamieji kompiuteriai vidutiniškai gali autonomiškai dirbti 3-5 valandas, planšetiniai kompiuteriai – šiek tiek daugiau, išmanieji telefonai jau gali atlaikyti beveik parą pilna apkrova, ir ne visi. Tačiau viso to itin maža patogiam darbui su jais.

Šių įrenginių baterijos veikimo laikas tiesiogiai priklauso nuo jų suvartojamos energijos, o nemaža dalis energijos suvartoja iš procesoriaus. Procesoriaus energijos suvartojimui sumažinti naudojami įvairūs metodai ir technologijos. Pažvelkime į populiariausius iš jų.

Lengviausias būdas sumažinti procesoriaus energijos suvartojimą ir šilumos išsklaidymą yra sumažinti jo laikrodžio dažnį ir įtampą, nes procesoriaus energijos suvartojimas yra proporcingas jo darbinės įtampos kvadratui ir proporcingas laikrodžio dažniui. Įtampos sumažinimas turi naudingiausią poveikį energijos suvartojimui. Tačiau mažėjant įtampai, anksčiau ar vėliau mažėja ir laikrodžio dažnis, o tai natūraliai lems našumo sumažėjimą.

Tačiau energijos suvartojimas dažnai yra svarbesnis veikimo parametras, todėl tam tikras veikimo pablogėjimas yra priimtinas. Taigi daugumos mobiliųjų procesorių ir įterptųjų sistemų procesorių versijų laikrodžio dažnis ir darbo įtampa yra daug mažesni nei stalinių kompiuterių analogų.

Tačiau gamintojai ne visada nustato optimalų įtampos ir laikrodžio dažnio derinį. Daugelis mobiliųjų procesorių su nustatytu laikrodžio dažniu galėtų veikti esant žemesnei įtampai, o tai žymiai pailgintų nešiojamojo kompiuterio baterijos veikimo laiką.

Norint gauti optimalų našumo ir energijos suvartojimo santykį, būtina pasirinkti įtampą, kuriai esant procesorius stabiliai veiktų tam tikru laikrodžio dažniu.

Laikrodžio dažnis nustatomas atsižvelgiant į vartotojo poreikius, tada jam parenkama minimali darbinė įtampa palaipsniui mažinant įtampą ir išbandant procesorių esant apkrovai.

Yra ir ne tokių drastiškų šios problemos sprendimo būdų.

Pavyzdžiui, technologija EIST (patobulinta „Intel SpeedStep“ technologija) leidžia dinamiškai keisti procesoriaus energijos suvartojimą, keičiant procesoriaus laikrodžio dažnį ir įtampą. Laikrodžio dažnis keičiasi dėl dauginimo koeficiento sumažėjimo arba padidėjimo.

Aukščiau jau minėjau daugybos koeficientą, bet pakartosiu. Procesoriaus laikrodžio greitis apskaičiuojamas kaip sistemos magistralės laikrodžio greitis, padaugintas iš tam tikro koeficiento, vadinamo dauginimo koeficientu. Sumažinus arba padidinus šį koeficientą, sumažėja arba padidėja procesoriaus laikrodžio dažnis ir sumažėja arba padidėja darbinė įtampa.

Tais atvejais, kai procesorius nevisiškai išnaudojamas, jo taktinį dažnį galima sumažinti sumažinus daugiklį. Kai tik vartotojui prireiks daugiau skaičiavimo išteklių, daugybos koeficientas bus padidintas iki nominalios vertės. Taigi galima šiek tiek sumažinti energijos sąnaudas.

Panašią energijos suvartojimo mažinimo technologiją, pagrįstą dinaminiais įtampos ir laikrodžio dažnio pokyčiais, priklausomai nuo procesoriaus apkrovos, taip pat naudoja AMD, ji vadinama - Cool'n'Quiet.

Daugeliu atvejų kompiuteriai arba visiškai nenaudojami, arba naudojami tik daliai savo galimybių. Pavyzdžiui, norint žiūrėti filmą ar rašyti tekstą nereikia milžiniškų skaičiavimo galimybių, kurias turi šiuolaikiniai procesoriai. Be to, šių galių nereikia, kai kompiuteris nenaudojamas, kai vartotojas išėjo ar tiesiog nusprendė trumpam pailsėti. Sumažinus procesoriaus laikrodžio dažnį ir jo įtampą tokiais momentais, galima labai smarkiai sutaupyti energijos.

EIST galima sukonfigūruoti naudojant BIOS ir operacinės sistemos programinę įrangą, kad būtų nustatyti pasirinktiniai energijos valdymo profiliai, kad būtų subalansuotas procesoriaus našumas ir energijos suvartojimas.

Natūralu, kad kūrėjai stengiasi optimizuoti pačią procesoriaus struktūrą, kad sumažintų energijos sąnaudas ir leistų procesoriui veikti esant itin žemai įtampai. Tačiau ši užduotis yra labai sudėtinga ir užima daug laiko. Prototipiniai procesoriai jau labai priartėjo prie minimalios darbinės įtampos slenksčio ir jau sunkiai skiria loginio įtampą nuo loginio nulio. Tačiau nepaisant to, procesorių kūrėjai, tarp jų ir Intel Corporation inžinieriai, žada per ateinančius dešimt metų sumažinti šiuolaikinių procesorių energijos suvartojimą net 100 kartų. Na, palaukim ir pažiūrėsim, ką jie sugalvos.

3. Laikinoji atmintis.

Nepaisant visų kūrėjų technologijų ir gudrybių, procesoriaus našumas vis tiek tiesiogiai priklauso nuo komandų ir duomenų gavimo iš atminties greičio. Ir net jei procesorius turi subalansuotą ir gerai apgalvotą konvejerį, naudoja „Hyper-Threading“ technologiją ir pan., tačiau neužtikrina tinkamo duomenų ir komandų iš atminties greičio, tada bendras našumas kompiuteris nepateisins jūsų lūkesčių.

Todėl vienas iš svarbiausių procesoriaus įrenginio parametrų yra talpyklos atmintis, skirta sutrumpinti instrukcijų ir duomenų gavimo iš pagrindinės RAM laiką ir veikianti kaip tarpinis buferis su greita prieiga tarp procesoriaus ir pagrindinės RAM.

Laikinoji atmintis yra sukurta brangios SRAM atminties (statinės laisvosios kreipties atminties) pagrindu, kuri suteikia prieigą prie atminties ląstelių daug greičiau nei prie DRAM atminties ląstelių (dinaminė laisvosios kreipties atmintis), kurios pagrindu kuriama RAM. Be to, SRAM atmintis nereikalauja nuolatinio regeneravimo, o tai taip pat padidina jos našumą. Tačiau SRAM, DRAM ir kitų tipų atminties dizainą plačiau panagrinėsime kitame straipsnyje, o dabar plačiau panagrinėsime talpyklos atminties veikimo principą ir dizainą.

Laikinoji atmintis yra padalinta į kelis lygius. Šiuolaikiniai procesoriai paprastai turi tris lygius, o kai kurie geriausi procesorių modeliai kartais turi keturis talpyklos atminties lygius.

Aukštesnio lygio talpyklos visada yra didesnės ir lėtesnės nei žemesnio lygio talpyklos.

Greičiausia ir mažiausia talpyklos atmintis yra 1 lygio talpykla. Paprastai jis veikia procesoriaus dažniu, kelių šimtų kilobaitų talpa ir yra arti duomenų ir instrukcijų atrankos blokų. Be to, ji gali būti viena (Princeton architektūra) arba padalinta į dvi dalis (Harvardo architektūra): komandų atmintis ir duomenų atmintis. Dauguma šiuolaikinių procesorių naudoja bendrinamą L1 talpyklą, nes tai leidžia gauti duomenis kartu su instrukcijų gavimu, o tai labai svarbu konvejerio darbui.

Antrojo lygio talpyklos atmintis yra lėtesnė (prieigos laikas vidutiniškai 8-20 procesoriaus ciklų), tačiau kelių megabaitų talpa.

3 lygio talpyklos atmintis yra dar lėtesnė, bet gana didelės talpos. Yra procesorių, kurių trečiojo lygio talpykla didesnė nei 24 MB.

Kelių branduolių procesoriuose paskutinis talpyklos atminties lygis paprastai yra bendras visiems branduoliams. Be to, atsižvelgiant į branduolių apkrovą, paskutinio lygio talpyklos, skirtos branduoliui, kiekis gali dinamiškai keistis. Jei branduolys turi didelę apkrovą, jam skiriama daugiau talpyklos atminties, sumažinant mažiau apkrautų branduolių talpyklos kiekį. Ne visi procesoriai turi šią galimybę, tik tie, kurie palaiko „Smart Cache“ technologiją (pavyzdžiui, „Intel Smart Cache“ arba „AMD Balanced Smart Cache“).

Žemesnio lygio talpyklos atmintis paprastai yra individuali kiekvienam procesoriaus branduoliui.

Pažiūrėjome, kaip veikia talpyklos atmintis, o dabar išsiaiškinkime, kaip ji veikia.

Procesorius nuskaito duomenis iš pagrindinės RAM ir išsaugo juos visuose lygiuose talpykloje, pakeisdamas duomenis, kurie buvo pasiekti ilgą laiką ir retai.

Kitą kartą procesoriui prireiks tų pačių duomenų, jie bus nuskaitomi ne iš pagrindinės RAM, o iš pirmojo lygio talpyklos atminties, kuri yra daug greitesnė. Jei procesorius ilgą laiką nepasieks šių duomenų, tada jie bus palaipsniui išstumti iš visų talpyklos atminties lygių, pirmiausia iš pirmojo, nes yra mažiausio tūrio, tada iš antrojo ir pan. Tačiau net jei šie duomenys lieka tik trečiajame talpyklos atminties lygyje, prieiga prie jų vis tiek bus greitesnė nei pagrindinės atminties.

Tačiau kuo daugiau talpyklos atminties lygių, tuo sudėtingesnis pasenusių duomenų keitimo algoritmas ir tuo daugiau laiko praleidžiama derinant duomenis visuose talpyklos atminties lygiuose. Dėl to spartinančios atminties greičio nauda greitai išnyksta. Be to, SRAM atmintis yra labai brangi, o esant dideliam kiekiui, ir, kaip prisimenate, kiekvienas naujas talpyklos atminties lygis turi būti didesnis nei ankstesnis, kainos ir kokybės santykis greitai krenta, o tai daro itin neigiamą įtaką procesoriaus konkurencingumą. Todėl praktiškai jie nesukuria daugiau nei keturių lygių talpyklos atminties.

Laikinosios atminties padėtis tampa dar sudėtingesnė kelių branduolių procesoriuose, kur kiekvienas branduolys turi savo talpyklą. Būtina įvesti papildomą duomenų, saugomų skirtingų branduolių talpykloje, sinchronizavimą. Pavyzdžiui, tas pats duomenų blokas iš pagrindinės RAM buvo įvestas į pirmojo ir antrojo procesoriaus branduolių talpyklą. Tada pirmasis procesorius pakeitė šį atminties bloką. Pasirodo, antrojo procesoriaus talpykloje jau yra pasenusių duomenų ir ją reikia atnaujinti, o tai papildomai apkrauna talpyklą, dėl kurios sumažėja bendras procesoriaus našumas. Ši situacija yra sudėtingesnė, kuo daugiau branduolių yra procesoriuje, tuo daugiau talpyklos atminties lygių ir tuo didesnė jų apimtis.

Tačiau, nepaisant tokių sunkumų dirbant su talpia atmintimi, jos naudojimas aiškiai padidina veikimo greitį be reikšmingo kompiuterio išlaidų padidėjimo. Ir kol nebus išrasta RAM, galinti konkuruoti greičiu su SRAM atmintimi ir kaina su DRAM atmintimi, bus naudojama hierarchinė RAM organizacija, naudojant kelis laikinosios atminties lygius.

Galbūt čia ir baigsime procesoriaus įrenginio apžvalgą, nes straipsnyje „Pagrindinės plokštės dizainas ir paskirtis“ buvo pateikta sisteminių magistralių apžvalga ir jų veikimo principas bei pagrindinio RAM valdiklio aprašymas, dažnai įtraukiami į procesorių, RAM tipai ir jo veikimo principai bus aprašyti kitame straipsnyje.


Sveiki, mieli skaitytojai! Žodžiu, kiekvienas pasitikintis kompiuterio vartotojas ar nešiojamojo kompiuterio savininkas ne kartą susimąstė, kaip viduje veikia procesorius? Tikriausiai daugelis nustebs sužinoję, kad bet kurios asmeninio ar nešiojamojo kompiuterio „uolos“ struktūra yra pagrįsta tikrais akmenimis ir uolomis.

Šiandien pabandysime išsiaiškinti, kaip atrodo šiuolaikinio procesoriaus struktūra ir kas verčia veikti pagrindinį bet kurio kompiuterio elementą.

Iš ko susideda šiuolaikinis mikroprocesorius?

Procesoriaus struktūrą šiandien sudaro šie pagrindiniai elementai:

  • Tiesą sakant,. Svarbiausia dalis – įrenginio širdis, kuri dar vadinama šiuolaikinio mikroprocesoriaus kristalu arba akmeniu. Šerdies charakteristikos ir naujumas tiesiogiai lemia mikroprocesoriaus įsijungimą ir efektyvumą.
  • Laikinoji atmintis yra maža, bet labai informatyvi talpykla, esanti tiesiai procesoriaus viduje. Naudojamas mikroprocesoriaus, kad žymiai sutrumpėtų prieigos prie kompiuterio pagrindinės atminties laikas.
  • Specialus koprocesorius, kurio dėka atliekamos sudėtingos operacijos. Toks koprocesorius žymiai išplečia bet kurio šiuolaikinio mikroprocesoriaus funkcionalumą ir yra jo sudedamoji dalis. Yra situacijų, kai koprocesorius yra atskiras lustas, tačiau daugeliu atvejų jis yra įmontuotas tiesiai į kompiuterio mikroprocesorių.

Pažodžiui išardę kompiuterio procesorių, matome šiuos diagramoje pateiktus struktūrinius elementus:

  1. Viršutinis metalinis dangtelis naudojamas ne tik apsaugoti "akmenį" nuo mechaninių pažeidimų, bet ir pašalinti šilumą.
  2. Tiesiogiai, kristalas ar akmuo ir brangi bet kurio kompiuterio mikroprocesoriaus dalis.Kuo toks akmuo sudėtingesnis ir tobulesnis, tuo greitesnis bet kurio kompiuterio „smegenų“ darbas.
  3. Specialus substratas su kontaktais kitoje pusėje užbaigia mikroprocesoriaus dizainą, kaip parodyta paveikslėlyje. Dėl tokio galinės pusės konstrukcijos atsiranda išorinė sąveika su centriniu „akmeniu“, neįmanoma tiesiogiai paveikti paties kristalo. Visa konstrukcija sulaikoma naudojant specialų klijų sandariklį.

Kaip visa tai veikia?

Bet kurio procesoriaus logika paremta tuo, kad visi kompiuterio duomenys yra saugomi bitais, specialiomis informacinėmis ląstelėmis, pavaizduotomis 0 arba 1. Pabandykime išsiaiškinti, kas vyksta, kaip iš jų ekrane pasirodo spalvingi filmai ir įdomūs kompiuteriniai žaidimai. nuliai ir vienetai?

Visų pirma, reikia suprasti, kad dirbdami su elektronika bet kokią informaciją gauname įtampos pavidalu. Virš tam tikros reikšmės gauname vienetą, žemiau tam tikros vertės gauname nulį. Pavyzdžiui, kambaryje įjungta šviesa yra viena, o išjungta – nulis. Kita hierarchija, kurios dėka gaunami sudėtingesni elementai, yra baitas, susidedantis iš aštuonių bitų. Dėl tų pačių baitų galime kalbėti ne tik apie tai, ar patalpoje įjungta ar išjungta šviesa, bet ir apie jos ryškumą, spalvų atspalvį ir pan.

Įtampa praeina per atmintį ir perduoda duomenis į procesorių, kuris visų pirma naudoja savo talpyklą kaip efektyviausią, tačiau mažą elementą. Per specialų valdymo bloką duomenys apdorojami ir paskirstomi toliau.

Procesorius naudoja baitus ir ištisas jų sekas, kurios savo ruožtu vadinamos programa. Būtent procesoriaus apdorojamos programos priverčia kompiuterį atlikti vieną ar kitą veiksmą: paleisti vaizdo įrašą, paleisti žaidimą, įjungti muziką ir pan.

Kova tarp kompiuterių mikroprocesorių gigantų

Žinoma, mes kalbame apie „Intel“ ir „AMD“. Pagrindinis šių įmonių veiklos principų skirtumas – požiūris į naujų kompiuterių mikroprocesorių gamybą.
Nors „Intel“ pristato naujas technologijas kartu su nedideliais pakeitimais, AMD reguliariai atlieka didelius gamybos veiksmus. Aukščiau esančioje nuotraukoje pavaizduoti išskirtinės išvaizdos minėtų įmonių modeliai.

Daugeliu atvejų lyderio pozicijas vis dar užima „Intel“. AMD „akmenys“, nors savo našumu yra prastesni už „Intel“ procesorius, dažnai lenkia juos įperkamumo požiūriu. Galite perskaityti, kurioje įmonėje geriau rinktis.

Ką pasirinkti, kiekvienas nusprendžia pats. Šiandien bandėme suprasti bet kurio šiuolaikinio mikroprocesoriaus vidinę struktūrą ir pagrindinius jo veikimo principus. Nepamirškite atnaujinti tinklaraščio ir pasidalyti įdomiais straipsniais su draugais socialiniuose tinkluose! Viso ko geriausio, draugai!

Gera diena!

Manau, beveik kiekvienas vartotojas, turintis bent šiek tiek patirties, yra susidūręs su panašia problema: dirbi ir dirbi kompiuteriu, o tada pradedi pastebėti, kad jis kažkaip lėtai reaguoja į pelės ar klaviatūros mygtukų paspaudimą, sulėtėja. ..

Labai dažnai lėto veikimo ir stabdžių priežastis yra procesoriaus apkrova, kartais ji siekia 100%!

Išspręsti šią problemą ne visada lengva, juolab kad CPU galima įkelti be jokios aiškios priežasties (t.y. galbūt nepaleidote jokių daug resursų reikalaujančių programų: žaidimų, vaizdo įrašų redaktorių ir pan.).

Šiame straipsnyje apžvelgsiu veiksmų, kurių galima imtis norint pašalinti procesoriaus apkrovą ir grąžinti įprastą kompiuterio veikimą, seką.

Pirmas dalykas, kurį reikia pabandyti, yra nustatyti procesą ar programą, kuri naudoja procesorių. Kaip nutinka daugeliu atvejų: buvo paleista kokia nors programa (arba žaidimas), tada vartotojas iš jos išėjo, tačiau procesas su žaidimu liko, kuris įkelia procesorių...

Koks procesas ar programa yra įkeltas į procesorių

Greičiausias būdas nustatyti, kuri programa užvaldo centrinį procesorių, yra skambinti Užduočių tvarkyklė(mygtukai: Ctrl + Shift + Esc ).

Užduočių tvarkyklėje atidarykite skirtuką "Procesai" ir rūšiuoti programas pagal procesoriaus apkrovą. Žemiau esančioje ekrano nuotraukoje matosi, kad liūto dalį procesoriaus (~84%) sunaudoja Firefox naršyklė (nors man jos net neveikia...).

Jei turite tokią „paslėptą“ programą, galite ją iš karto uždaryti iš užduočių tvarkyklės (tiesiog spustelėkite ją dešiniuoju pelės mygtuku...).

Pastaba

„Windows“ turi savo išteklių stebėjimą, kurį taip pat galima naudoti procesoriaus, atminties, disko ir tinklo apkrovai peržiūrėti. Norėdami jį paskambinti, paspauskite mygtukus Win + R, tada įveskite eilutę "Atviras" komanda resmon ir paspauskite Įeikite .

Svarbu!

Kai kuriais atvejais užduočių tvarkyklė neleidžia apskaičiuoti procesoriaus apkrovos priežasties. Beje, procesorius gali būti apkrautas ne 100%, o, tarkime, 20-50%...

Jei užduočių tvarkyklė neduoda peno apmąstymams, rekomenduoju naudoti vieną įrankį - Proceso naršyklė(beje, esantis Microsoft svetainėje...).

Process Explorer (ieškokite „nematomos“ stabdžių priežasties)

Puiki programa, kuri man padėjo ne kartą! Pagrindinė jos darbo sritis – parodyti VISUS kompiuteryje veikiančius procesus ir programas (turbūt niekas jos nepabėgs...). Tokiu būdu galite tiksliai nustatyti, kuris procesas naudoja procesorių.

Žemiau pateikta ekrano kopija yra labai orientacinė:

  • Sistemos tuščiosios eigos procesas- tai sistemos neveiklumo rodiklis %. Tie. pirmoje žemiau esančio ekrano pusėje - procesorius beveik 95% neveikia (būtent taip turėtų būti, jei jame atidaryta pora programų: naršyklė, grotuvas);
  • ir antroje ekrano dalyje Sistemos tuščiosios eigos procesas yra 65%, bet aparatinės įrangos pertraukimų ir DPC net 20% (o kartais pasiekia 70-80%)! Tai neturėtų atsitikti. Apskritai pertraukimai (tai sistemos pertraukimai) normaliai veikiant retai viršija kelis procentus! Tai yra priežastis, kodėl jūsų kompiuteris sulėtėja ir įkeliamas!
  • Beje, labai dažnai sistemą įkelia svchosts.exe procesas. Apskritai tai yra sisteminis procesas, tačiau yra nemažai virusų, kurie taip prisidengia ir apsimeta. Žemiau mes apsvarstysime klausimą, kaip juos sugauti...

Process Explorer: pirmoje ekrano kopijos dalyje - viskas gerai, antroje - procesorius ~20% apkrautas sisteminiais pertraukimais (aparatinės įrangos pertraukimais ir DPC).

Jei procesoriaus apkrova nutrūksta

Jei problema yra susijusi aparatinės įrangos pertraukimai ir DPC– tuomet greičiausiai problemos susijusios su vairuotojais. Tiksliau, dėl jų konflikto tarpusavyje ir, dar labiau, nesuderinamumu su jūsų Windows OS. Be to, net jei jūsų „Windows“ versija yra nurodyta tvarkyklės aprašyme, tai nėra 100% suderinamumo garantija.

Ypatingą dėmesį atkreipkite į tvarkykles: vaizdo plokštes, mikroschemų rinkinį. plokštės, tinklo plokštė, Wi-Fi, garso plokštė. Rekomenduoju vienu metu atsisiųsti kelias jų versijas ir išbandyti po vieną.

Rečiau problema siejama su virusais, o dar rečiau – su periferine įranga: spausdintuvu, skaitytuvu, tinklo plokštėmis ir kt.

Tvarkyklių tikrinimas ir atnaujinimas

Kartais išsirinkti tinkamas tvarkykles kompiuteriui/nešiojamam kompiuteriui nėra taip paprasta, kaip atrodo iš pirmo žvilgsnio... Apskritai, dažniausiai nauja tvarkyklės versija veikia geriau nei senoji (bet kartais būna visiškai priešingai). Jei jūsų procesoriaus naudojimas yra susijęs su aparatinės įrangos pertraukimai ir DPC- Rekomenduoju:

  1. pabandykite įdiegti tvarkykles iš oficialios įrangos gamintojo svetainės. Paprastai tam reikia nustatyti gamintoją - tam galite naudoti specialų. Kompiuterių charakteristikų nustatymo priemonės -;
  2. Jei neradote svetainės arba negalėjote nustatyti gamintojo, galite pabandyti naudoti kokį nors specialų. tvarkyklės atnaujinimo įrankis:
  3. Jei diegiant kyla problemų pašalinant seną tvarkyklę iš sistemos, rekomenduoju šią instrukciją:

Norėdami sužinoti, ar jūsų sistemoje yra įrenginių, kuriems nėra tvarkyklių, atidarykite įrenginių tvarkytuvė . Norėdami tai padaryti, skambinkite meniu "Bėk"- mygtukai Win + R, įveskite devmgmt.msc(pavyzdys žemiau esančioje ekrano kopijoje).

Virusų nuskaitymas

Virusai gali būti bet ko priežastimi... Paprastai, kai procesorius apkraunamas dėl virusų, galima rasti kokį nors procesą, kuris krauna sistemą. Dažniausiai šis procesas yra sisteminis: pavyzdžiui, virusai maskuojasi kaip procesas svchost.exe- net patyręs vartotojas negali iš karto rasti ir nustatyti viruso tarp realių procesų (tačiau šis failas bus aptartas toliau) ...

  1. „Windows XP, 7“: galite kelis kartus paspausti klavišą įkeldami OS (iš karto įjungę kompiuterį). F8- turėtų pasirodyti „juodas“ langas su įkrovos parinkčių pasirinkimu;
  2. Windows 8, 10: spustelėkite Win + R, įveskite komandą msconfig. Toliau skyriuje pasirinkite Windows OS ir pažymėkite langelį šalia elemento "Saugus režimas" . Išsaugokite nustatymus ir iš naujo paleiskite kompiuterį (ekrano kopija žemiau).

Ir patartina paleisti virusų nuskaitymą saugiuoju režimu. Norėdami tai padaryti, nebūtina kompiuteryje įdiegti antivirusinės programos – yra specialių paslaugų, kurių nereikia diegti.

Periferinė įranga

Jei problema dar nerasta, rekomenduoju pabandyti nuo nešiojamojo kompiuterio (kompiuterio) atjungti viską, kas nereikalinga: spausdintuvą, skaitytuvą, pelę ir kt.

Taip pat dar kartą atkreipsiu dėmesį įrenginių tvarkytuvė (tiksliau ant vairuotojų). Gali būti, kad sistemoje nėra įdiegtos kai kurių išorinių įrenginių tvarkyklės ir yra šauktukas...

Ypatingą dėmesį atkreipkite į senus įrenginius, kurie gali veikti naujoje „Windows“ OS, tačiau tvarkykles jiems įdiegėte „prievarta“ (pavyzdžiui, „Windows“ gali įspėti, kad nėra parašo, o jūs tęsėte diegimą) ...

Apskritai rasti tikrąjį kaltininką šiuo atveju gana sunku. Jei procesorius neįkeliamas saugiuoju režimu, rekomenduoju pabandyti po vieną pašalinti periferinės įrangos tvarkykles ir pažiūrėti, kaip elgiasi apkrova.

Padėti! Kaip pašalinti senas ar nereikalingas „malkas“ -

Svchost.exe įkelia procesorių - kas tai?

Failas labai dažnai įkelia procesorių svchost.exe- bent jau taip jis sako Užduočių tvarkyklė. Faktas yra tas, kad tai yra pagrindinis paslaugų įkėlimo procesas - tai yra, grubiai tariant, būtinas sistemos procesas, kurio negalima išvengti...

Čia galimi du atvejai:

  • Virusai dažnai užmaskuojami kaip šis procesas, ir jį sunku atskirti tikras svchost nuo maskaradavimo – net patyrę vartotojai ne visada gali tai padaryti;
  • tikras svchost gali apkrauti sistemą (tam tikromis situacijomis).

Kaip nustatyti, kuris svchost.exe failas yra sistema, o kuris ne?

Kai paleidžiate, turite eiti į meniu Paslaugų/procesų vadovas (žr. ekrano kopiją žemiau). Toliau sistemoje matysite VISUS procesus – juos reikia surikiuoti pagal pavadinimus (taip patogiau, man atrodo...).

Esmė tokia: visi sistemos procesai, apie kuriuos žino AVZ, yra pažymėti žalias spalva. Tie. jei turite sąrašą svchost juoda spalvos – žiūrėkite labai atidžiai, greičiausiai jos virusinės.

Beje, šio AVZ pagalba galite analizuoti visus kitus įtartinus procesus.

Išjunkite automatinius „Windows“ naujinimus

Dažnai svchostįkelia procesorių, nes įjungti automatiniai „Windows“ naujinimai. Siūlau jį išjungti (nėra nieko blogo - tiesiog porą kartų per mėnesį rankiniu būdu patikrinsite, ar nėra atnaujinimų - spustelėkite pelę 1-2 kartus...).

Pirmiausia turite atidaryti skirtuką paslaugos. Greičiausias būdas tai padaryti – paspausti mygtuką WIN+R, įveskite paslaugos.msc ir paspauskite Įeikite(kaip žemiau esančioje ekrano kopijoje).

  1. paleidimo tipas nustatyti "Išjungta";
  2. ir spustelėkite mygtuką „Stop“.

Išsaugokite nustatymus ir iš naujo paleiskite kompiuterį.

Ar yra perkaitimas? CPU temperatūros tikrinimas

Galima procesoriaus įkrovimo priežastis gali būti perkaitimas. Be to, jei anksčiau viskas buvo gerai, tai visiškai nereiškia, kad dabar jis negali pradėti perkaisti.

Dažniausiai perkaitimo priežastis yra:

  • dulkės(ypač jei sistemos blokas ilgą laiką nebuvo išvalytas nuo jo). Dulkės pamiršta ventiliacijos angas, oras pradeda blogai cirkuliuoti įrenginio korpuse – o karštas oras iš procesoriaus lieka vietoje, temperatūra pradeda kilti.
  • Lengviausias būdas atsikratyti dulkių- atidarykite sistemos bloko dangtelį ir dulkių siurbliu išpūskite dulkes (įjunkite atvirkštinį režimą). viskas sudėtingiau - jei dar niekada neskyrėte, rekomenduoju atiduoti specialistams...
  • aukšta kambario temperatūra . Dažniausiai tai nutinka karštu oru vasarą, kai už lango temperatūra gali gerokai pakilti. Tokiu atveju galite atidaryti sistemos bloko šoninį dangtelį ir į jį nukreipti įprastą ventiliatorių. Parduodamos specialios aušinimo trinkelės nešiojamiesiems kompiuteriams.
  • sugedęs aušintuvas (arba jis taip pat gali užsikimšti dulkėmis). Patarimas čia paprastas: pakeiskite arba išvalykite.

Padėti!

Požymiai, galintys rodyti perkaitimą:

  1. kompiuteris (nešiojamasis kompiuteris) pradeda užšalti, gali pasirodyti mėlynas ekranas, staigus perkrovimas arba išjungimas;
  2. stiprus aušintuvo triukšmas – tai ypač pastebima nešiojamuosiuose kompiuteriuose. Jūsų ranka, priėjus arčiau kairiosios pusės (kur nešiojamuosiuose kompiuteriuose dažniausiai yra ventiliacijos angos), taip pat jaučiasi išeinantis karštas oras, kartais net netoleruoja ☝.
  3. Įvairios programos sugenda su klaidomis.

Norėdami sužinoti procesoriaus temperatūrą- Norėdami nustatyti kompiuterio charakteristikas, rekomenduoju naudoti tam tikrą įrankį. Pavyzdžiui, man patinka Speccy ir Aida 64. Procesoriaus temperatūros ekrano kopiją galite pamatyti iš Speccy žemiau (t=49 °C, Celsijaus laipsniai).

Kokia turėtų būti procesoriaus temperatūra?

Labai populiarus klausimas, į kurį negalima atsakyti vienareikšmiškai. Faktas yra tas, kad skirtingi gamintojai turi skirtingą kritinę temperatūrą.

Atnaujinimas 10/1/19.

Intel procesoriaus temperatūra: kaip ją rasti; kuris laikomas normaliu, o kuris perkaista -

Asmeniniam kompiuteriui

Apskritai, idealus variantas yra pažvelgti į savo procesoriaus modelį ir atidaryti gamintojo svetainę: jame visada nurodomos kritinės temperatūros.

Paprastai tariant, jei jūsų procesoriaus temperatūra yra iki 40°C (laipsniai Celsijaus), tai su juo viskas gerai, aušinimo sistema susidoroja. Aukštesnė nei 50°C temperatūra gali rodyti aušinimo sistemos problemas (arba didelį dulkių kiekį). Viskas, kas viršija 60 laipsnių, turi būti atidžiai išnagrinėta ir imtis veiksmų: nuvalyti nuo dulkių, sumontuoti papildomus aušintuvus (arba pakeisti senus).

Nešiojamam kompiuteriui

Kalbant apie nešiojamuosius kompiuterius, juosta yra šiek tiek kitokia. Kadangi vietos nešiojamajame kompiuteryje yra nedaug, procesoriai čia įkaista aukščiau. Pavyzdžiui, neretai daugelio procesorių darbinė temperatūra esant apkrovai siekia apie 70-80°C (ypač žaidimų modeliuose).

Kai tuščiąja eiga, šis lygis paprastai yra apie 40-50°C. Apskritai turėtumėte pradėti nerimauti (dėl daugelio šiuolaikinių nešiojamųjų kompiuterių), jei procesoriaus temperatūra pakyla virš 75-80°C (bent jau patikrinkite, ar tai normalu jūsų įrenginiui).

Dažniausiai tokia aukšta temperatūra pasiekiama paleidžiant žaidimus, redaktorius ir kitas sunkias programas.

Beje, daugelis patyrusių vartotojų (ir kai kurie specialistai) kartoja kritinę 105°C temperatūrą šiuolaikiniams nešiojamiesiems kompiuteriams. Pasakysiu taip, nešiojamas kompiuteris gali ir veiks prie 90-95°C, o gal net ir 100°C – bet pagrindinis klausimas: kiek? Apskritai ši tema daugeliui yra prieštaringa...

PS

Paskutinis patarimas. Kartais rasti ir pašalinti didelės procesoriaus apkrovos ir kompiuterio stabdžių priežastis yra gana varginantis ir nelengvas.

Asmeninio kompiuterio širdis yra CPU. Tai elektroninis skaitmeninis įrenginys, galintis veikti pagal tam tikrą programą.

Panagrinėkime kompiuterio įrenginį. Pirma, iššifruokime būdvardžius „elektroninis“ ir „skaitmeninis“ atskirai.

Būdvardis „elektroninis“ reiškia, kad kompiuterio procesorius veikia elektros energija ir visi šio įrenginio apdorojami signalai yra elektriniai.Tačiau radijo elektronikoje elektroniniai prietaisai skirstomi į 2 dideles klases: analoginius ir skaitmeninius. Būdvardis „skaitmeninis“ reiškia, kad kompiuterio procesorius priklauso skaitmeninių, o ne analoginių įrenginių klasei.

Minėti analoginiai įrenginiai tarp elektroninės įrangos vyravo prieš 20-30 metų. Ir jie atsirado, kai radijo inžinieriai išmoko įrašyti ir perduoti garsą bei vaizdą analoginių signalų pavidalu. Tai buvo radijo aparatai, televizoriai, magnetofonai ir kt.

Analoginiai įrenginiai vietą delnui užleido tik praėjusio šimtmečio pabaigoje, kai skaitmeninių prietaisų kūrimas paskatino galimybę įrašyti ir perduoti bet kokią informaciją, įskaitant jau minėtus garsus ir vaizdus, ​​naudojant skaitmeninius kodus.

Skaitmeniniai signalai, skirtingai nei analoginiai, yra šiek tiek jautrūs trikdžiams ir yra perduodami dideliais atstumais be iškraipymų; jie geriau įrašomi, saugomi ir laikui bėgant „neblogėja“.

Kompiuterio procesorius yra vienas sudėtingiausių įrenginių tarp skaitmeninių elektroninių prietaisų. Tai savotiška skaitmeninių technologijų vystymosi apoteozė.

Išoriškai tai silicio plokštelė, sumontuota korpuse, kuriame yra daug elektros gnybtų, skirtų prijungti prie maitinimo šaltinio ir kitų kompiuterio įrenginių.

Kadangi procesorius pagamintas iš silicio plokštelių, kompiuterių žargonu jis kartais vadinamas „uoliena“, nes silicis yra labai patvari medžiaga.

Šioje plokštelėje labai tiksliai nusodinant medžiagą (tikslumas matuojamas angstremais) vakuume ir išlaikant idealią gamybos švarą, atkuriama labai sudėtinga ir itin miniatiūrinė elektros grandinė, susidedanti iš dešimčių ir šimtų tūkstančių mažyčių elementų (daugiausia tranzistoriai) sujungti vienas su kitu ypatingu būdu.

Tokių prietaisų gamyba yra tokia aukštųjų technologijų, kad tik labiausiai išsivysčiusios ekonomikos šalys sugebėjo tai įvaldyti. Įdomu tai, kad procesorių gamyboje jie matuoja ne defektus, kaip įprasta beveik visose pramonės šakose ir gamyboje, o matuoja vadinamąjį naudingų produktų procentą, nes labai mažai procesorių ruošinių galiausiai tampa funkciniais įrenginiais.

Aukštos kokybės silicio plokštelės dedamos į pakuotę su laidais ir su aušinimo įrenginiais (radiatoriumi ir ventiliatoriumi), nes šimtai tūkstančių miniatiūrinių tranzistorių jų veikimo metu išskiria nemažą kiekį šilumos.

Jei pažvelgsite į kompiuterio procesoriaus vidinę loginę struktūrą, tai yra tarpusavyje sujungtų įrenginių rinkinys:

– aritmetinis-loginis vienetas (ALU), kuriame faktiškai konvertuojama informacija,

– valdymo įtaisas (CU), skirtas aritmetiniam-loginiam įrenginiui valdyti,

– ir atminties registrai (ląstelės), kuriuose saugomi įvesties duomenys, tarpiniai ir gaunami duomenys.

Komandos, skirtos valdyti procesoriaus darbą, perduodamos iš RAM į valdymo įrenginį. Šis įrenginys valdo aritmetinio loginio bloko veikimą pagal gautas komandas.

Savo ruožtu ALU, vadovaudamasis iš valdymo bloko gautomis komandomis, vykdo

  • įvesti informaciją iš registrų,
  • informacijos apdorojimas ir
  • tvarkomos informacijos įrašymas į registrus.

Procesorių registrai gali keistis informacija su RAM ląstelėmis (taip pat remiantis ALU instrukcijomis). Todėl galiausiai kompiuterio procesorius

  • apdoroja duomenis, gautus iš RAM,
  • o apdoroti duomenys taip pat patalpinami į RAM.

Šis trumpas kompiuterio procesoriaus veikimo aprašymas iliustruoja, kad duomenų apdorojimas procesoriuje yra labai „mažų“ žingsnių seka:

  • duomenų skaitymas iš RAM į procesoriaus registrus,
  • šių duomenų apdorojimas ir
  • duomenų grąžinimas iš procesoriaus registrų į RAM ląsteles.

Tačiau kompensacija už tai yra didžiausias skaičiavimų greitis, šimtai tūkstančių ir milijonai tokių „mažų“ operacijų kas sekundę. Ir atitinkamai užtikrinamas didelis informacijos apdorojimo greitis, todėl kompiuteris yra nepakeičiamas pagalbininkas darbui, mokymuisi, poilsiui, pramogoms.

Dalintis