“Pikpresja levizese” (floating point)

Apo ndryshe e quajtur ‘floating point‘ eshte ura e cila ndan shkencen tradicionale komputerike nga computing shkencor.
Per kete teme shume programues apo student kane paqartesite e tyre, keshtu qe do perpiqemi ti kushtojm pak me vemendje se temave te tjera..
Kur themi floating point duhet te marrim parasysh standartet dhe me sakt standartin IEEE 754
http://754r.ucbtest.org/standards/754xml.html (per me shume info)
IEEE 754 eshte standarti per llogaritjen dhe paraqitjen ne pik presje levizese.
Ky standart ben te mundur realizimin e algoritmeve numerik me precizion te lart duke u mbeshtetur ne probabilitet.
QELLIMI i te gjithe kesaj eshte qe te shkruhen numra real shume te medhenj ne hapesira tejet te kufizuara.
Ne ate kohe nuk ka pasur kaq shume meomorje ne dispozicion saç kemi sot, keshtu qe te mendohet se sa bit do te duheshin per te llogaritur madhesine e nje elektroni, apo largesin midis Hong-kongut me Ohayo..
Ne te dyja rastet, si kur kemi te bejm me nje numer shume te madh ashtu dhe kur kemi te bejm me nje numer me te vogel nuk eshte shume e rendesishme precizioni se ç’beri 20000000000000000000000000000000000000000000000000000000000000021 me
20000000000000000000000000000000000000000000000000000000000000022-shin
apo ç’fare ndryshimi ka:
0,934902000000000000000000340000000000000000000430000000000000000000000019
0,934902000000000000000000340000000000000000000430000000000000000000000018
Pra ndryshimi eshte shume i vogel dhe ne shumicen e operacioneve i pallogaritshem.
E gjith kjo teori eshte e bazuar ne nje rregull qe dot na duhet per ta mbajtur mend:

“Me nje numer te fundem shifrash eshte e mundur te paraqesim vetem nje numer racional qe jep perafersisht numrin e dhene”

Perodrim presje dhjetore levizese ne vend te asaj fikse per arsyen e meposhtme..
Nese perdorim presje fikse (jo levizese) atehere jemi te detyruar qe numrin 534 000 000 000 ta paraqesim si 534 ∗ 10⁹ nderkohe qe nese perdorim presjen levizese do te shkruanim 5,34 ∗ 10¹¹
Duke kursyer hapesire ne memorje.
Principi i “Floating point”
Levizet presja dhjetore deri ne nje pozicion te pershtatshem duke mos neglizhuar keto levizje ne eksponent. [qe do te thote se per ç’do levizje qe behet me presjen dhjetore kjo levizje reflektohet dhe ne variacionet e eksponentit.
Eshte metode shume e rendesishme pasi lejon qe te parqesim numra shume te medhenj dhe shume te vegjel ne nje menyre shume kompakte.
Po ashtu nje numer si 622,197 do te mund te paraqitej ne 6,22197 ∗ 10⁵ nen veshtrimin e “levizjes se presjes dhjetore”
“TABLOJA”

Siç jemi mesuar ti quajm numrat zakonisht ndahen ne dy pjese, ne fraksionin (mantissa) dhe ne pjesen eksponenciale.
Kurse ne rastin tone kur kemi te bejm me presje levizese kemi 3 pjese: (marrim 17 si numer)

1 bit

5 bite

8 bite

(Shenja) Eksponenti Mantissa
17 = 17.0 ∗ 10⁰ = 1.7 ∗ 10¹ = 0.17 ∗ 10² dhe ne binar i bie:
17₁₀ = 10001₂ ∗ 2⁰ = 1000.1₂ ∗ 2¹ = 100.01₂ ∗ 2² = 10.001₂ ∗ 2³ = 1.0001₂ ∗ 2⁴ = 0.10001₂ ∗ 2⁵

Ky (0.10001₂ ∗ 2⁵) eshte rezultati yne, le te punojm sipas standartit IEEE 754 me te 😉
Kush eshte shenja?
Shenja eshte 0 e pare perpara presjes.
Kush eshte Mantissa?
Mantissa eshte trupi mbas presjes dhe na thote qe kemi 10001 nderkoh qe kemi 8 bite.. Pun e madhe, e plotesojm mbetjen me 0 dhe kemi 10001000 :)
Sa eshte eksponenti?
Eksponenti eshte 5 ne sistemin decimal dhe ne binar i bie te jete 101 por kemi ne dispozicion 5 bite keshtu qe na del 00101
Dhe paraqitja e numrit 17 sipas standartit IEEE 754 i bie te jete:

0 [1 bit]

0 0 1 0 1 [5 bite]

1 0 0 0 1 0 0 0 [8 bite]

(Shenja) Eksponenti Mantissa

Kjo metod eshte shume komode pasi mund te paraqesim numra shume me te medhenj se ky qe morem shembull : 65536 = 0.1₂ ∗ 2¹⁷
Perfaqsimi i saj do te ishte :

0 [1 bit]

1 0 0 0 1 [5 bite]

1 0 0 0 0 0 0 0 [8 bite]

(Shenja) Eksponenti Mantissa

Ky ishte vetem nje trajtim i pergjitshem sa per te sqaruar konceptin normalisht si teme eshte shume me e gjate :)

Video Tutoriale Informatike SHQIP

Pershendetje lexues te albanianwizard.org

Kemi inaguruar sot seksionin e ri te videotutorialeve ku do te publikohen eskluzivisht videotutoriale shqip te dedikuara inormatikes.
Fushat do te jene te ndryshme duke filluar qe nga programimi (qe nga assembly e siper) e duke vazhduar me tutoriale te sigurise , “how to”,  videotutoriale per webmastera, reverse code engineering, pentesting,  videotutoriale per administrator, video te elektronikes (eksperimente), si dhe shume te tjera.
Ju lutemi qe adresen ta vizitoni me browsera serioz si opera ose firefox dhe jo me internet explorer.
http://albanianwizard.org/videotutorialeshqip/

Fragmente nga libri i arkitektures (nga student per student)

