5.Microprocesori

32
Mikropoces ori Identifikimi i Komponenteve Baze, Leksion nr.5 MSc Marsela Njohuri Per arsye praktike, temri mikroprocesor dhe njesia qendrore e perpunimit (CPU) nenkuptojne te njejten gje: nje cip te madh brenda kompjuterit tuaj qe shume njerez shpesh e perkruajne si trurin e sistemit. CPUte emertohen sipas markes dhe modelit si Core i7 ose AMD Phenom II X4. Komponentet Baze te CPU Core Edhe pse kompjuteri mund te duket inteligjent, te krahasosh CPUne me trurin njerezor eshte nje mbivleresim i aftesise te CPUse. Nje CPU punon me shume si nje makine e fuqishme llogaritese se sa si nje tru njerezor. Procesimi i nje sasie shume te madhe informacioni e ben CPUne te duket inteligjente. Eshte me teper pune shpejtesie se sa zgjuarsie qe e ben CPUne te ekezekutoje nga programet me te thjeshta deri tek me komplekset. Per te kuptuar se si funksionon nje CPU do nisim shpjegimin duke nisur nga gjyshi i CPUve Intel 8088, qe u shpik ne fundvitet 1970. Edhe pse kjo CPU u shpik 25 vjet me pare, eshte i pershtatshem per te krijuar nje ide rreth pjeseve kryesore qe permban nje CPU moderne sot. Burri ne Kuti (The Man in the Box) Le te mendojme sikur CPUja eshte nje burre brenda ne kuti (Figura 5- 1). Ky zoteri eshte i zgjuar. Ai mund te kryeje shume veprime matematikore, te manipuloje te dhena dhe te jape pergjigje nje shpejtesi shume te madhe. Figura 5-1 Burri ne kuti Ky tipi eshte shume i dobishem per ne dhe jeton i mbyllur ne nje kuti

description

5.Microprocesori

Transcript of 5.Microprocesori

Per arsye praktike, temri mikroprocesor dhe njesia qendrore e perpunimit (CPU) nenkuptojne te njejten gje: nje cip te madh brenda kompjuterit tuaj qe shume njerez shpesh e perkruajne si trurin e sistemit. CPUte emertohen sipas markes dhe modelit si Core i7 ose AMD Phenom II X4.

Komponentet Baze te CPU CoreEdhe pse kompjuteri mund te duket inteligjent, te krahasosh CPUne me trurin njerezor eshte nje mbivleresim i aftesise te CPUse. Nje CPU punon me shume si nje makine e fuqishme llogaritese se sa si nje tru njerezor. Procesimi i nje sasie shume te madhe informacioni e ben CPUne te duket inteligjente. Eshte me teper pune shpejtesie se sa zgjuarsie qe e ben CPUne te ekezekutoje nga programet me te thjeshta deri tek me komplekset.Per te kuptuar se si funksionon nje CPU do nisim shpjegimin duke nisur nga gjyshi i CPUve Intel 8088, qe u shpik ne fundvitet 1970. Edhe pse kjo CPU u shpik 25 vjet me pare, eshte i pershtatshem per te krijuar nje ide rreth pjeseve kryesore qe permban nje CPU moderne sot.

Burri ne Kuti (The Man in the Box)Le te mendojme sikur CPUja eshte nje burre brenda ne kuti (Figura 5-1). Ky zoteri eshte i zgjuar. Ai mund te kryeje shume veprime matematikore, te manipuloje te dhena dhe te jape pergjigje nje shpejtesi shume te madhe.

Figura 5-1 Burri ne kuti

Ky tipi eshte shume i dobishem per ne dhe jeton i mbyllur ne nje kuti te vogel. Perpara se te mund ta veme ne pune, duhet te gjejme nje menyre per te shkembyer informacion me te (Figura 5-2).

MikropocesoriIdentifikimi i Komponenteve Baze, Marredhenia CPU - Memorje1Leksion nr.5

MSc Marsela ShaniNjohuri Kompjuterike

Figura 5-2 Si mund te komunikojme me Burrin ne Kuti?

Imagjinoni sikur te instalojme nje set me 16 llamba, 8 brenda kutise dhe 8 jashte saj. Secila nga 8 llambat brenda kutise lidhet me njeren nga 8 llambat jashte saj ne cift. Cdo cift eshte ose i ndezur ose i fikur. Mund ti kontrolloni 8 ciftet e llambave duke perdorur celesa te vendur jashte kutise. Burri ne Kuti gjithashtu mund ti kontrolloje ato duke perdorur nje set identik celesash te vendosur brenda kutise. Ky tip komunikimi me ate te llambave quhet external data bus (EDB).Figura 5-3 tregon nje cope te murit te kutise duke demostruar external data bus-in. Ne castin kur ju ose Burri ne Kuti takon nje celes, te dyja llabat qe jane ne cift ndizen, gjithashtu takohet edhe celesi nga ana tjeter. Nese ju ose Burri ne Kuti, mbyllni nje celes, llambat e ndezura ne te anet fiken, se bashku me celesin ne anen tjeter.

