Arkitektura e Kompjuterit: Mikroprocesorët Shumëbërthamësh

Skema e një njësie përpunimi me shumë bërthama

Përparimi në teknologjinë e fabrikimit të mikroprocesorëve vazhdoi me ritme të shpejta edhe në fillimin e viteve 2000. Një nga ndryshimet e rëndësishme të kësaj periudhe ishte hedhja në tregun e kompjuterit personal e mikroprocesorëve 64-bitësh. Kjo kategori procesorësh përmban regjistra me gjerësi prej 64 bitësh dhe përdor një linjë të po këtyre përmasave për transferimin e të dhënave midis saj dhe kujtesës qëndrore. Adresat e kujtesës (si dhe fjalët e kujtesës) janë gjithashtu 64 bitëshe, çka mundësoi mbështetje për tipet 64 bitëshe të të dhënave (p.sh. long int – numër i plotë i gjatë). U bë gjithashtu e mundur të adresohej një kujtesë fizike më e madhe se 4 GB, duke qenë se arkitektura 32-bitëshe mund të adresojë deri në 2³² = 4 x 2³⁰ = 4 GB kujtesë fizike.

Në përputhje me këtë zhvillim, ndryshuan dhe bashkësitë e instruksioneve. Deri në këtë kohë tregu i kompjuterave personal dominohej nga familja x86 me fabrikues kryesorë Intelin dhe AMD-në. Kjo bashkësi instruksionesh u zëvendësua gradualisht nga bashkësia x86_64 e njohur ndyshe si x64. Një nga mikroprocesorët e parë 64-bitësh ishte ai i përdorur nga kompania Sony në paketën e videolojërave Play Station 2 (shqipto: plei steishën) të hedhur në treg në vitin 2000. Më tej u hodhën në treg gjenerata të ndryshme të mikroprocesorëve Itanium nga Inteli dhe Opteron e Athlon 64 nga AMD-ja. Sistemet operative (për më shumë kalo këtu) dhe softuerët e tjerë të kësaj kohe vazhdonin të shkruheshin me kod 32-bitësh. Programet me kod 32-bitësh vazhduan të përdoren në sistemet 64-bitësh edhe për shumë vite duke u zëvendësuan gradualisht. Është e mundur madje që të gjendet ndonjë program 32-bitësh i instaluar në makina 64-bitëshe edhe sot e kësaj dite.

Progresi në teknologjinë e fabrikimit të mikroqarqeve vazhdoi ndërkohë paralelisht me ndryshimet në bashkësitë e instruksioneve. Përmasat e tranzistorëve CMOS (për më shumë informacion rreth tranzistorëve mund të lexoni këtë artikull) në mikroqarqe arritën rende mikrometrike (dhe më vonë nanometrike). Përqëndrimi i tyre në brendësi të mikroqarqeve vazhdoi ndërkohë të rritej në përputhje me ligjin e Murit (shpjegohet te ky artikull). U bë kështu e mundur që brenda një mikroqarku të vendoseshin fillimisht dy e më tej më shumë bërthama përpunimi. Mikroprocesorët shumëbërthamësh (ang. multi-core) u shfaqën në tregun e kompjuterit personal në mesin e viteve 2000. AMD Athlon X2 dhe Intel Core 2 Duo njihen si dy nga arkitekturat e para dybërthamëshe (ang. dual-core). Zhvillime të mëdha u arritën edhe në modelet Phenom X3 (viti 2008) dhe Phenom X4 (viti 2009) nga AMD-ja si dhe seria shumë e famshme i7 (viti 2008) nga Inteli. Seritë e tjera të intelit si i3 dhe i5 u hodhën në treg një vit më vonë dhe që prej asaj kohe janë përditësuar me modele të reja thuajse çdo vit. Numri i bërthamave në këta mikroprocesorë ka ardhur gjithnjë e në rritje, nga 2 deri në 8 për tregun e kompjuterit personal dhe deri në 64 bërthama për sistemet e përpunimeve masive.

Në varësi të tipit të bërthamave të vendosura në brendësi të mikroqarkut lindën procesortët homogjenë (që kanë në brendësi disa bërthama identike) dhe ata heterogjenë (që kanë në brendësi bërthama të ndryshme). Tregu masiv dominohet kryesisht nga mikroprocesorët homogjenë. Mikroprocesorët heterogjenë përdoren më së shumti në sistemet e videolojrave si dhe sistemet e ngulitura. Kalimi nga mikroprocesori njëbërthamësh në mikroprocesorin shumëbërthamësh krijoi mundësinë e uljes së frekuencës së punës, të paktën në modelet e para. Një frekuencë më e ulët pune lehtësoi projektimin e sistemeve të ftohjes dhe uli shpenzimin e energjisë. Me kalimin e viteve, kërkesa për shpejtësi ekzekutimi gjithnjë e më të larta çoi në rritje të vazhdueshme të frekuencave edhe në njësitë shumëbërthamëshe, njësoj siç ndodhi me mikroprocesorët njëbërthamësh vite më parë.

Avantazhi më i madh që sollën mikroprocesorët shumëbërthamësh është mundësia e ekzekutimit të programeve në bërthama të ndryshme duke e rritur shpejtësinë e punës së sistemit. Duhet theksuar gjithësesi se fitimi në shpejtësi ekzekutimi varet ndjeshëm nga mënyra se si janë shkruar apo zbatuar algoritmat dhe softuerët përkatës. Kufizimi kryesor vjen nga shkalla (apo përqindja) e kodit që mund të ekzekutohet paralelisht në bërthama të ndryshme. Rritja e kësaj shkalle, pra paralelizimi gjithnjë e më i madh i kodit të programeve është një drejtim kërkimor i rëndësishëm për shkak të përfitimeve të mëdha në shpejtësi që mund të sjelli. Fatkeqësisht, ka shumë probleme apo algoritma që nga natyra e tyre janë sekuencial, pra kodi i tyre nuk mund të paralelizohet. Ky kod sekuencial mund të ekzekutohet vetëm në një bërthamë dhe nuk përfiton nga arkitekturat shumëbërthamëshe.

  1. https://en.wikipedia.org/wiki/History_of_general-purpose_CPUs
  2. https://en.wikipedia.org/wiki/Microprocessor
  3. https://en.wikipedia.org/wiki/64-bit_computing
  4. https://en.wikipedia.org/wiki/Multi-core_processor