Pershendetje te gjitheve,
Jam i lumtur qe sadopak mund te ndihmoj ata si puna ime ne kuptimin e drejt te kesaj shkence te bukur.
E nisa kete projekt nderkohe qe mbaja shenime gjate leximit neper libra, web, papers, etj dhe thashe pse te mos i publikoj dhe ti grumbulloj te gjitha keto ne formen e nje libri te perpiluar nga student per studentet.
Siç e dime (nga eksperienca) jo te gjitha informacionet qe ndodhen ne libra mund te jene te nevojshem gjate kalimit te nje provimi ose kur kemi te bejm me teste.
Me kete nuk dua te hedh poshte asnje nga informacionet qe gjenden ne libra por dua thjesht te ve ne pah qe per ne si student eshte e rendesishme te fiksojm konceptet kryesore, te zgjidhim ushtrimet dhe te fiksojm gjerat me te rendesishme qe na ndihmojn te krijojm nje kultur informatike.
Keshtu nisi dhe ky liber i cili eshte i bazuar ne manualet me te mira (sot per sot) te arkitektures kompiuterike, ne webet e universiteteve me te njohura, ne videoleksikone, dhe ne bagazhin tim personal qe mund te jete forumar nder vite, menyren e te konceptuarit dhe te formuluarit te te gjith kesaj.
Libri nese do kem\i fatin ta perfundoj do te permbaj temat me te rendesishme, ushtrime te zgjidhura (shume) 😉 , perkufizime, dhe gjate ç’do fund kapitulli do te kete pyetje rreth atyre qe lexuat.
—————————————————————————————————————————————–

Fragment nga libri

—————————————————————————————————————————————–

PARAQITJA E TE DHENAVE NE SISTEMET KOMPIUTERIKE

Organizimi i kompiuterit varet shume nga menyra se si ai paraqet, manipulon apo kontrollon te dhena te caktuara.

Te caktuara sepse standartet kane percaktuar gjate viteve disa aspekte te organizimit te kompiuterit.

Njesia baze e informacionit ne nje kompiuter dixhital quhet bit ose “binary digit”.

Ndersa njesia baze ku mund te adresohen te dhenat e kompiuterit ne memorje eshte quajtur byte dhe eshte i perber nga 8 bite. Kjo u percaktua nga IBM me System/360.

Nje byte (8 bit) ndahet ne dy gjyesmbyte te quajtura nibbles (4 bit secila)

1 byte = 1 nibble + 1 nibble = 4 bit + 4 bit

Fjalet ne kompiuter mund te jene te paraqitura nga 2 ose me shume byte pra duke filluar nga 16 bite, 32 bite, 64 bite, e keshtu me rradhe ne varesi te arkitektures.

SISTEMET NUMERIKE POZICIONALE

Ai qe perdoret sot (decimali) eshte marre nga arabet qe kishin shume kohe qe e perdornin para nesh

E rendesishmja e ketij sistemi numerik eshte se ç’do pozicion i sistemit eshte i pershkruar nga po aq numra qe e perbejn..

Psh: sistemi binar eshte i perbere nga 010010101 dhe quhet binar sepse bazohet vetem ne 2 simbole, 1 dhe 0.

Sistemi decimal perbehet nga 10 vlera, 0,1,2,3,4,5,6,7,8,9 dhe te gjitha te tjerat pershkruhen ne baze te tyre..

Sistemi hexadecimal (me baze 16) perbehet nga 16 simbole dhe perkatesisht 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Ku A = 10; B = 11; C = 12; D = 13; E = 14; F = 15;

Permenda sistemin binar dhe heksadecimal sepse jane sistemet me te rendesishme ne shkencat kompiuterike, mbrapa vjen sistemi oktal. (0,1,2,3,4,5,6,7)

POZICIONIMI I SISTEMIT DECIMAL

Gottfried Leibniz ishte i pari qe implementoi idene qe ç’do numer i plote mund te paraqitet pa problem ne sistemin binar me idene qe ZOTI (1) i vetem

krijoi gjithçka nga asgjeja (0).

Eshte e çuditshme se si ne ato vite (1600-1700) ky qendroi vetem si nje kuriozitet matematik kurse sot perben bazen e te gjith zhvillimit te shfrenuar qe sot njihet me emrin “epoka kompiuterike”.

Sistemet e para perdoren sistemin decimal por per shkak te thjeshtesis qe pati sistemi binar per tu interpretuar ne sinjale elektrike i mori krahun sistemit decimal duke u bere i vetmi i pershtatshem edhe sot..

KONVERTIMET

Te sqarojm fillimisht konceptin e numrave pasi shumica jone ka nje kuptim te gabuar per to..

Kur themi 3 ne kemi te qart ne mendjen tone qe 3 eshte paraqitja numerike per diçka , pra qe ka masen e 3.

Kur themi III , VIII ose XI jemi duke thene te njejten gje vetem se me numra romak, e njejta gje ndodh kur e shpjegojm me numra

arab, kinez e keshtu me rradhe..

Pra ne baze te shembullit te mesiperm kuptojm se 3 nuk do te thote TRE, ne realitet ai eshte vetem nje simbol qe neve na thote per vleren e diçkaje..

Dhe ne mund te imagjinojm 3 stilolapsa, 3 molle etj..

Po kur kemi nje numer si 34243392 a mund te imagjinojm realisht vleren e tij?

Sigurisht qe jo, sepse sado te zhvilluar ta kemi trurin nuk mund te imagjinojm saktesisht 34243392 kokrra molle apo gruri apo planete…

Pra duke infiltruar me kete koncept idene e numrit duke perkrahur idene e Gottfried Leibniz themi se ne sistemin tone numerik ne mund te paraqisim ç’do lloj vlere ne nje vlere me baze tjeter..

KONVERTIME NGA DECIMAL NE BAZ BINARE, TRINARE, HEKSADECIMALE, OKTALE.

Ka dy menyra njera me zbritje dhe tjetra me pjesetim, por per shkak te shpejtesise dhe familiaritetit po trajtojm ate me pjestim.

Kjo metode funksionon duke pjestuar vazhdimisht me bazen ne te cilen duam ta kthejm numrin dhe nese nuk plotepjestohet me 2 (ne rastin tone duam ta kthejm ne baze binare [numer binar]) atehere mbetjen e kalojm ne krahe te djatht duke e ruajtur dhe duke vazhduar pejstimin me nje numer tjeter me te vogel qe plotepjestohet me bazen tone.

Marrim numrin 79 dhe perderisa do e kthejm ne baze dy do e pjesetojm vazhdimisht me 2.

79/2 mbetja 1 (pasi nuk eshte i plotepjestueshem me 2 morem vleren 78 keshtu qe ngelet 1)

39/2 mbetja 1 (perseri morem nje vlere me te vogel qe eshte e plotepjestueshme me 2)

19/2 mbetja 1 (morem 18-ten)

9/2 mbetja 1 (marrim 8-ten)

4/2 mbetja 0 (4tra eshte e plotepjestueshme me 2)

2/2 mbetja 0 (eshte i plotepjestueshem)

1/2 mbetja 1

Keshtu qe nxjerrim duke llogaritur nga poshte se 79 = 1001111 ne sistemin binar

E provojm te njejtin numer ta konvertojm ne sistemin trinar (me baze 3).

79/3 mbetja 1 (morem numrin 78 qe eshte i plotepjestueshem)

26/3 mbetja 2 (morem 24 e cila eshte e plotepjestueshme me 3)

8/3 mbetja 2 (numri 6 eshte i plotepjestueshem)