Figura 5-3 Copa e murit te kutise qe demostron external data bus-in

Duke krijuar model on/off te llambave qe perfaqesojne te dhena te caktuara ose komanda, ju mund ti dergoni informacion Burrit ne Kuti, dhe ai mund tju pergjigjet ne te njejten menyre supozohet se me pare ne kohe ju keni rene dakort per kuptimin e modeleve te ndryshme te dritave. Duhet te keni te qarte, qe kjo eshte thjesht nje analogji, jo realitet. Ekziston nje external data bus, por nuk kemi ndonje llambe ose celes brenda CPUse. Ajo cfare do te gjeni jane tela te vegjel qe dalin jashte CPUse. Nese teli do kishte voltash dhe me te do lidhej nje llambushke shume e vogel, atehere ajo do te ndriconte. Nese teli nuk do te kishte energji atehere llambushka nuk do te ndriconte. Ne kete analogji bazohet shembulli me llambat dhe celesat.

Figura 5-4 Vereni me kujdes pjesen e poshtme te CPU

Tani qe external data bus na mundeson komunikimin me Burrin ne Kuti, na ngrihet problemi i emertimit te modeleve. Eshte e bezdisshme te thuhet on-off-off-off-on-on-off-off per te treguar se cili tel ka volazh e cili jo. Ne vend te kesaj do perdorim numrin 1 per te treguar qe llamba eshte e ndezur dhe 0 per te treguar qe eshte e fikur. Ne kete menyre per figuren e meposhtme (Figura 5-5) mund ta pershkruajme duke shenuar 10101100.

Figura 5-5Ketu 1 tregonqe llamba eshte e ndezur, 0 tregon qe eshte e fikur.

RegjistratBurri ne Kuti eshte nje kendveshtrim i mire i mjedisit te punes brenda ne CPU. EDB ju jep nje mundesi komunikimi me Burrin ne Kuti ne menyre qe ti jepni pune per te bere. Por ne menyre qe te punoje ai ka nevoje per tavolina pune; per 4 te tilla. Secila tovaline ka 16 llamba te vendosura njera pas tjetres. Ato nuk jane te vendosura ne cifte. Cdo llambe kontrollohet nga nje celes qe e leviz Burri ne Kuti. Duke krijuar modele on/off ai i perdor tavolinat per te kryer veprime matematikore. Ne nje kompjuter te vertete keto tavolina njihen si regjistra (Figure 5-6).

Figura 5-6Kater regjistrat general-purporse

Te gjitha CPUte kane nje numer shume te madh regjistrash, por tani per tani do te perqendrohemi ne kater me te zakonshmit: regjistrat general-purporse. Intel i ka emertuar AX, BX, CX, and DX. Perpara se ta veme ne pune, duhet ti japim Burrit ne Kuti edhe librin e kodeve (the codebook).

Figura 5-7 tregon librin e kodeve qe do te perdorim. Do ti japim atij nje kopje dhe nje tjeter do e mbajme vete. Ne kete liber kodesh, per shembull, 10000111 do te thote Move the number 7 into the AX register.Keto komanda quhen gjuha e makines se mikroprocesorit. Komandat e renditura me poshte nuk jane komanda reale, jane komanda shume te thjeshta per te treguar vetem se si punohet me to. Intel 8088 CPU, perdorte komanda shume te ngjashme me keto, plus edhe disa qindra te tjera. Ja disa shembuj te komandave te Intel 8088:

10111010The next line of code is a number. Put that number into the DX register.01000001Add 1 to the number already in the CX register.00111100Compare the value in the AX register with the next line of code.

Figura 5-7CPU codebook

Duke vendosur njera pas tjetres komandat e gjuhes se makines te quajtura linja (rreshta) kodi - ne external data bus, mund te udhezoni Burrin ne Kuti qe te beje detyra specifike. Te gjitha komandat e gjuhes se makines qe CPUja eshte ne gjendje te kuptoje perbejne setin e instruksioneve te CPUse .

Pra deri tani: Burri ne Kuti mund te komunikoje me boten e jashtme me ate te EDB, ai ka kater regjistra pune dhe nje liber kodesh setin e intruksioneve qe i duhet per te kuptuar modelet (Figure 5- 8).