2/3 mbetja 2 (2 nuk e plotepjeston 3-shin keshtu qe e zvogelojm dhe e çojm ne 0 ne menyre qe 0/3 = 0 ne baze te 0/Z=0 )

keshtu qe 79 = 2221 me baze 3.

Provojm tani ta konvertojm ne heksadecimal..

79/16 mbetja F (15 pasi jemi ne hex) , vetem 64 eshte numri me i vogel qe plotepjestohet me 16 dhe eshte me i vogel se 79 dhe 64\16=4

4/16 mbetja 4 (4tren e bem 0 ne menyre qe 0/16 = 0 )

Dhe kemi si rezultat se 79 eshte 4F ne sistemin hexadecimal.

Marrim numrin tim te preferuar 19, dhe e konvertojm ne octal 😛

19/8 mbetja 0 (eshte i plotepjestueshem)

2/8 mbetja 2 (pasi 0 pjeseton 8 = 0)

Keshtu qe 19 ne sistemin Decimal eshte 20 ne sistemin Oktal

TE KONVERTOJM NUMRA ME BAZE Ç’FAREDO NE NUMRA ME BAZE 10 (DECIMAL)

Kjo nga eshte diçka shume me e thjeshte per tu bere sepse nuk kerkon shume veprime perveç disa shumezimeve paraprake..
Marrim numrin 212 dhe e kthejm ne numer me baze 10
212₃ = 2 ∙ 3² + 1 ∙ 3¹ + 2 ∙ 3⁰ = 2 ∙ 9 + 1 ∙ 3 + 2 ∙ 1 = 23₁₀
Dhe keshtu ne pergjithesi behet ç’do lloj konvertimi i ketij lloi.

KONVERTIMI I NUMRAVE ME PRESJE

Edhe ne keto raste konvertimi eshte i thjeshte, marrim nje numer decimal dhe e kthejm ne nje numer me baze 6..

0,879₁₀ = ? ₆
0,879
∙ 6
——–
5,274 Marrim 5-sen

0,274
∙ 6
——–
1,644 Marrim 1-shin


0,644
∙ 6
——–
3,864 Marrim 3-shin

0,864
∙ 6
——-
5,184 Marrim 5

0,184
∙ 6
——-
1,104 1

0,104
∙ 6
——-
0,624 0

Dhe vazhdojm keshtu deri sa mbas presjes dhjetore te kete vetem 0
Ky ishte nje numer i marre rastesisht keshtu qe neper provime nuk mendoj qe do u japin numra qe te rrini gjith diten duke shumezuar :)
Deri ne kete moment 0,879₁₀ = 0.513510…. ₆
Ne keto raste ndryshe nga konvertimet e numrave te plote rezultatet merren nga lart-poshte.

NGA NJE BAZE NE NJE BAZE TJETER

3121₄ = ? ₃
Teknika qe ndiqet eshte ne fillim konvertohet numri me baze X ne numer me baze 10 pra ne sistemin decimal dhe pastaj nga nje numer me baze decimale ne numer me bazen tjeter qe kerkohet ne rastin tone me baze ₃
Ne fillim konvertojm ne decimal.
3121₄ = 3 ∙ 4³ + 1 ∙ 4² + 2 ∙ 4¹ + 1 ∙ 4⁰

= 3 ∙ 64 + 1 ∙ 16 + 2 ∙ 4 + 4 = 217 ₁₀
Tani konvertojm ne baze 3
217/3 1

72/3 0

24/3 0

8/3 2

2/3 2 Mbetja 2 mbasi 0/3 = 0 dhe 2-shin e beme 0 perfundimi eshte 22001₃

KONVERTIMET BRENDA FUQIVE TE DY BAZAVE

Kur themi fuqi te dy bazave nenkuptojm qe jane multiplikuese te njera-tjetres psh binarja me octalen dhe me hexadecimalen.
2 => 8 => 16 te gjitha keto jane fuqi te dyshit.
Keto dy sisteme, (oktali dhe heksadecimali) perdoren shume pikerisht sepse lehtesojn leximin.
Siç e keni vene re eshte me komode te lexohet ne hexadecimal ose ne octal se sa ne binar pasi ne jemi mesuar me sistemin decimal dhe keto dy sisteme (oktal dhe heksadecimali) jane me te perafert por nuk e perjashtojm mundesine qe ka inxhinier atje jashte qe lexojn binar siç mund te lexojm ne nje roman te Kafkes.
Per arsyen e permendur me siper, keto sisteme nuk i kane lene me aq por kane vazhduar lehtesimin e tyre duke krijuar:
Hextet (ose hexadecimal digit) jane te perbera nga 4 bite.
Octet (ose octal digit) jane te perbera nga 3 bite
Le te shohim rastin konkret te konvertojm 101110011101₂ ne nje numer me baze 8 dhe me baze 16
Siç e thame njesia me e vogel ne sistemin heksadecimal quhet hextet dhe eshte i perbere nga 4 bit 😉
Ja ku aplikohet kjo qe mesuam
1011 1001 1101
Ja ku u formuan 3 hextete dhe per ti kthyer ne heksadecimal mjafton ti kthejm ne decimal dhe normalisht do jene brenda heksadecimalit pasi heksadecimali e perfshin sistemin decimal.
1011 = B
1001 = 9
1101 = D nga kjo nxjerrim qe 101110011101₂ = B9D₁₆
Ta ndajm tani ne oktet..
101 = 5
110 = 6
011 = 3
101 = 5
101110011101₂ = 5635₈

SI PARAQITEN NUMRAT ME SHENJE?

Deri tani folem per numra pozitive dhe konvertmiet e tyre ne numra me baza te ndryshme, po ç’fare ndodh kur duam te paraqisim numra negative?
Dihet qe ne gjuhen qe kemi mesuar (binare) kemi vetem 2 simbole, pra ate te 0 dhe 1, rryme me tension te lart, rryme me tension te vogel keshtu qe si zgjidhet ky problem kur kemi ne dispozicion vetem dy gjendje, ate te “0” dhe “1”?
Nomralisht zgjidhet perseri me 0 dhe 1 :)
Duke i dhene 0-ros vleren pozitive (+) dhe 1-shit vleren negative (-)

Te shohim se si funksionon.
Kur ne programojm ne nje gjuhe ç’faredo dhe thjesht pershembull percaktojm nje int = … shumica nga keto gjuhe menjehere zapton ne memorje nje hapesire prej 8 bitesh \ 1 byte ku njesia e pare ne kete hapesire nuk eshte per te paraqitur vleren numerike te numrit por eshte per te paraqitur a eshte pozitiv apo negativ ky numer.
Shembull, per te paraqitur numrin 119 qe nese e kthejm ne binar do te vinte 1110111 meqe eshte pozitiv ne baze te asaj qe thame me siper dime qe qelia e pare e memorjes do zihet nga 0 dhe byte do te kete kete pamje
01110111 Pra ku 0 do te thote se numri eshte pozitiv keshtu qe nuk eshte e veshtire te arrijm ne perfundimin se per te paraqitur -119 ne binar do te shkruhej 11110111 ku 1-shi i pare do te thote se numri eshte negativ.
Te mbajm mend , ; , qe nga ky moment, pjesen mbrapa 1 (qe eshte negativ) apo 0 qe eshte pozitive pjese e cila siç e pame sherben per te percaktuar vleren reale ne binar te nje numri do e quajm magnitude dhe numrin me shenje do e quajm :

MAGNITUDA E SHENJUAR


Siç e permendem me siper, magnituda eshte pjesa qe perdoret tek numrat me shenje per paraqitjen e vleres se nje numri te caktuar ne binar, dhe pjesa perpara qe quhet bit-i me i rendesishem (most significant bit) percakton nese do te jete pozitiv (0) apo negativ (1).
Per te konvertuar nje numer me baze 10 ne nje numer me magnitud te shenuar (qe eshte shume e thjeshte) pershembull marrim numrin 1 :)
Numer shume i thjeshte dhe i njohur apo jo, dhe ZOTI eshte 1 i vetem dhe pa shok.
Per ta kthyer ne nje numer binar me magnitude te shenuar te paraqitur nga 8 bit do te konvertonim:
10000001 ku 1-shi ne fillim eshte percaktimi i shenjes negative dhe 0-rot mbrapa e humbasin vleren e tyre reale, dhe nese duam qe ti japim vlere pozitive duke e paraqitur me 8 bit atehere na del 00000001.
Nese na kerkohet qe 1-shin ta paraqesim ne 4 bit atehere
1001 Negativ
0001 Pozitiv
Por jo te gjithe numrat mund te paraqiten ne 4 bit, keshtu qe shpesh na duhet qe te thyejm pak limitet.
Gjithsesi te kemi parasysh qe nese na kerkohet qe te paraqesim nje numer ne 8 bit (sepse ne memorje kemi nje hapesire prej 1 byte) atehere vlera e tij do te jete N-1 pra vleren do e paraqesim me 7 bite pasi biti i pare do perdoret per shenjen.
Ja nje rast tjeter ; “Te konvertojm numrin 109 ne numer pozitiv binar dhe negativ binar ne 8 bit”
Normalisht nese bejm konvertim direkt (numer pa shenje) na del : 1101101
Atehere:
Pozitiv 01101101 (1 byte)
Negativ 11101101 (1 byte)

Nese eshte me i vogel se 7 bite atehere hapesiren e mbushim me 0

Ç’FARE ESHTE METODA DOUBLE-DABBLE

Kjo eshte metoda me e shpejte per te konvertuar nje numer binar ne decimal.
Praktikisht merret nje numer binar psh 110110 dhe shkruhet ne kete forme:

1 1 0 1 1 0

Mbasi u shkruajt ne kete forme aplikojm kete metode te re konvertimi e cila eshte vertet me e thjesht dhe me e shpejte.
Konsiston ne shumezimin apo dyfishimin e fuqive me dy (2) duke filluar nga e majta ne te djathte.
Fillojm
—————————————————————————————————————————-
1            1                0          1        1          0

x2              +                      +             +           +              +

2 ==> 2
—-
3 x 2 =             6 x 2 = 12
—-
13 x 2 = 26
—-
27 x 2 = 54
—————————————————————————————————————————-
Shuma eshte 54 dhe siç e shohim mbasi bejm mbledhjen me numrin e rradhes gjithmon e dyfishojm (double) dhe e mbledhim me numrin e rradhes deri sa arrijm ne perfundim, edhe po te aplikojm metodat qe mesuam me siper, perfundimi do te jete i njejte.
E çuditshmja (:P] eshte se kjo metode funksionon dhe me konvertimtet nga sistemet hecadecimale ne sistemet decimale.
Ja nje rast:
0x0C1F ta kthejm ne numer decimal.
PS, gjithmone perpara numrit hexadecimal shtohet nje 0x , mos ja vini re per momentin, konsiderojeni si diçka kullere 😛 (thon kosovaret :) ) per momentin keshtu qe ajo qe dime eshte se ne rastin tone:
0x0C1F = 0C1F , par vlera mbetet e pandryshuar.
Gjeja e pare qe bejme eshte ta ndajm kete numer ne hexatete.
0 C 1 F
—— —— —— ——
0000 1100 0001 1111
Fillojm te bejm te njejtat veprime si me siper duke shumezuar numrat binare duke filluar nga e majta ne te djathte me 2 dhe duke i mbledhur numrin e rradhes deri sa te arrijm tek i fundit ku do te shohim se vlera perfundimtare eshte 3103.

KOMPLEMENTE 1 , 2


Komplementi ne aspektin gjuhesor eshte pjese e nje propozimi e cila e pasuron dhe e ve akoma me shume ne pah predikatin.
Psh:
Agroni (lol abetaria) bleu nje kompiuter.
Komplementi do te ishte:
Kompiuteri u ble nga Agroni.
Pra u shtua pasuria dhe rendesia e predikatit.
E nisa keshtu shpjegimin e komplementit pikerisht per te dhene konceptin e te kundertes pasi komplementi nuk eshte gje tjeter vetem se e “kunderta”, po shpjegohet thjesht pasi shume e kane te veshtire kete mesim dhe perhapet panik xD.
Mos u shqeteso, ti do e marresh vesh shume mire dhe mjere ai ushtrim komplementar qe te bie ne provim 😀
Te kesh te qarta 2 gjera , kemi komplementin 1 dhe komplementin 2, dhe perdoret me shume komplementi 2 si nje metod per te paraqitur numrat binar negativ.
Per ta sqaruar akoma me shume, ne brendesine e kompiuterit ky veprim arrin te kryhet me ane te portes NOT, pra nese hyn 0 del 1, nese hyn 1sh del 0.
Komplementi i 1shit.
Marrim nje numer binar
010000010101010111001
Komplementi i tij ne 1 eshte sakesisht i kunderti
101111101010101000110