Figure 5-8CPUja deri tani

OraTani mund ti japim komanden e pare Burrit ne Kuti duke ndezur llambat e EDB. Por si mund ta kuptoje ai qe ne kemi perfunduar se ndezuri/fikuri llambat qe ai te filloje nga puna?Imagjinoni nje zile brenda ne kuti qe aktivizohet nga nje buton jashte kutise. Cdo here qe ju shtypni butonin zilja bie dhe Burri ne Kuti lexon setin e rradhes se dritave qe jane vendosur ne EDB. Kompjuteri nuk perdor nje zile, por rolin e saj e luan nje tel i vecante i quajtur teli i ores (clock wire) qe zakonisht ne diagrama shenohet CLK. Nje ngarkim ne telin CLK i tregon CPUse se nje cope tjeter informacioni eshte duke pritur per tu procesuar (Figure 5-9).

Figura 5-9 CPUja nuk ben asgje deri ne castin kur aktivizohet nga ora.

Ne menyre qe CPUja te procesoje nje komande te vendosur ne EDB duket aplikuar nje minimum i caktuar voltazhi ne telin CLK. Nje ngarkim i vetem i telit te CLK quhet nje cikel ore (clock cycle). Ne fakt, CPUse i duhen te pakten dy cikle dhe zakonisht me shume per te vepruar mbi nje komande. Madje, nje CPU mund te kerkoje qindra cikle qe te procesoje disa komanda (Figure 5-10).Numri maksimal i cikleve te ores qe nje CPU mund te perballoje ne nje njesi te caktuar kohe quhet shpejtesia e ores (clock speed). Shpejtesia e ores eshte shpejtesia me e madhe me te cilen mund te punoje nje CPU. Kjo percaktohet nga fabrikuesi. Procesori Intel 8088 e kishte shpejtesine e ores 4.77 MHz (4.77 milion cikle ne sekonde), jashtezakonisht shume e ngadalte per sandartet moderne por ende shume e larte po te karahasohet me letren dhe lapsin.

Figura 5-10 CPUja zakonisht ka nevoje per me shume se nje cikel qe te marre nje rezultat.

Sot CPUte ekzekutojne shpejtesi qe i kalojne 3GHz (3miliard cikle ne sekond).1 hertz (1 Hz) = 1 cikel per sekonde1 megahertz (1 MHz) = 1 milion cikle per sekonde 1 gigahertz (1 GHz) = 1 miliard cikle per sekonde

SHENIM Beresit e CPUve shesin ekzaktesisht te njejten marke dhe model te nje CPUje por me shpejtesi te ndryshme. Te gjitha keto CPU vijne nga i njejti vend, atehere pse ndodh kjo diference ne shpejtesi? Cdo CPU vjen me diferenca te vogla gabime me sakte ne silikonin e tyre, gje qe e ben nje CPU te ekzekutohet me shpejt se nje tjeter. Diferenca delnga testimi qe kryhet mbi CPUte per te percaktuar shpejtesine e tyre maksimale.

Duhet te kuptoni qe shpetesia e ores eshte shpejtesia maksimale e CPUse, jo shpejtesia te cilen ajo duhet te ekzekutohet. CPUja mund te ekzekutohet ne shume shpejtesi te ndryshme per sa kohe keto shpejtesi nuk kalojne shpejtesine e ores.Kristali i sistemit (system crystal) percakton shpejtesine me te cilen punon CPUja dhe gjithe pjesa e mbetur e Pcse. Kristali i sistemit eshte zakonisht nje oshilator kuartzi, shume i ngjashem me ate te orave te dores, i salduar ne motherboard (Figure 5-11). Oshilatori dergon nje imbuls elektrik me nje shpejtesi te caktuar, disa miliona here ne sekonde. Ky sinjal i dergohet fillimisht nje cipi ore (clock chip) qe rregullon pulsin, zakonisht duke e shumefishuar pulsin e derguar nga kristali. Kristali nuk vendoset direkt ne telin e ores se CPUse sepse nese do te duhet te ndryshoje CPUne do duhej te ndryshoje dhe kristalin.

Figure 5-11 Dy nga shume tipet e kristaleve te sistemit

Nese kristali i sistemit vendos nje puls me te ulet se shpejtesia e ores se CPUse, CPUja punon pa probleme me shpejtesine e vendosur nga kristali. Nese kristali vendos nje shpejtesi me te larte se ajo e ores se CPUse, CPUja mund te mbinxehet dhe te digjet.

tuaj.