Po komplementi i tij ne 2?
Mjafton ti shtojm shifres se fundit nje 1sh dhe mbaroi.
Pra komplementi i tij ne 2 eshte :101111101010101000110 + 1 = 101111101010101000111
Ka formule dhe goxha teori e cila verteton kete veprim por per mos tju ngaterruar me shume se sa na ngaterrojn neper universitete 😛 po vazhdoj me dy shembuj te tjere te thjesht.
Ne ushtrime zakonisht do na kerkohet qe te paraqisim numra te ndryshem ne binar negativ me komplement 2, dhe te kemi te qarte qe keto numra perfaqsohen nga 1 byte ose 8 bite.
Marrim nje ushtrim te bukur e te kuptueshem:
Ushtrim
Le te paraqitet numri -19 ne binar si komplement i 2shit ne 8 bite.
Gjeja e pare qe duhet te bejm eshte te konvertojm 19ten ne binar dhe del
19 = 00010011
Ja ku kemi numrin tone binar, si i behet qe ky numer ti thote kompiuterit -20?
Do e çojm kete numer ne komplement te dyshit.
Perkatesisht kemi:
00010011 ne komplement 1 del 11101100 kurse ne komplement 2 do i shtojm + 1 dhe arrijm ne perfundimin qe -19 = 11101101 (siç e shohim bit-i i pare eshte 1 do te thote negativ)

Nese nuk jeni te sigurt per perfundimet gjate zgjidhjes se ushtrimeve keshillohet qe ne fillim ta ktheni ne komplement te 1shit pastaj ne komplement te dyshit.

Po kur kemi te bejm me nje rast si -20ta?
Ne binar 20ta eshte = 00010100 me baze 1 ==> 11101011 po me baze 2?
Kemi thene qe shifres se fundit i shtohet 1, atehere 1 + 1 apo jo?
Kemi:
11101011
+ 1
————-
11101100
Shpjegohet:
1 + 1 ne binar = 0 mbajm 1shin ndermend
1 + 1 Perseri = 1 mbajm 1shin ndermend
0 + 1 = 1.
Te tjerat i ulim ashtu siç jane :) dhe rezultati perfundimtar eshte : -20 = 11101011

Siguroni Routerat!!

Mendova se duhet te trajtoja patjeter kete teme pasi siguria informatike eshte shume e rendesishme ne kohet e sotshme pas perhapjes kaq te madhe te rrjetave. Ne kete teme do te flitet shkurt se si te vendosni nje password ne nje router cisco. Mora hov ta trajtoja si teme pasi ne forum eshte bere nje teme statistikore ne te cilen jane rreshtuar disa vulnerabilitete te ndryshme por une mendoj siç jam shprehur gjithmone qe vulnerabiliteti kryesor eshte ai qe une e quaj “admin idiot” (ardit mos qesh!!) hahah :D. Tema ne forum.Ky vulnerabilitet ka nje perhapje mjaft te madhe pasi shumica e administratoreve te rrjeteve apo te serverave sot jane te pa afte dhe gjithashtu nenvleresojne rendesine e sigurise informatike, duke lene serverat apo routerat pa nje password ose me ato qe ka lene fabrika ose default. Ne histori jane rregjistruar shume raste ku femije jane infiltruar ne sisteme te NASA-ses apo Fbi-se pa ditur as sec cfar jane protokollet e rrjeteve apo duke mos pasur njohuri te duhura. Per tu mbrojtur nje rrjet nga ky vulnerabilitet mjafton vetem te vendosesh nje password. Une tani do tju mesoj se si te vendosni nje password ne portat e nje routeri Cisco. Duhet te dini qe nje cisco ka disa porta ku mund te aksesohet ato jane: aux (porta ndihmese),  vty (porta terminale apo ajo e telnetit) dhe ajo e konsolit . Keto mund te kene disa porta te tjera fizike nga 0 deri ne nje numer te percaktuar nga vete fabrika apo nga lloji i routerit. Kur hyjme ne nje router cisco me anen e njeres nga keto porta p.sh me vty do te na shfaqet nje nderfaqje e tille:

cisco 2621 (MPC860) processor (revision 0x101) with
26624K/6144K bytes of memory.
Processor board ID JAD050697JB (146699779)
M860 processor: part number 0, mask 49
Bridging software.
X.25 software, Version 3.0.0.
2 FastEthernet/IEEE 802.3 interface(s)
1 Serial network interface(s)

Pasi te shtypni ENTER futeni ne console ku mund te jepni komandat e duhura. Por ne fillim duhet te hyni si administrator ne router per te vene passwordin kjo behet me kete komande:

Router$>enable

Tani sistemi do te kaloje si administrator dhe do te shohim

Router# >(tani jemi root pra kemi hyre si administrator)

Tani futemi ne linjen e konfigurimit te routerit:

Router#>config t (shtypim enter)

Router(config)#line console ? (per te pare numrin e portave qe i perkasin kesaj lidhjeje)

<0-0>

Router(config)#line console 0 (futemi te konfigurimin e portes console ne nr 0)

Router(config-line)#login (vendosim nje logim per hyrje pra qe te kerkoj nje fjalkalim per te hyre)

Router(config-line)#password eldo (ENTER)

Dhe ja ku kemi porten console me password eldo. Te njejten gje mund te bejme edhe me portat e tjera i vetmi ndryshim eshte qe ne vend te komandes line console do te vendosim line vty apo line line aux.Tani dilni nga routeri me komanden exit dhe provoni te hyni, ska me qef tani do tju kerkoj te fusni passwordin qe eshte eldo. Mendoj se te gjithe administratoret duhet te ken kujdes ne konfigurimin e passwordeve pasi eshte nje gje mjaft e rendesishme ne sigurimin e rrjetave te tyre.

Veshtrim objektiv mbi Arkitekturen Kompiuterike

Ne boten tone terminologjike na ndodh shpesh te perdorim terma te ndryshem si arkitekture kompiuterike,  organizimi i kompiuterit, seti i instruksioneve, mikroarkitekture, etj dhe jo gjithmon i kemi te qarta komponentet perberes te saj dhe a ndryshojn nga njeri-tjetri , ku ndryshojn etj…
Pa humbur kohe po sqarojm se Arkitektura Kompiuterike (sipas wikipedia) eshte dizaini konceptual i struktures dhe operacioneve rrenjesore te nje kompiuteri.
Kjo shkence ndahet ne :

  1. ISA (Instruction Set Architecture)
  2. Organizimin e Kompiuterit
  3. Dizaini Kompiuterik

ISA eshte seti i instruksioneve dhe ka te bej me pjesen e bute te pjeses se forte 😛
Dua te them qe ka te bej me programimin dhe gjuhen e nivelit te ulet te cilen mund ta marri vesh kompiuteri, dhe kemi te bejm me instruksione te tipit and, or, add, xor, nand, nor, move, call, return.
Per te pasur nje ide me te qarte le ti hedhim nje sy references se plote te Setit te instruksioneve qe na jep Intel per arkitekturen x86.
Klikoni dhe hyni ne forum per te shkarkuar materialin:
http://albanianwizard.org/diskutime/nivel-i-ulet/seti-i-instruksioneve-per-arkitekturen-x86-intel-manuali-t84.0.html
GJithashtu mund te shohim referencen online te setit te instruksioneve tek
Kliko