SHENIM Perdorues agresive ndonjehere kryejne qellimisht overclocking (rritjen e cikleve te ores) te CPUse duke e detyruar cipin e ores qe te shumefishoje pulsin mbi shpejtesine per te cilen eshte dizenjuar CPUja. Ata e bejne kete ne menyre qe te bejne CPU te ngadalta (te lira) te ekzekutohen shpejt. Kjo pune eshte me rrezik dhe mund te shkaterroje kompjuterin

Perpara se te instaloni nje CPU ne nje sistem, duhet qe te siguroheni qe kristali dhe cipi i ores te kete pulsin e duhur per nje CPU te caktuar. Ne sistemet e sotme, motherboardet flasin me CPUne (me nje shpejtesi shume te ulet) dhe CPUja i tregon motherboard-it shpejtesine e ores per te cilen ai ka nevoje duke bere keshtu rregullimin automatik te pulsit.

SHENIM Disa motherboard-e ju mundesojne te mbishkruani vlerat default ose automatike duke ndryshuar nje jumper ose duke bere ndryshime ne CMOS (do studiohen ne kapitullin BIOS dhe CMOS). Disa motherboard-e te lejojne ndryshimin e shpejtesise se ores se CPU edhe nepermjet software-ve te ndryshem.

Te Rikthehemi te External Data BusDeri tani kemi pare komponentet qe perfshihen ne proceset e CPUse. Le te perpiqemi te kryejme nje ushtrim shume te thjeshte per te pare se si funksionin ky sistem. Per shembull, mund ti themi CPUse te na llogarise 2 + 3. Per te bere kete ju duhet ti dergoni CPUse nje sere komandash. Referojuni librit te kodeve ne figuren 5-7 per te perkthyer instruksionet qe po i jepni Burrit ne Kuti ne komanda binare.Le ta shohim konkretisht:

1. Vendos 10000000 ne external data bus (EDB).2. Vendos 00000010 ne EDB.3. Vendos 10010000 ne EDB.4. Vendos 00000011 ne EDB.

5. Vendos 10110000 ne EDB.6. Vendos 11000000 ne EDB.

Kur te keni perfunduar me hapin 6, vlera ne EDB do te jete 00000101, numri decimal 5 i shkruar sipas kodit binar.Ky set instruksionesh njihet si nje program, qe eshte nje sere komandash te derguara ne CPU ne nje renditje te caktuar duke bere qe CPUja te kyeje nje detyre. Cdo konfigurim i EDB eshte nje linje (rresht) kodi. Rrjedhimisht, ky program ka gjashte linja (rreshta) kodi.

MemorjaLe te kthehemi pak mbrapa per te kuptuar se si arrin kodi i programit ne EDB. Programi ruhet ne hard drive. Ne teori, mund te ndertohet nje PC qe dergon te dhena nga hard drive direkt ne CPU, por ka nje problem hard drive eshte shume i ngadalte.Per kete na ben pune cilado paisje qe eshte ne gjendje te mbaje njekohesisht tete zero dhe njesha.Keto paisje njihet ne pergjithsi si memorje. Shohim pak programin:

1. Put 2 in the AX register.2. Put 5 in the BX register.3. If AX is greater than BX, run line 4; otherwise, go to line 6.4. Add 1 to the value in AX.5. Go back to line 1.6. Put the value of AX on the EDB.

Ky program ka nje IF, e njohur gjithashtu si degezim. CPUja ka nevoje te adresoje cilindo rresht te kesaj memorjeje ne menyre qe te mund ti thote asaj, Give me the next line of code oseGive me line 6. Gjithashtu memorja duhet te kujdeset qe te ruaje edhe rezultatet e programit. Ne rastin e 2+3 rezultati eshte 5, memorja duheta ta ruaje 5en ne nje menyre te tille qe mund te perdoret ne nje moment te menvonshem nga programi ose qofte nga programe te tjera.

Memorja dhe RAMMemorja duhet te ruaje jo vetem programe por edhe te dhena. CPUja duhet te jete ne gjendje te shkruaje dhe te lexoje ne kete paisje. Per me teper, ky sistem duhet ti lejoje CPUse qe te mund te kerceje nga nje rresht i kodit ne nje tjeter me te njejten lehtesi. E gjithe kjo duhet bere ne nje kohe te perafert me shpejtesine e ores se CPUse. Paisja qe e ben te mundur kete eshte RAMi.Ne kapitullin 3 dhe 4, RAMi, u tregua me me hollesi koncepti i RAMit si nje matrice elekronike, si ato te gjeneruara nga Microsoft Excel(Figure 5-12). Cdo rresht ne matrice eshte 8 bite i gjere qe te perkoje me gjeresine e e EDB te Intel 8088. Cdo rresht prej tete bitesh quhet nje bajt. RAMi eshte i organizuar ne rreshta me madhesi bajtesh. Ja tek jane termat perkates te perdorur:

1 or 0 individual = nje bit 4 bite = nje nibble 8 bite = nje bajt (byte) 16 bite = nje fjale (word) 32 bite = nje dobio fjale (double word) 64 bite = nje paragraf ose kuart fjale (paragraph or quad word)

Figura 5-12 RAM si matrice

Elektronikisht, RAMi duket si nje matrice, por realisht ai eshte i perbere nga nje grup gjysempercuesish te salduar ne nje modul.CPUja akseson me te njejten lehtesi cdo rresht te RAMit, gje qe shpjegon eshte aksesimin e rastesishem random access te RAMit. Kompjuerat perdorin dynamic RAM (DRAM) si memorje kryesore. DRAM ka nevoje per ngarkim elektrik konstant dhe nje rifreskim periodik te qarqeve, perndryshe ai humbet te dhenat prandaj kjo e ben ate dinamik dhe jo statik. Rifresikimi mund te shkaktoje disa vonesa, sepse CPUja duhet te prese derisa ai te perfundoje.

Address BusDeri tani, PCja konsiston vetem ne nje CPU dhe nje RAM. Mirepo keta te dy kane nevoje per ndonje menyre komunikimi me njeri-tjetrin. Duke qene se RAM ka miliona rreshta, ne na duhet te marrim permbajtjen e nje rreshti ne nje kohe. Prandaj lidhja e RAMit me CPUne nepermjet EDB duhet te jete e tille qe ti jape mundesine CPUse te shikoje cilindo rresht te RAM. Kete rol e luan pikerisht MCCja.MCCja permban nje qark special qe te mund te kape permbajtjen e nje rreshti te RAM dhe ta vendose ate ne external data bus. Nga ana e saj, kjo i mundeson CPUse qe te punoje mbi ate komande (Figura 5-13).Sapo MCCja eshte gati te kape cilindo rresht te RAM, CPUse i duhet qe ti tregoje asaj se per cilin rresht ka nevoje. Per kete arsye CPUne e pajisim me nje set te dyte telash, te quajtur address bus, me te cilat ajo mund te komunikoje me MCCne. CPU te ndryshme kane numer te ndryshem telash, gje qe ndikon shume ne sasine e RAMit qe kjo CPU eshte ne gjendje te perballoje. Intel 8088 ka 20 tela ne address bus (Figure 5-14).Duke fikur dhe ndezur telat e address bus ne kombinime te ndryshme, CPUja i tregon MCCse se cilin rresht te RAMit deshiron ne nje moment te caktuar. Cdo kombinim zerosh dhe njeshash te ketyre telave tregon vetem nje rresht te caktuar te RAMit.

MikropocesoriIdentifikimi i Komponenteve Baze, Marredhenia CPU - Memorje10Leksion nr.5

Figura 5-13 MCCja kap nje rresht nga RAMi.

Figura 5-14 Address bus

MikropocesoriIdentifikimi i Komponenteve Baze, Marredhenia CPU - Memorje11Leksion nr.5

Sa kombinime (modele) kemi?Cdo tel ka dy gjendje te mundshme: on dhe off. Nese adress bus do te konsistonte ne nje tel rrjedhimisht do te kishim 21 = 2 kombinime te ndryshme. Nese do te kishim dy tela atehere kemi 22 = 4 kombinime te ndryshme. Nese kemi 20 tela, kemi 220 = 1,048,576 kombinime te mundshme. Duke qene se cdo kombinim i referohet nje rreshti kodi dhe cdo rresht RAMi eshte nje bajt, nese njohim numrin e telave ne address bus-in e CPUse, njohim dhe maksimunim e sasise se RAM qe mund te perballoje nje CPU e caktuar.Intel 8088 mund te perballoje deri ne 1,048,576 bajte ose 1MB (megabajt) hapsire adresimi (edhe pse realisht u perdoren 64KB).Ceshte nje mega? Le te shikojme si behet emertimi i sasise se informacionit:

1 kilo = 210 = 1,024 (shkurtimisht K)1 kilobyte = 1,024 bytes (shkurtimisht KB) 1 mega = 220 = 1,048,576 (shkurtimisht M)1 megabyte = 1,048,576 bytes (shkurtimisht MB) 1 giga = 230 = 1,073,741,824 (shkurtimisht G)1 gigabyte = 1,073,741,824 bytes (shkurtimisht GB) 1 tera = 240 = 1,099,511,627,776 (shkurtimisht T)1 terabyte = 1,099,511,627,776 bytes (shkurtimisht TB) 1 kilo nuk eshte baraz me 1,000 (njemije)1 mega nuk eshte baraz me 1,000,000 (nje milion)1 giga nuk eshte baraz me 1,000,000,000 (nje miliard)1 tera nuk eshte baraz me 1,000,000,000,000 (nje trilion)