Kalojm tek Organizimi i Kompiuterit..
Organizimi i kompiuterit ose i quajtur ndryshe dhe mikroarkitektur eshte pershkrimi ne detaj i cirkuiteve te kompiuterit, , CPUs, dhe ndertimit ne detaj te ç’do komponenti hardware.
Gjithasthu studjon dhe mekanizmat qe krijohen ne cirkuite si portat qe kemi shpjeguar me perpara te krijuara nga tranzistoret etj.
Organizimi i kompiuterit ka te beje me menyren se si jane organizuar rregjistrat, multiplekserat, llogaritesit , numrin e tyre, menyren se si jane vendosur dhe te gjitha keto dhe menyra se si implementohen ne realitet bejn nje arkitekture te ndryshoj nga nje tjeter, dhe qe ta lidhim dhe me ISA, eshte pikerisht menyra se si eshte ndertuar nje kompiuter qe percakton dhe gjuhen e instruksioneve qe mund te marri vesh. Gjithashtu themi se organizimi i kompiuterit ka te beje dhe me shtresat qe shpjeguam nje teme me pare.

Dizaini kompiuterik.
Tani qe kemi si gjuhen ashtu dhe organizimin e kompiuterit na duhet qe te gjitha keto ti implementojm ne dizainin kompiuterik qe eshte komplet pune inxhinieresh qe merren me dizainin e komponenteve hardware, psh nje kompiuteri ne AGP-n e tij mund ti lidhim si nje skede grafike ATI ashtu dhe nje G-Force gjithmon qe mos te gjejn konflikte me organizimin e kompiuterit dhe setin e instruksioneve..
Pra ajo qe duhet te kemi te qarte eshte se Dizaini i kompiuterit, dhe komponenteve te tij (CPU design, etj) eshte ne funksion te FUNKSIONIT, organizimit dhe setit te instruksioneve qe jane percaktuar per nje kompiuter.
Ja nje imazh per te lehtesuar kuptimin 😛

Kompiuter apo qep ?

Titulli eshte per te lehtesuar kuptimin xD :)
Perdora pikerisht fjalen qep pasi do te flasim per shtresat (layers) e kompiuterit duke filluar qe nga me te lartat deri tek me te voglat..
Po japim pamjen e pare nga deti..

Siç e shohim ajo me te cilen kemi te bejm ne si perdorues eshte vetem shtresa e pare qe zakonisht jane aplikacionet GUI (graphical user interface).
Niveli 6
Eshte shtresa siç e thashe qe kemi te bejm per dit, jane aplikacionet e perditshme, openoffice, opera, metasploit 😛 , etj pra besoj se nuk ka nevoje per sqarim.
Niveli 5
GJuhet e nivelit te larte si Java, C++, D, etj ne te cilat ne shkruajm kodin i cili kalon nga nje nivel ne nje nivel tjeter..
Duhet te kemi parasysh nje ligj, qe : te gjitha keto ndodhin ne forme ciklike dhe ne ç’do fillon me inputin (marrim tastieren) dhe kalon neper te gjitha shtresat e mesiperme deri sa fillon ngjitet perseri dhe ne e marrim si output tek ekrani i kompiuterit.
Niveli 4
Ka te beje me gjuhen assembly, apo kodin assembly pasi ta kemi te qarte qe kur programojm ne C++, apo ne ç’fare do gjuhe te kompiluar eshte gabim te thuash qe kompilatori (psh gcc) e perkthen kodin tone direkt ne kod binar pasi ne realitet e perkthen ate ne kod assembly, i cili me vone perkthehet nga assembly ne ate qe quhet machine kode apo gjuha e makines, apo me sakt gjuha binare. Dhe nese nuk e keni te qarte se pse nuk kthehet direkt ne kod binar pra (pse egziston kjo shtresa 4?) atehere duhet te mesojm se ç’do kompiuter ka arkitekturen e tij dhe llogjiken e tij dixhitale, mekanizmat e tij llogjik hardware qe jane te ndryshem nga te tjeret dhe pikerisht nuk eshte shume e llogjikshme qe programuesit te nxjerrin nga nje kompilator per ç’do kompiuter qe prodhohet sot ne tregun boteror.
Niveli 3
Ketu kemi te bejm me sistemin operativ i cili eshte ai qe organizon te gjith kete, qe kujdeset per mbrojtjen e memorjes si dhe per menaxhimin e komponenteve hardware gjithashtu per shume funksione te tjera perfshire ketu dhe komunikimin midis nivelit aplikativ me nivelin e ulet hardware.
Niveli 2
Kodi i makines, kjo ne fjale te tjera eshte perfundimi (ne disa raste) i te gjith kodit pasi kthehet ne binar (0100100100) dh nese duam te jemi akoma me real kthehet ne impuls elektrik qe kalon neper cirkuitet dixhitale.
Niveli 1
Ne pak fjale kemi te bejm me ISA (Instruction set architecture) qe eshte dhe ajo qe thame me siper pra arkitektura e kompiuterit qe mund te jete x86, x86_64, i686 e keshtu me rradhe dhe kemi te bejm ne fjale te tjera eshte gjuha qe njihet ne menyre te drejtperdrejt nga arkitektura e kompiuterit.
Niveli 0
Ketu jemi ne katin e fundit, dhe kemi te bejm me Njesine e kontrollit e cila kontrollon enkodimin dhe dekodimin e instruksioneve, pra kontrollon qe ç’do gje te jete ne rregull dhe ne vendin e vet.
Ka 2 rruge se si mund te arrihet rezultati qe u tha me siper, e para me hardware te cilin nuk kemi shume nevoje per ta shpjeguar, e dyta eshte ajo me ane te software.. SI ?? po po, me ane te programimit.
Dhe ketu dalim tek principi i barazise midis hardware dhe software per me shume:
http://albanianwizard.org/intro-ne-arkitekture/
Ne rregull, po ç’fare eshte mikroprogramimi, apo kodi i tille?
Nuk eshte asgje tjeter vetem se menyre me fleksibel per interpretimin  dhe kontrollin e instrusioneve.
Pra me ane te mikrprogramimit (i cili nuk ka nevoje per faza kompilimi pasi siç e shohim eshte ne nivelin me te ulet , pra akoma me te ulet se machine code)
Ja nje shembull:
http://albanianwizard.org/Postokodin/34

Keto pra ishin shtresat e kompiuterit te ilustruara shume shkurtimisht.

iPhone 3G, “hacking” apo e drejta per pronen tende?

Turpi i turpeve kesaj rradhe i takon APPLE
Po jetojm kohe te veshtira apo jo :D?