Sigurisht, 1 kilo eshte baraz me 1,000 kur flasim ne termat e sistemit metrik. Kjo do te thote gjithashtu se nese shpejtesia e nje cipi ore eshte 1 KHz eshte baraz me 1,000 Hz. Kur flasim per kapacitet ruajtes, hyjne ne loje numra binare, duke e bere keshtu 1 KB =1,024 bytes. E njejta logjike aplikohet edhe ne vazhdim, pra, 1 MHz eshte 1,000,000 Hz, por 1 MB eshte 1,048,576 bytes; 1 GHz eshte 1 bilion Hz, por 1 GB eshte 1,073,741,824 bytes; e keshtu me rradhe.

SHENIM Bitet dhe bajtet shkurtohen ne menyra te ndryshme. Bajtet shenohen si B (e madhe) kurse bitet si b (e vogel). P.sh, 4 KB jane kater kilobajt, por 4Kb jane kater kilobit.

Cili Kombinim i Perket Nje Rreshti Te Caktuar?Ne kodin binar ekzistojne vetem dy numra 0 dhe 1, gje e ben te pershtatshem ate per te punuar me telat qe ndizen dhe fiken. Nese shtojme zero perpara nje numri cfaredo, nuk i ndryshojme atij vleren. Kjo gje eshte e vlefshme dhe per numrat binare. P.sh 1 eshte i vlefshem 00001. Ne rastin e 20 telave kemi:

0000000000000000000000000000000000000001000000000000000000100000000000000000001100000000000000000100

00000000000000000101000000000000000001100000000000000000011100000000000000001000

CPUja e identifikon ne address bus rreshtin e pare te RAM me kombinimim 00000000000000000000. CPUja e identifikon rreshtin e fundit te RAM me kombinimin 11111111111111111111. Kur ajo i fik te gjithe telat do rreshtin e pare te RAM, nese i ndez te gjithe so rreshtin e fundit. Kuptohet qe address bus-i adreson te gjithe rreshtat ne mes. Keshtu duke kryer kombinime te ndryshme me telat, CPUja akseson cilindo rresht te RAM.

CPUte ModerneCPUte Modern permbajne strukturat baze te Intel 8088, sic jane regjistrat, setet e intruksioneve, dhe sigurisht, njesine aritmetike, arithmetic logic unit (ALU) mikun tone, Burrin ne Kuti. Fillimisht do te nisim shpjegimin me nje veshtrim te shkurter rreth fabrikuesve te CPUve per te kuptuar kush jane protagonistet kryesore. Gjeneratat e CPUve do te shpegohen duke nisur nga Intel Pentium. Kjo sepse te gjithe procesoret moderne ndajne teknologjite thelbesore qe fillimisht u prezantuan nga Intel ne CPUte Pentium.

FabrikuesitKur IBM lidhi kontraten me Intel per PCte e reja IBM ne vitet 1980, u vendos nje monopol ne tregun e CPUve per te gjitha PCte. Te gjithe beresit e tjere te CPUve u zhduken. Me kalimin e kohes, konkurente te tjere filluan te sfidojne dominancen ne treg te Intel. Nje kompani ne vecanti e quajtur, Advanced Micro Devices (AMD) filloi te klonoje CPUte e Intel duke krijuar nje konkurence te barabarte me Intel deri ne ditet e sotme. Pyetja qe lind eshte: Nese Intel shpiku CPU qe u perdoren ne PC IBM origjinale, si mundet qe AMD i klonoi ato pa u hedhur ne gjyq? Ne 1976, AMD dhe Intel kishin nje marreveshje, ku Intel i jepte te drejten AMD te kopjonte disa tipe procesoresh. Kjo sepse ndodhi me Intel 8088 kur tregu i CPUve ishte shume i ri dhe Intel kishte nevoje qe AMD te prodhonte CPU per te. Mirepo me kalimin e viteve Intel u fuqizua aq shume sa nuk i nevojitej me AMD. Fatkeqesisht per shkak te marreveshjes se nenshkruar, AMD mundi te kopjonte cdo model CPUje te krijuar nga Intel deri ne vitet 1990. Ne keto kohe mund te hiqje shume lehtesisht nje CPU Intel nga PCja dhe ta zevendesoje pa problem me nje identik AMD.Ne janar 1995, pas shume vitesh betejash ligjore, Intel dhe AMD vendosen ti japin fund kesaj marreveshjeje. Si rrjedhoje, cipet AMD nuk jane me kompatibel me socket ose motherboard-et e bera per procesoret Intel dhe anasjelltas, edhe pse ne disa raste cipet duken shume te ngjashem. Sot nese doni te perdorni nje procesor AMD, duhet te blini nje motherboard te dizenjuar per te.