Ja ku po e nisim me te rene e fundit, apo dredhite e apple qe ka bere me prodhimin e saj te quajtur iPhone.
Shume prej nesh mund te paguajm per te blere nje makine, rrob, shtepi apo ku ta di une nje kompiuter etj.
Dhe pak prej nesh jane ne realitet pronar, apo owner te atyre gjerave qe sapo i blem dhe normalisht jane ne pronesine tone..
Pse e them kete..
Marrim rastin e iPhone, meqe po flasim per iphone..
Ne vendet europiane eshte me nje çmim prej 600€ , ne japoni 200 $ ashtu si ne amerik, dhe ja ku e blem iphonin tone, por gjeje pak se ç’fare..
Nuk mund te instalojm programe te cilat nuk jane ne iTuneStore, ne fjale te tjera nuk mund te instalojm programe qe nuk shiten nga APPLE, dhe me kete u siguroj qe APPLE zuri te njejtin vend tek une si MIXROZOFT!
Ne fjale te tjera,
shkojm dhe blejm nje makine tek mercedez, dhe ne te njejten kohe mercedez perveç makinave shet dhe benzin, dhe mbasi e blejm marrim vesh lajmin e hidhur qe duhet te bejm shuuume kilometra, te paguajm me shume leke, dhe te marrim nje benzin skarso vetem e vetem qe mercedezi te vazhdoj te fitoj tek ne.
Pra eshte absurde apo jo?
Gjithsesi ja se ç’fare ndodh.
Programuesit e iphone developer team zhvilluan aplikcione te quajtura quickpwnage dhe pwnage  per te liruar iphone dhe per ta bere ate te afte per te pasur mundesi qe te instaloj aplikacione te tjera qe jane falas dhe shume me te mira se ato qe gjenden tek itunes store..
Por ja qe sfida nuk mbaron me kaq..
Ne firmwarin e ri 2.2.1 ata (te apple) futen nje mekanizem te ri per ta bere jofunksional aplikacionin PwnageTool.
Per fat te mire iphone dev team menjehere si kunderpergjigje nxorri versionin e ri PwnageTool 2.2.5 por imagjinoni pak, apple nuk dorezohet me kaq..
Ajo ne axhornimin e fundit 10.5.6 te sistitemit operativ MacOSX krijoi andrallen e fundit per te shmangur qe njerezit qe I BLEJN DHE I PAGUAJN ME LEK IPHONIN te kene mundesi qe te instalojn ne te ato qe deshirojn ata, pa u limituar nese nje aplikacion eshte ka firmen apple apo jo..
Dhe degjojeni te fundit :)
Gjate hacking te iphone, kur e kemi te lidhur me kompiuterin tone mac, dhe mbarojm komplet etapat per ndryshimin e firemwarit (ne fjale te tjera kjo metode eshte modifikimi i sistemit dhe softwarit hardware te paisjes me nje tjeter e cila te lejon instalimin e aplikacioneve te tjera perveç atyre te apple [do te ishte mire ti skartonin fare xD]) dhe kur hyme ne DFU mode (nje lloj safemode  i sistemit ku zakonisht behet backupi) sistemi yne i dashur me shenjen e molles se kafshuar na thote se iTunes (dhe jo iPhone) nuk eshte njohur ne menyre te sakt si periferike !
Arrini ta besoni?
Por nga ana tjeter dhe ne nuk dorezohemi !
Secili person ka te drejtat e tij, dhe ata mohojn ne menyre konstante te drejten e prones private, dhe blejn gjykatesit e shitur me leket e tyre te qelbura.
JA pra dhe menyra tjeter per te shmangur kete marifet te tyre.
Kjo mosnjohje e iPhonit shkaktohet nga driveri i ri i usb-s qe instalohet automatikisht me MacOSX 10.5.6
😀
Zgjidhja eshte shume e thjesht dhe shume llogjike
Mjafton qe tek usb-ja e mac te fusim nje usb-hub (shperndares usb) dhe tek usb-hub te lidhim kavon usb te iPhonit dhe problemi u zgjidh.
Te gjitha keto mu desh ti beja gjate HACKING dhe fitimit te te drejtave te prones private gjate zhbllokimit te iPhone 3G te vellait tim me firmware 2.2.1 ne MacOsX 10.5.6
Per te gjithe te interesuarit per guid se si te zhbllokohet iPhone mjafton te kerkoni ne internet, dhe te kerkoni me “jailbreaking iPhone 3G” dhe keni tutoriale te ilustruara shume qart.
Per arsyen se ka pikerisht shume te tille dhe jane shume te qarte, u ndala te sqaroja vetem kete metode speciale per te zhbllokuar versionin e fundit te iPhone me versionin e fundit te firmware ne versionin e fundit te MacOsX,  metod te cilen e keni shume te nevojshme nese keni te beni me versionet  e fundit pra nese nuk perdorni usb-hub ato qe jane ilustruar ne tutorialet e gjetura ne internet nuk do te funsionojn.
Ah, arsyeja tjeter pse nuk solla ketu ato tutoriale eshte se pastaj thone qe “perkthej” dhe temat nuk jane te miat.
Ne te njejten kohe, u bej thirrje te ndaloni duke kopiuar temat, duke i postuar neper forumet tuaja per fame ,a buje apo ku ta di une, dhe te kuptoni se ky web nuk eshte per qellime perfitimi, (shikoni gje ads) (po shes gje aplikacione te koduara nga une?) , dhe as per fame, pasi per ne dini vetem emrat dhe asgje tjeter.
SIç lexohet dhe tek rreth nesh qellimi i ketij webi eshte qe shqiptaret te kene nje pik referimi dhe te marrin e te japin njohuri, te permirsohen dhe te ecin perpara.
Ne postimin e ardhshem do te postoj nje video shume interesante mbi deklaraten e te drejtave te njeriut.
BTW APPLE SOCK

A egziston fundi i ligjit te Gordon Moore?

Ne 1965 u tha publikisht diçka..
“The density of transistors in an integrated circuit will double every year.”
Densiteti i tranzitoreve ne cirkuitet e integruara do te dyfishohet ç’do vit..
Dhe qe prej asaj kohe ky eshte quajtur ligji i Moore.
Eshte e vertet, sot ç’do gjashte muaj fuqia e proçesoreve zmadhohet dhe numri i tranzistoreve rritet..
Sot po jetojm nje kohe ku kjo fuqi dyfishohet ç’do gjashte muaj.. E habitshme apo jo?
Ja grafiku i Moore..


Dhe siç e shohim ne grafik, rritja eshte me ritem galopant.
Le te shohim arkitekturen e itanium 2