Paketimet e CPUNese deshironi nje CPU te zhvendosshme, ju duhet nje CPU qe perdor nje paketim standart se bashke me nje socket standart ne motherboard. CPUte kane paketime dhe madhesi te ndryshme (Figura 5-15).

Figure 5-15 Paketime te ndryshme CPUsh

Paketimi grid array package eshte bere popullor qe nga mesi i viteve 1980. Forma me e perhapur e grid array eshte pin grid array (PGA). Ka vecori formen katrore te saj me shume zakonisht qindra kunja (pine) te vogla.Modelet e CPUve jane me emertime si staggered-PGA, micro-PGA, ball grid array (qe perdor toptha te vegjel ne vend te kunjave) dhe land grid array (qe perdor shtresa te vogla ne vend te kunjave).Per te vendosur CPUne ne socket-in perkates ne motherboar nuk kerkohet aspak force zyrtarisht njihet si zero insertion force (ZIF) sockets perdorin nje krah te vogel ose kafaz qe vendoset siper socket- it (Figura 5-16). Keto jane universale.

Figure 5-16ZIF socket me krahun anash

Shumica e sockets sot emertohen duke refrektuar numrin e pineve si p.sh Socket 1366 dhe Socket 775.

SHENIM CPUte dhe socket-et AMD kane nje sistem numerimi shume te ndryshem nga CPUte dhe socket-et Intel, keshtu tekniket zakonisht perdorin emrin e socket-it ne vend te AMD apo Intel. P.sh mund te thuhet qe nje motherboard ka Socket 1366.

CPUte Pentium: Vitet e ParaQe nga 8088 ne vitet 1970, beresit e CPUve kane bere shume permisime. Me avancimin e teknologjise qe nga 8088 deri ne CPUte e sotme, madhesite e external data bus, address bus dhe regjistrave jane rritur shume. Shpejtesite ores se CPUve kane mbajtur hapin duke u bere gjithmone e me te medha me cdo gjenerate te re procesoresh. Ne vitet 1980, 8088 u pasua nga nje seri procesoresh te permisuar si 80286, 80386, dhe 80486. Keto familje CPUsh inkorporuan buse me te gjere, shpejtesi me te larta ore dhe permisime te tjera.Ne fillimin e 1990, Intel publikoi CPUne Pentium. Edhe pse nuk fabrikohet me, CPUja origjinale Pentium ishte CPUja e pare Intel qe permban te gjitha funksionet baze qe gjenden ne CPUte moderne.

SHENIM Shume nga vecorite e CPUve qe ketu i atribuohen Pentiumit, ne fakt, jane shfaqur edhe me pare, por Pentiumi ishte i pari qe i kishte te gjitha se bashku.

Pentiumi ruajti funksionet baze, vecorite baze te 8088 dhe procesoreve pasardhes, edhe pse ora ishte shume me e shpejte, address bus dhe external data ishin me te gjere, dhe regjistat kishin me shume bite.

Lindja e Procesimit 32-bit8088 kishte regjistra 16-bit, nje 8-bit EDB, dhe nje 20-bit address bus. Me kalimin e kohes CPUte rriten madhesite e address buses dhe regjistrat generalpurpose ne 32 bit, duke lejuar sisteme te fuqishme si Linux, Windows XP, dhe Windows Vista qe te punonin me Pentiumin dhe te procesonin numra shume te medhenj ne nje njesi kohe si dhe adresonin deri ne 232 = 4,294,967,296 = 4 gigabajte RAM. Ekzekutimi i nje sistemi shfrytezimi 32-bit mbi nje hardware 32-bit is quhet procesim 32-bit.AMD and Intel tani prodhojne procesore 64-bit qe adrsojne deri ne264 = 18,446,744,073,709,551,616 bajt RAM (jashtezakonisht shume RAM!). Per te shfrytezuar kete address bus, duhet perdorur nje version 64-bit te sistemit te shfrytezimit.

PipeliningQe te merret nje komande nga EDB, te kryhen llogaritjet, dhe te merret mbrapsht pergjigja ne EDB, CPUse i duhen te pakten kater hapa (secili nga hapat njihet si nje stad ose faze):