Tek tema e meparshme folem per L3 Cache, ja pra ky eshte nje proçesor qe ka L3 cache.. dhe Intel po perpiqet qe pak nga pak te heqi nga tregu Dual Core  siç ndodhi me Pentium..
Siç e dime nga pikpamja shkencore, nese nje pohim ngelet i vertet per shume kohe atehere ai quhet LIGJ (ligjet fizike, kimike, matematikore etj), por nese ky pohim nuk vertetohet por thjesht mbetet nje pohim atehere quhet teori.
A egziston fundi i ligjit te Gordon Moore (co fouder i Intel corporation) ?
Ne 13 prill 2005 vet Gordon Moore pohoi se vet natyra e ketyre fenomeneve eksponenciale eshte qe kur i shtyn me teper ndodh nje katastrof..
Pra ligji i jetes qe ç’do gje ka fillim dhe mbarim. Ashtu siç edhe ne njerezit lindim dhe vdesim, apo mjetet qe perdorim (makinat zevendesohen me te reja etj) gjallesat e keshtu me rradhe.. deri tek yjet..
Mendohet se ky ligj mund te kete fundin e tij mbas 20 vjetesh ku tranzistoret do kene arritur limitin e njohur sot me emrin atom.
Pra tranzistor me madhesine e atomit dhe proçesor me 30 bilion tranzistor..
Por a do te jete limiti i atomit deri atehere, dhe a mund te drejtohet ne nje drejtim tjeter ky zhvillim eksponencial i shfrenuar?
Keto ja leme zbulimeve te ardhshme te kohes..

Tashme mikroproçesor dhe çipe me L3 cache.

Besoj se kemi degjuar shpesh “Dual core 2 duo T7200 2.0 Ghz L1 cache 64Kb L2 cache 2Mb”
Proçesoret i dime se ç’fare jane, keshtu qe po merremi me sqarimin se ç’fare eshte cache, dhe nga ana tjeter kalojm dhe tek e reja L3 cache.

Ne shqip, cache do te thote vend i fshehur, ose do te preferoja ta quaja xhep i fshehte dhe ky eshte si kuptim gjuhesor.
Si teknologji eshte shume e aplikuar qofte dhe tek browserat.
Shembull:
Nese ne vizitojm psh faqen tone albanianwizard.org me browserin tone (opera, lynx, firefox etj) do te na paraqitet faqa jone dhe provojm tani te shkepusim internetin, dhe mbasi e shkepusim provojm ti japim refresh browserit..
UaU, çudi, si shpjegohet qe vazhdojm te shohim faqen tone (pa .css dhe jo aq te bukur) por prap arrijm ta shohim?
Kjo sepse browseri ka nje kartele me faile te perkohshem qe quhet cache ne te cilen me viziten e pare qe bejm tek nje adrese interneti browseri shkarkon faqen (imazhet, fotot, failet html) etj dhe i shpeton ato ne hardisk, keshtu qe kur klikojm tek e njejta faqe de eshte e njejta date, atehere browseri nuk shkarkon serisht faqen por bazohet duke perdorur fotot dhe materialin e shkarkuar per ate faqe nga vizita e pare.
Le te bejm nje shembull te caching.
Jemi tek magazina e Jovan Bregut 😀
Vanit i vijn dhe i kerkojn 30 kg oriz, shkon vani ne magazin dhe e merr, ja jep klientit dhe klienti iken.
Vjen nje klient tjeter dhe i kerkon 10 kg oriz, shkon perseri vani brenda ne magazine dhe vonohet neper te, kur kthehet perseri tek klienti , klienti i ben nje verejtje per vonesen dhe gjithsesi e blen orizin dhe iken.
Vani mendon per verejtjen qe i beri klienti dhe thote, meqe po blihet me shume oriz, sheqer, e miell atehere po vendos nje dollap ketu tek banaku dhe kur te me vijn klientet nuk shkoj te lodhem deri tek magazina po ua jap direkt.
Vjen perseri klienti i rradhes dhe vani kesaj rradhe nuk e le te presi por i jep menjehere 5 kg miell qe e ka poshte banakut, klienti i kenaqur per shpjetesine e sherbimit i le vanit bakshish 😛
Keshtu pra, dollapi poshte banakut ne kete rast perfaqeson ate qe ne po e quajm cache.
Le te kalojm kthehemi tani tek cache ne shkencat kompiuterike…
Funksioni i saj eshte i thjesht, ne dime qe ka proçese apo programe te cilat i perdorim me shpesh se te tjerat dhe duke e ditur kete inxhinieret per ti ardhur ne ndihme konsumatorit kane krijuar cache te proçesorit qe nuk eshte asgje tjeter veçse memorje (ne rastet me te medha SRAM) ne te cilen ruhen te dhena te cilat proçesorit i duken me te perdorurat dhe per komoditet ato ruhen ne kete memorje te vogel ne menyre qe nese perdoruesi kur te lançoj te njejtin aplikacion ose te kryej te njejtin veprim mos te rrij te presi si heren e pare por te arrij menjehere (shume shpejt) te kryej proçesin apo veprimin e deshiruar.
L1 cache

slot: L1-Cache
size: 64KiB
capacity: 64KiB
capabilities:
Internal,
Write-back,
Instruction cache
Kjo eshte e proçesoreve te mi, dhe eshte e nje madhesie te vogel prej 64 Kb
L1 cache , kjo memojre e vogel gjendet brenda çipit te mikroproçesorit dhe proçesori nuk harxhon fare kohe (sepse gjendet brenda tij) per te marre te dhena nga kjo memorje.
L2 cache

/0/4/6
slot: L2-Cache
size: 4MiB
capacity: 4MiB
capabilities:
Internal,
Write-back,
Unified cache

Ne kete rast kemi te bejm me te njejtin funksion, por ne ndryshim nga L1 cache L2 cache eshte :
a) me e madhe pasi eshte 4Mb
b) me e ngadalt pasi gjendet jashte mikroproçesorit dhe si rezultat me larg se L1 cache.
L1 cache sherben te dhena me nje shpejtesi 10 nanosekonda
L2 zakonisht me 30-40 nanosekonda (pra pak me ngadal)
Ja nje tablo e te gjith kesaj qe folem:

Ne rregull, tani besoj se e kemi te qarte se ç’fare do te thote cache, ç’fare funksioni ka, dhe se ku ndryshon L1 cache nga L2 cache.
Por ne titull kemi L3 cache.., po kjo???
Nuk ka ndonje ndryshim nga L2 cache.
I vetmi ndryshim eshte se me kete gjenerat L2 cache nuk gjendet me jashte proçesorit por tashme brenda tij dhe L3 cache ne kete rast merr vendin e L2 cache.

Pyetje:
Pse memorja L1 eshte aq e vogel, dhe pse L2 gjithashtu nuk rritet ne nje memorje shume me te madhe?
Ne kete menyre do te rritej kapaciteti i cache, dhe rrejdhimisht dhe shpejtesia apo jo?
Pergjigje:
Ne realitet do te rritej kapaciteti i ruajtjes se te dhenave (memorja) por varet ne disa raste jo shpejtesia sepse sa me e madhe te jete hapesira, aq me shume kohe i duhet proçesorit per te gjetur ate te dhene qe na duhet dhe rrjedhimisht do te sillte ngadalesi dhe jo shpejtesi.