1. FetchMarrja e te dhenave nga EDB.2. Decode Te kuptuarit se cfare tipi komande duhet bere.3. Execute Kryerja e llogaritjeve.4. Write Dergimi i te dhenave te EDB.

Qarqe diskrete brenda CPUse perballojne secilen nga stadet. Ne fillimet e CPUse, kur nje komande vendosej ne EDB, secili stad kryente punen e tij dhe rezultati jepej perpara se CPUja te fillonte procesimin e komandes se rradhes, duke kerkuar te pakten kater cikle ore per te procesuar nje komande. Ne cdo cikel ore, tre ose kater qarqe qendronin ne pritje (idle). Sot qarqet jane organizuar ne tipi rripi fabrike (conveyer-belt) te quajtur pipeline. Me pipelining, cdo stad kryen punen e tij ne cdo cikel ore, duke krijuar nje proces me eficent. CPUja ka shume qarqe qe kryejne shume pune, prandaj le tja shtojme pipelining Burrit ne Kuti. Tani quhen Burrat ne Kuti(Figure 5-17)!

Figure 5-17Pipeline i thjeshte

Pipeline-t mbajne cdo stad te procesorit te zene ne cdo cikel ore, duke e bere CPUne qe te punoje me efektivisht pa e rritur shpejtesine e ores. Vini re se ne kere pike, CPUja ka kater stade: fetch, decode, execute, dhe writenje pipeline me kater stade. Asnje CPU nuk ka me pak se kaq, por avancimet ne kashim (cashing - do sqarohet me vone) kane shtuar numrin e stadeve. Pipeline-t e tanishme permbajne shume stade, deri ne 20 ne disa raste.Pipelinining nuk eshte i persosur. Ndonjehere nje stad has nje komande komplekse qe kerkon me shume se nje cikel ore, duke e detyruar pipeline-in te ndaloje. CPU perpiqet ti shmange ndalesat qe duhen pipeline stalls (stivat). Faza e dekodimit ka tendence qe te krijoje me shume stiva; disa komanda jane shume komplekse dhe rrjedhimisht me te veshtira per tu dekoduar se disa te tjera. Pentiumi perdorte dy stade dekodimi per te reduktuar krijimin e stivave pipeline qe i detyroheshin kompleksitetit te dekodimit.

SHENIM Pas Pentiumit, pipeline-t filluan te zgjateshin shume duke arritur deri ne 20 stade ne Pentium 4. Qe atehere, Intel dhe AMD i kane mbajtur pipeline-t me 12 stade (edhe pse kjo mund te ndyshoje serisht).

Pipelining sigurisht qe e ndihmoi Pentiumin qe te ekzekutohej me me efikasitet, por hasim ne nje problem tjeter. Brenda PCse kemi integer unit, qe kujdeset per veprimet me numrat e plote.P.sh 2 +3 = 5. Nje CPU tipike harxhon 90 perqind te punes duke kryer veprime me numrat e plote. Pentiumi kishte dhe nje qark special per te perballuar numrat komplekse, te quajtur floating point unit (FPU). Me nje pipeline te vetem, vetem nje nga qarqet, ALU ose FPU, mund te punonte me stadin e ekzekutimit. Edhe me keq, veprimet me numrat me presje notuese zakonisht kerkonin shume cikle ore qe te ekzekutoheshin duke e detyruar CPUne qe te krijonte stiva derisa veprimet me presje notuese te kishin perfunduar ekzekutimin e komandave komplekse (Figura 5-18).

Figura 5-18Integer Unit eshte duke pritur

Per ti mbajtur gjerat ne levizje Intel i dha Pentiumit dy pipeline: nje kryesor, qe ben cdo gje (do- everything pipeline) dhe nje tjeter qe kujdeset per veprimet me numrat e plote. Edhe pse kjo nuk e ndaloi krijimin e stivave, pipeline i dyte vazhdonte te punonte edhe kua ai kur kryesori stivohej (shiko Figuren 5-19).

Figura 5-19 Dual pipeline i Pentiumit

Dy pipelinete-t ne Pentiumin e vjeter ishin aq sukseshme sa Intel dhe AMD shtuan shume e me shume te tilla ne CPU. Shumica e CPUve kane rreth tete pipeline, edhe pse ka shume variacion nga CPUja ne CPU.

SHENIM Nje nga diferencat me te medha ndermjet procesoreve ekujvalent AMD dhe Intel eshte pipeline. AMD ka tendencen te kete shume pipeline te shkurter, kurse Intel ka tendencen te kete pak pipeline te gjate.