Kompjuterët II

You might also like

You are on page 1of 205

Komjuterët 1I

Shkolla mesme profesionale

Kaçanik

KOMPJUTERËT II

2003/2004

Për KL IV-të drejtimi i elektroteknikës –Kompjuterizëm

(Materual unterne pune)

Author: Ing.i dip i elek. Ismail Dashi

Për vitin e IV-të elektroteknik i kompjuterëve 1


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

1. Lidhja e komponentëve të sistemit kompjuterik

1.1. Magjistralja
Arkitektura e kompjuterit
Arkitektura e kompjuterit përshkruan strukturën e tij, funksionimin intern cili
përfshin bashkësinë e regjistrave, kujtesën operative, bashkësinë e instruksioneve dhe
mënyrat e adresimit të operandve dhe formateve të të dhënave, organizimit të hyrje/ daljeve.
Për realizim të sistemit kompjuterit bashkëkohor përdoren dy principet në si në
vazhdim:
-organizimi modular (organizimi me module) dhe
-lidhja e moduleve me ndihmën e magjistrales
Principi i organizimit modular ose principi modular konsiston në ndërtimin e
sistemeve kompjuterike dhe kontrollues në bazë të bashkësisë së moduleve. Me modul
(bllok) nënkuptohet komponenta e cila paraqet konstruksionin dhe mjedisin elektrik të
pajisjes llogaritare dhe kontrolluese, e aftë që si e pavarur ose në lidhje me modulet të
tjerët të zgjidhë detyra të caktuara.
Shembull: Modul karakteristik te kompjuterët PC është e ashtuquajtura video-
kartelë, pllakë elektronike që shërben për administrimin e ekranit dhe shfaqjen e të dhënave
në te.
Principi modular në punën e kompjuterit, posaçërisht e te kompjuterët PC dhe
mikrro, mundëson që prej moduleve të ndryshëm të ndërtohet e tërë familja e kompjuterit
të cilat ndërmjet veti dallohen sipas funksionit dhe karakteristikave të tjera. Me këtë
mundësohet rritja shkallë shkallë e mundësive llogaritëse, si dhe përmirësimin e sistemit
kur dhe për te paraqitet nevoja. Këtu si modul trajtohen dhe pajisje të veçanta periferike të
kyçura në sistemin kompjuterik
Lidhja me ndihmën e magjistrales
Mund ti dallojmë dy principe të lidhjes së moduleve ose pjesëve funksionale të
sistemit:
-principi i lidhjeve direkte kur bëhet lidhja e secilit modul me secilin dhe
-principin me magjistrale, e cila përdor të njejtën bashkësi sinjalesh për lidhje të
moduleve, me çka minimizohet numri i lidhjeve ndërmjet moduleve(blloqeve).

Për vitin e IV-të elektroteknik i kompjuterëve 2


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Struktura e sistemit kompjuterik është e përcaktuar para së gjithash me mënyrën e


organizimit ndërmjet moduleve.gjithashtu thuhet se përdoret principi me magjistrale, i cili
siguron shkëmbimin e të dhënave ndërmjet moduleve konstruktivë dhe funksional të
niveleve të ndryshme, kur modulet lidhen me magjistrale të përbashkët e cila i bashkon të
gjitha linjat e hyrje- daljeve. Në këtë rast sigurohet lidhja e moduleve pa ndikim njëri në
tjetrin ashtu që linjat e të dhënave kyçen në magjistrale përmes qarqeve me tre
gjendje(Three state output -dalje me tre gjende). Këto janën qarqe elektronike dalja e të
cilëve mund ta jetë në logjikën “0”, logjikën “1” ose në gjendjen e impendacës së lart
(gjendja e tretë ose gjendja jo-aktive) kur linjat dalëse praktikishtë nuk janë të ç’kyçura nga
magjistralja dhe nuk ka ndikim në punën e saj.
Magjistralja ose zbara(ang bus-i) është rruga komunikuse e përbërë prej grup linjash
(përquesve elektrik) nëpër të cilët sinjalet binare bartin të dhënat ndërmjet tërsive
funksionale të veçanta në sistemin kompjuterik. Secilës linjë iu ndahet domethënja konkrete
ose funksioni. Karakteristikë me randësi e magjistrales është resursi ndarës ( me shfrytëzim
të përbashkët). Të gjitha linjat e magjistrales mund të klasifikohen në tre grupa funksionale :
linja me të dhëna; linja të adresave dhe linja të kontrolleve. Dhe në pajtim me këto, këto
grupa të linjave quhen magjistrale të adresave(ang addres bus), magjistrale e të
dhënave ( ang. Data bus)dhe magjistrale të kontrolleve(ang. Control Bus)(fig.1.1)
Magjistralja shfrytëzohet si për lidhjen e moduleve te sistemit kompjuterik gjithashtu
dhe për lidhjen e moduleve brenda tërësive funksionale te veçanta. P.sh magjistralja ka rrol
shumë të madh edhe te transferimi i te dhënave brenda procesorit qendror. Magjistralja e
cila përdoret brenda procesorit quhet magjistrale e brendshme(ang. internal bus), ndërsa
magjistralja e cila përdoret jashtë procesorit quhet magjistrale e jashtme(ang. External
Bus) ose magjistrale e sistemit. Magjistralja e sistemit para së gjithash lidh komponentet
kryesore te sistemit -procesorin qendror, kujtesën operative dhe nënsistemet hyrje -daljeve.
Nëqoftëse për secilin bit të të dhënave ekziston linja e posaçme atëherë bëhet bartja
paralele e te dhënave, nëse nuk është kështu atëherë dërgohen grup për grup bit në intervale
të njëpasnjëshme kohore. Kjo mënyrë e bartjes quhet multipleks kohor. Në rastin ma te
thjesht bartja bëhet bit për bit, çka paraqet bartjen serike.
Magjistralja lidh procesorin me kujtesën operative, kujtesën e jashtme dhe gjithë
periferitë. Për lidhje me të gjitha llojet e pajisjeve përdoret i njeti grup sinjalesh. Me rëndësi
është dhe kjo se edhe procesori qendror edhe periferitë përdorin të njëjtën mënyrë të lidhjes
dhe komunikimin ndërmjet veti. Pasoj e kësaj është se edhe për qasje në kujtesë dhe për
qasje pajisjeve (periferive) përdoret e njëjta bashkësi i instruksioneve të procesorit.

Për vitin e IV-të elektroteknik i kompjuterëve 3


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Magjistralja e përbashkët

Magistralja e kontrollave

Magistralja e të dhënave

Magistralja e adresave

Interfejsi
Procesori Kujtesa Interfejsi
Qendror operative ... kontrolleri i
kontrolleri i periferive periferive

Pajisja periferike
Pajisja periferike

Fig 1.1 Paraqet mënyrën e lidhjes të komponenteve të veçanta te kompjuterit të ashtuqujturit me

Magjistralja e adresave
Linjat e adresave përdoren dhe për emërtimin (tregimin-shënimin) e burimit të të
dhënave ose destinimin. magjistralja e adresave mundëson që secilës qelizë të kujtesës,
secilit port hyrës dalës dhe resurseve të tjera interfejse t’ju ndaj adresat e veta. Gjerësia e
magjistrales së adresave përcakton kapacitetin e mundshëm maksimal të kujtesës së sistemit.
Magjistrale më e vogël e adresave është 16 bit, çka mundëson brez adresimi prej 0 deri
65536. megjithatë, procesorët bashkëkohor kërkojnë kujtesë operative me vëllim dukshëm
më të madh, për këtë arsye magjistralja e adresave ka 20, 24, 32,36dhe bile edhe 64 linja
adresave. Momentalisht po përdoren edhe magjistrale të adresave prej 128 Bit.
Te dhënat për adresë (sinjalet në linjat e adresave ) zakonisht viejn prej regjistrave
kontrollues (punues) të procesorit qendror, ndërsa formohen në njësi aritmetike te
adresave. Këto janë të thjeshta dhe qohen nga procesori në periferi.

Magjistralja e të dhënave
Magjistralja e të dhënave siguron rrugën për transmetim e të dhënave ndërmjet
moduleve te sistemit. Përmban linjat të cilat bartin bitët e të dhënave në njërën ose në
drejtimin tjetër. Numri i linjave me të dhëna është 8, 16 , 32 dhe 64, dhe shërbejnë për
bartje ndërmjet pajisjes dhënëse marrëse. Për qëllime mbrojtje të procesorit lypset ndarë
magjistralen e brendshme të të dhënave me magjistralen e jashtme të të dhënave në të cilën

Për vitin e IV-të elektroteknik i kompjuterëve 4


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

kyçet kujtesa operative dhe pajisjet periferike. Për këtë përdoret magjistralja bafër e të
dhënave, e cila paraqet qark me tri gjendje. Ky është një qark i domosdoshëm edhe kur
daljet e dy moduleve të ndryshëm duhet lidhur me hyrjen e një moduli të tret pasi lidhja
direkt elektrike e dy daljeve pengon dhe mund ti dëmtoj qarqet dalëse.

Magjistralja e kontrollit
Magjistralen e kontrollit e përbëjnë linjat të cilat përdoren për kontrollim të qasjeve
në linjat e shfrytëzuara për të dhëna dhe adresues. Sinjalet kontrollues shërbejnë për
komunikim të njësive funksionale (moduleve) të kyçur në magjistrale ashtu që bartin sinjale
komandues të cilët specifikojnë operacione të cilat duhet të kryhen, dhe gjithashtu, takt
informacionet (sinkronizimi) ndërmjet këtyre moduleve. Shumica e sinjaleve kontrolluse
formohen në procesor ose iu duhen procesorit qendror, ashtu që në magjistralen e kontrollit
ka sinjale kah procesori dhe sinjale nga procesori.
Shembull: sinjale karakteristik kontrollues janë:
-Sinjalet hyrëse për kërkesë për ndërprerje ose për lirim të magjistrales për qëllim të
qasjes direkt në kujtesë,
-sinjalet sinkronizues,
-sinjalet të cilët definojnë se a iu qaset kujtesës apo pajisjes hyrëse /dalëse,
-sinjalet që sjellin mikrroprocesorin në gjendjen fillestare,
-sinjalet mbi gjendjen e procesorit etj.

Administrimi i magjistrales
Kur në magjistrale kyçen më shumë module, është e nevojshme të ekzistoj një
bllok funksional për kontrollim(menaxhim) të magjistrales, pasi më shumë se një modul
mund ta kërkojnë në shfrytëzim magjistralen. Ky bllok quhet kontrollor i magjistrales ose
adapter i magjistrales. Ky mund të jetë modul i posaçëm ose pjesë e procesorit qendror.
Qëllimi është përcaktimi i një moduli, qoftë në procesorin qendror qoftë modul hyrës –
dalës, si udhëheqës (kryesor). Moduli udhëheqës mundet më pas të inicion bartjen e të
dhënave në ndonjë modul tjetër i cili vepron si përcjellës për këmbimin konkret.
Që njëri modul ti transferoj të dhëna modulit tjetër ai duhet të bëjë si në vijim:
-ta merr magjistralen në shfrytëzim,
-të transferoj të dhëna nëpër magjistrale.
Nëse ndonjë moduli iu duhen të dhënat nga një modul tjetër ai duhet :
-ta merr magjistralen në shfrytëzim,
-t’ia bart kërkesat modulit tjetër, dhe më pas të presë që nga moduli i kërkuar t’ju
dërgohen të dhënat e kërkuara
Administrimi i magjistrales mund të jetë i centralizuar ose i decentralizuar. Te rasti i
parë bartjen e të dhënave nëpër magjistrale e menaxhon kontrolleri i magjistrales. Te ky rast

Për vitin e IV-të elektroteknik i kompjuterëve 5


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

me rastin e ekzistimit të shumë kërkesave në të njëjtën kohë, magjistralja vepron në bazë


prioritetit të futur në sistem. Administrimi i decentralizuar ka domethënien që magjistralen
mund ta administroj secili modul i cili më parë e ka marrë në shfrytëzim.

Interfejsi

Interfejsi është bllok elektronikë përmes të cilit kontrollerët e periferive kyçen në


magjistrale. Shpesh interfejsi është pjesë përbërse e kontrollerit të periferisë. Secili
kontroller i tillë dispon mundsi adresimi të secilit modul ose pajisje me të cilën ai
administron, në mënyrë që procesori qëndror të mund përmes tijë ti thërras pajisjen
konkrete periferike. Në këtë rast linjat adresuese shërbejn që moduli dhënës (udhëheqës) të
selekton(adreson) modulin marrës (përcjsllës) me të cilin duhet të vendoset lidhja
Interfejsi i magjistrales kryen punët si në vazhdim:
-Dekodon kodin e pajisjes së seleksionuar (përzgjedhur) ose të pajisjes që ka marrë
kontrollën mbi magjistralen dhe përgjigjet vetëm kur ky kod i përket pajisjes së
seleksionuar;
-dekodon kodin kontrrollues të marrë nga procesori qendror dhe inicializonon
ekzekutimin e operacionit;
-I dërgon procesorit qendror informacion mbi gjendje e pajisjes periferike;
-administron me transferin(bartjen) e të dhënave ndërmjet procesorit qendror dhe
pajisjes periferike.
Interfejsi lejon dhe të ndërtohen sisteme në të cilët pajisjet periferike të mund të
formojn sinjale për ndërprerje programore të cilat i shërbejn procesorit qendror. Me këtë
procesori qendror fiton mundësin të komunikimit me një bashkësi të madhe të pajisjeve të
cilat përdorin bartje asinkrone të të dhënave.

1.2. Magjistralja e përbashkët


Sistemet me magjistrale te perbashket është struktura ne te cilen lidhja në
komunikacaion bëhet permes nje magjistrale te perbashket me një adresim te perbashket te
te gjithave pajisjeve te kyçura. Bartja e të dhënave nëpër magjistrale është paralele (shih fig
1.1)
Në fig 1.2 tregohet mënyra e lidhjes të dyja magjistraleve, ky që të dyjat
shfrytëzohen si magjistrale e përbashkët. Në këtë rast magjistralja e dytë shërben për lidhje,
përmes urës së posaqme (bllokut i cili i lidhë dy magjistrale ), të një numri të madhë të
periferive të ndryshme.

Për vitin e IV-të elektroteknik i kompjuterëve 6


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Magjistralja e përbashkët

Procesori Kujtesa Pajisja periferikeUra kah magjistralja e hyrje-daljeve


Qendror operative

Magjistralja e hyrje-daljeve

Interfejsi Interfejsi
...
Kontrilleri i periferive Kontrilleri i
periferive

Pajisja periferike Pajisja periferike


...

Fig 1.2.- Lidhja e komponenteve të sistemit kompjuterit me dy magistrale

Për vitin e IV-të elektroteknik i kompjuterëve 7


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Moduli i
Moduli i Kujtesës
Kujtesës . . .

Magjistralja e kujtesës

Procesori Kontrolleri DMA


Qendror

Magjistralja e hyrje-daljeve

Interfejsi Interfejsi
. . .
kontrilleri i periferive kontrilleri i
periferive

Pajisja periferike Pajisja periferike

Fig 1.3.- lidhja e komponenteve të sistemit kompjuterit me dy magistrale shërbyse

Krahas përdorimit të një magjistrale të përbashkët, është e mundshme lidhja e


moduleve përmes shumë magjistraleve. Në fig 1.3 është treguar arkitektura me dy
magjistrale: magistralen kujtes dhe magjistralen të hyrje-daljeve. Nga figura mund të vrehet
se kjo mënyrë e lidhjes është e përshtashme për bartje të hyrje- daljeve me qasje direkte në
kujtesë

Për zvoglimin e numrit të pikave kyqëse( ose numrit të linjave) të magjistrales


përdoret mënyra e cila quhet multipleksim ose multipleks kohor. Këtë e karakterizon edhe
me ate se linja të caktura në një interval kohor të ciklit bazë, i cili definohet me sinjal të
taktit të posaqëm, shërben për bartje të të dhënave. Te multipleksimi kohor nuk ekziston
dallimi në struktur ndërmjet linjave të magjistrales së adresave, dhe magjistrales së të
dhënave dhe magjistrales së kontrollit.

Për vitin e IV-të elektroteknik i kompjuterëve 8


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

1.3. Sitemet paralele


Për shumë zbatime, p.sh për lidhje të formave ose përpunim të sinjaleve nevojiten
kompjuter të cilët munden në të njejtën kohë të përpunojn një numër të madhë të dhënash.
Për këtë qëllim zhvillohen kompjuter të cilët në vete përmbajn një numër të madhë të
elementeve përpunues – procesor më pak ose më shumë të ndërlikuar. Këto sisteme mund të
ken disa dhjetra, disa qindra dhe madje dhe disa mijara elemente procesorike të cilët nëtë
njejtën kohë do të jenë të angazhuar në zgjidhjen e të njejtit problem. Këto sisteme
kompjuterike quhen sisteme paralele, siteme për përpunim paralel ose multiprocesorik.
Mund ti ndajm në tri arkitektura karakteristike për multiprocesim (fig 1.4 –1.6)
-multiprocesori me kujtesë të ndarë
-multiprocesori me kujtes distributive
-multiprocesori me kujtes të ndarë distributive
-multiprocesori me kujtesë të ndarë
Fig 1.4 paraqet arkitekturën e multiprocesimit me ndarje të kujtesës, i cile akoma
quhet dhe sistem me multipleksim simetrik ose multiprocesor simetrik.. Karakteristika e tij
themelore është që të gjitha njësist procesuse e ndajnë kujtesën operative dhe kanë
magjistralen e sistemit të përbashët. Këto sisteme quhen sisteme me ndërlidhje të fort
multiprecesorik.
Në sisemin me ndarje të kujtesës, mjet themelor i komunikimit të elementve
procesorik është kujtesa e përbashkët operative. Sistemi ka shumë njësi procesorike,
ndërsa secila njësi procesorike ka kujtesën e vetë operative lokale dhe përkrahjen e vetë
programore të pavarur. Këtu ndarja e kujtesës shfrytëzohet për shkëmbim të të dhënave
ndërmjet njësive procesorike, dhe për ekzekutimin e programeve.
Karakeristik e mirë e kësaj arkitekture është të ekziturit hapsirës së përbashkët të
kujtesës, çka dhe thjeshton programimin. E metë kryesore e kësaj arkitekture është se me
rritjen e numrit të elemeneteve procesorik rritet dhe komunikacioni në magjistrale, dhe kjo
paraqet një fytë të ngusht për një numer bile me mbi dhjet elemente procesorike.

Njësia e procesitNjësia e procesit Njësia e procesit


1 2 m
. . .

Magjistralja e sistemit

Kujtesa e ndarë

Fig 1.4.- Multiprocesori me kujtesë të ndarë

Për vitin e IV-të elektroteknik i kompjuterëve 9


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Magjistralja me kujtesë distrubutive.

Në fig 1.5 është treguar arkitektura e multiprocesorit me kujtesë distributive. Ky


multiprocesor gjithashtu quhet multiprocesor me transfer të mesazheve. Në mënyrë që ti iket
fytit të ngusht të cilën e shkakton magjistralja dhe ndarja e kujtesës, në të gjitha sistemet,
kujtesa është distributive ( e ndarë) ndërmjet elementeve procesues, d.m.th secili element
procesorik ka kujtesën e vetë operative.prandaj të gjithë sistemet quhen siteme
multiprocesorik të lidhur dobtë ose multikompjuterët. Shërbejnë për përpunim masovik
paralel.

Njësia e procesitNjësia e procesit Njësia e procesit


1 2 m
. . .

Kujtsa distrib-utive
Kujtsa distrib-utive Kujtsa distrib-utive
. . .

Rrjeta ndërlidhse
(të dhënat barten me dërgimin e mesazheve )
Fig 1.5 Multiprocesori me kujtesë distributive

Për qasje në kujtesën jashtë asaj të vetes operative elementi procesorik përdor
transferin e mesazheve, proces i ngjajshëm te bartja paket të rrjetave komunikuse për bartje
të të dhënave. Me këtë zvoglohet trafiku në magjistrale, dhe është e mundshme të lidhen
një numër i madhë të elementve procesorik. Megjithatë, programimi i të gjitha sistemeve
është i vështirë. Pos kësaj sinkronizimi i të dhënave ndërmjet detyrave distributive bëhet
problematik, posaqërisht kur mesazhi duhet në shumë hapa të arrijë deri te elementi
procesorik përkatës.

Multiprocesori me kujtesë të ndarë distributive


Në fig 1.6 tregohet arkitektura e tretë për përpunim paralel – sistemi
multiprocesorik me ndarje distributive të kujtesës. Quhet dhe sistem për përpunim paralel
skallabil. Përpunimi skallabil tregon se numri i elementeve procesorike sipas nevojës
mundet sipas dëshirës të rritet. Kjo është kombinimi i i dy arkitekturave të para. kjo
mundëson programim më të lehtë dhe zgjerimit të sistemit (skallabilitetit ) me shtimin e
elementeve procesorik të rijë.

Për vitin e IV-të elektroteknik i kompjuterëve 10


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Njësia e procesitNjësia e procesit Njësia e procesit


1 2 m
...

Kujtsa distrib-utive
Kujtsa distrib-utive Kujtsa distrib-utive
...

Rrugët hardverike për qasje në blloqet e kujtesave


Ndarje logjike e hapsirës së kujtesës

Fig 1.6 Multiprocesori me ndarje distributive të kujtesës

Pyje dhe deyra


1. Çka na përshkruen(tregon) arkitekura e kompjuerit ?
2. Në çka përbëhet principi i organizimi modular i sisemit kompjuterik?
3. Cila është baza e shfrytzimit të dy principeve për lidhje të moduleve ?
4. Çështë magjistralja dhe cilat linja i përmban?
5. Cilat lloje të bartjeve përdoren nëpër magjistrale?
6. Tregoni mënyrat e lidhjes të komponenteve të kompjuterit me magjistrale të
përbashkët?
7. Çështë magjiistrale e adresave dhe përse shërben ajo?
8. Përse shërben magjistralja e të dhënave ?
9. Përse shërbejnë sinjalet kontrollues ?
10. Cilët janë sinjale krakteristike ?
11. Si administrohet me magjistrale?
12. Çka duhet të bëjë moduli në mënyrë që të bartë të dhëna dhe qka që të pranoj të
dhëna ?
13. Çështë interfejs i magjistrales dhe në çfarë lidhje është me kontrollerin e periferisë?
14. Cilat funksione themelore i kryen interfejsi?
15. Tregoni ndonjë mënyrë të lidhjes së moduleve me më shumë magjistrale ?
16. Çështë multipleksim dhe me çka karakterizohet?
17. Çjanë multiprocesorët (sistemet kompjuterik paralel)?
18. Çfarë janë tre arkitekturat e karakteristike të multiprocesorve?
19. Përshkruane multiprocesorin me kujtesë të ndarë?
20. Përshkruane multiprocesorin me kujtesë distributive ?
21. Kur sistemi multiprocesorik është i ndërlidhur dobë dhe kur fortë?
22. Përshkruene multiprocesorin me kujtesë të ndarë distrubutive?

Për vitin e IV-të elektroteknik i kompjuterëve 11


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

2. Mënyra të përpunimit të të dhënave


2.1 Modeli konceptual i kompjuterit
Nga aspekti i zgjidhjes të problemeve konkrete të shfrytëzuesit, rrespektivisht të
ashtuquajturit të probleme aplikative, sistemi kompjuterik mund të konsiderohet si
bashkësi e organizuar pajisesh hierarkike (hardwer-it ) dhe të programeve (softwer-it ) të
cilët zbashku realizojnë përpunimin e të dhënave (fig 2.1). Kjo bashkësi hierarkike e
komponenteve paraqet të ashtuquajturin modelin konceptual të sistemit kompjuterik.

Fig.2.1 Modeli konceptual i sistemit kompjuterik

Hardveri përfshin të gjitha komponentet fizike të kompjuterit, d.m. th. komponentet


elektrike, elektronike, elektromekanike, mekanike dhe të tjera, ku rrol më të rënsishëm
ka procesori qendror. Sistemi operativ paraqet bashkësi të programeve me të cilat
organizohet puna e kompjuterit, shfrytëzimin sa më efikas të të gjitha resurseve të
kompjuterit, si dhe administrimin e ekzekutimit të programeve.
Gjuhet programuse dhe veglat softwer-ike iu shërbejn shfrytëzuesve për pregaditje
dhe testim të rregullsisë të programeve aplikative. Programi aplikativ zgjidh probleme
konkrete shfrytëzuesve. Interfejsi shfrytëzues e përbëjn programet, pajisjet të ndryshme të
hyrje-daljeve dhe vegla të tjera të cilat i mundsojn përdorusit komunikim me kompjuterin.

Për vitin e IV-të elektroteknik i kompjuterëve 12


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Për vitin e IV-të elektroteknik i kompjuterëve 13


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

2.2 Regjimet e punës të kompjuterit


Programet në procesor mund të ekzekutohen në disa mënyra të ndryshme të cilat
quhen mënyra përpunimi ose regjime punuese. Parasëgjithash ekzistojn regjiime punuse
me një program(ang.Uniprogramming) dhe shumë programësh multiprogram, ang
multiprogramming) dhe përpunimi paralel (multiprocesimi –multiprpunimi - fig 2.2)

Regjime pune
-përpunimi njëprogramësh (përpunimi monoprogram)
-përpunimi shumëprogramësh (përpunimi multiprogram)
-përpunimi paralel (multiprocesipërpunimi )
Fig 2.2 Regjimet themelore të sistemit kompjuterik

Error: Reference source not found

Sistemi kompjuterik punon me një program ose regjim njëprogramësh nëse


procesori e shërben vetëm një shfrytëzues. Te ky rast në kujtesën operative të kompjuterit
ndodhet vetëm një program i cili ekzekutohet prej fillimit deri në fund. Kompjuteri në këtë
regjiim e shërben shfrytëzuein në dy mënyra me:
a) përpunim individual (shërbim individual) dhe
b) përpunim paket (shërbim indirekt).
Te përpunimi individual kompjuteri është në tërsi në procesin e zgjidhjes së
problemit dhe ka në shërbim vetëm një shfrytëzues. Shfrytëzuesi vetë punon në kompjuter,
fut programin ose thërret nga kujtesa e jashtme, starton ekzekutimi e programit dhe iu qaset
zgjidhjes së problemit të vetë dhe pret rrezulltatet. Ky shërbim shfrytëzues sot është
karakteristikë e kompjuterve personal (PC).

2.3 Përpunimi paket


Përpunimi paket ose thënë më thjesht regjimi paket i punës, është regjim i punës së
kompjuterit në të cilin përpunohen paketet. Paket (ang batch) paraqet grupën e programeve
dhe të dhënave përkatëse hyrëse të cilat përpunohen në kompjuter dhe trajtohen si një tërsi.
Paketi vendoset në kujtesën e jashtme në një rend pritës nga i cili programet lexohen dhe
përpunohen sipas rradhës një nga një siç gjinden në paket (fig 2.3 )

Për vitin e IV-të elektroteknik i kompjuterëve 14


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Kujtesa operative
Kujtesa e jashtme

Të Programi
Të Programi
Të Programi Programi 1
Dhanat Dhënat Dhënat
4 Të dhënat 1
3 2
4 3 2
Programi nga paketi i cili ekzekutohet

Paketi me programe në kujtesën e jashtme

Procesori qendror

Fig 2.3 Regjimi paket i punës

Error: Reference source not found


Te përpunimi paket përdoruesi nuk ka qasje direkte në sistemin kompjuterik.
Programet e pregaditura dhe të dhënat iu jepen operaterit të kompjuterit i cili i regjistron në
kujtesën e jashtme ku formohet paketi ose përdoruesi nga terminali i vetë i vendosë
programet dhe të dhënat në paket. Ekzekutimin e programeve te përpunimi paket e
administron sistemi operativ i cili siguron kalimin nga njëri program në tjetrin dhe
kontrollon ekzekutimin e tyre. Përpunimi i programeve është sekuencial (serik). Në një çast
kohor përpunohet vetëm një program, ndërsa programet e tjera gjinden në gjendjen e
pritjes. Në kohën e ekzekutimit të një programi nga paketi është e ndaluar ndërprerja e tij.
Kalimi në programin tjetër është i mundshëm vetëm pasi të përfundoj ai paraprak ose ai
është i ndërper përshkak të ndonjë gjendje përjashtuse, siç mund të jenë gabimet në
program etj. Rezulltatet e përpunimit ruhen në disk në mënyrë që ti shiqoj shfrytëzuesi në
çastin kur të lirohet njësisa dalëse p.sh printeri, ose kur të lirohet terminali.
Një numër i madhë i sistemeve komercilae përdorin përpunimin paket për të
ashtuqujturën përpunimin e ndryshimeve ose shënimeve të transaksioneve. Shenimet hyrëse,
zakonisht quhen shënime të transaksionit, spari koleksionohen (mblidhen -grupohen) në
kujtesën e jashtme ashtu si ato arrijnë, dhe më pas të gjitha përpunohen së bashku. Të
gjitha shenimet hyrëse të formuara përgjat një periode kohore të grupuara në një fajllë të
posaqëm e cila quhet fajll i ndryshimeve (ang.transaction file). Fajlli i
ndryshimeve( tansaksioneve) më pasë përpunohet për qëllim të azhurimit të të dhënave në
fallin kryesor- fajllin amë.
E metë e përpunimit të ndryshimeve është në ate që falli amë dhe shenimet e saj nuk
janë plotësisht të azhuruara. Megjithat ky llojë përpunimi dhe mëtutje shfrytëzohet, bile
dhe në kompjuterët e ditëve të sotme, për arsyse se në shumë aplikime nuk ka nevojë për
çdo çast të kemi të informacionet më të azhuruara. P.sh llogaritja e energjisë elektrike

Për vitin e IV-të elektroteknik i kompjuterëve 15


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shkalla e efikasitetit të shfrytëzimit të kompjuterit te përpunimi monoprogram dhe


paket është e vogël. Përpunim këtu zhvillohet serik, duhet që secili hap të përfundoj që të
filloj tjetri. Nëse procesori duhet që të mirret spari leximin e të dhënave, depozitimin dhe
më pas përpunimin e tyre dhe më pasë shtypjen e tyre, shumica e kohës iu ka takuar në
procesin e hyrje-daljeve. Kështu që pjesa e vetë përpunimit në totalin e kohës së procesori
ka qenë shumë e vogël.

2.4. Përpunimi multi-program (multiprogramimi)


Përbërsi kryesor që kufizon shkallën e efikasitetit në punën e procesorit qendror
është shpejtësia e vogël e punës të pajisjeve hyrëse dhe dalëse. Nëse gjatë punës së
procesori qendror në një program ka mjaft hapa të zbrazët për shkaqe të detyrimit për pritjen
e të dhënave hyrëse, mundet që në kujtesën operative të vendosen dhe të aktivizohen dy
ose më shumë programe në të njejtën kohë, kur procesori nuk mund të punoj në njërin prej
tyre, kalon në përpunimin e tjetrit. Kjo mënyrë e punës quhet mënyra e punës me shumë
programe ose multiprogramim.
Sistemi kompjuterik punon në mënyrën e punës shumprogramësh nëse shumë
programe shfrytëzues gjinden në kujtesën operative, të gjithë koto aktivizohen për
ekzekutim dhe ekzekutohen sipas një renditje të caktuar (fig 2.4). Me këtë është mundësuar
përpunimi konkurent (“paralel”) të më shumë programeve. Në këtë rast programi i cili
ekzekutohet mund të ndërpritet për qëllim të kalimit në shfrytëzim të ndonjë programi
tjetër, dhe më pasë të kthehet në të njetin program. Me multiprogramim përmisohet
shfrytëzimi i procesorit si dhe të kujtesës operative.

Kujtesa operative
Sitemi operativ Programi 1

Të dhënat 1
Procesori Programi 2
qendror
Të dhënat 2 Programi 3
Të dhënat 3

Fig 2.4-Regjimi i punës multi-program

Multiprogramimi mund të bëhet vetëm në kompjuterët të cilët që kanë sistem


operativ kompleks i cili është në gjendje të bjen vendime si dhe cili program të thirret.

Për vitin e IV-të elektroteknik i kompjuterëve 16


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Vendimi mbi rradhën e ekzekutimit të programit bihet në bazë të prioritetit të kumtuara


sistemit operativë në fillim të punës.
Teoritikisht, me multiprogramim është i mundshëm të arrihet efikasiteti i
shfrytëzimit të procesot qendror në 100%. Në praktikë ka gjasë të vogël që në përpunim
alternativë të programeve të kaloj pa ndërprerje, pra dhe më tutje procesori është i pa
shfrytëzuar, edhe pse kjo mënyrë e përpunimit rritë efikasitetin e tijë.
Përpunimi paket mund të organizohet dhe te mënyra e punës multiprogram. Këto
janë sisteme shumë procesorik me përpunim paketor.
Problemet themelore të mënyrës së punës shumëprogramësh është organizimi i
mbrotjes nga ndikimi i ndonjërit program në tjetrin. Kryesisht me randësi mbrotja e kujtesës
operative, e cila ka të bëjë me ate se një program nuk guxon tju qaset pjesve të kujtesës
operative të ndarë për programin tjetër ose sistemit operativ.
Në kuadër të mënyrës së punës multi-program dallohen disa tipe të ndryshme të
përpunimit dhe këto janë:
-Përpunimi me ndarje kohore,
-Puna në kohë reale,
-Përpunimi në largësi,
-Përpunimi distributiv.

Përpunimi me kohë të ndarë (Time sharing)


Esenca e mënyrës së punës me kohë të ndarë (ose me ndarje kohore) është që t’ju
siguroj që shumë shfrytëzues në të njejtën kohë të kenë qasje në kompjuter. Shfrytëzuesit
disponjnë terminale ose kompjuter PC të cilët mund të luajn rrolin e terminalit, të lidhur me
lidhjet telekomunikuse me kompjuterin. Secili termial është i pajisur me kujtesën personale
në të cilën të dhënat ruhen gjatë e operacioneve hyrëse ose dalëse. Këtu koha e përgjigjjes,
d.mt.h koha e cila është e nevojshme që kompjuteri të filloj dërgimin e informacionit që i
duhet termialit duhet të jetë e shkurt. Kjo zakonisht është më e shkurt se dhjetë sekunda.
Në praktikë zakonisht procedohet ashtu që secilit terminal shfrytëzues iu ndahet më
parë një period kohore e definuar gjatë së cilës programi i tijë iu lihet në disponim procesorit
qendror. Kjo period kohore është e shkurt, disa milisekonda. Për shkak të përgjigjjes së
shpejtë të sistemit secili shfrytëzues ka përshtypje se punon me vetë kompjuterin.
Për shërbim në ndarje kohore përdoren sistemet multiprogram. Dallohen tre regjime
themelore shërbyes të shfrytëzuesve me ndarje kohore
 regjimi dialogues (regjimi interaktiv);
 regjimi transaksionues dhe
 regjimi univerzal
Në regjimin dialogues shfrytëzuesi nga terminali i tijë ka qasje direkte në
sistemin kompjuterik dhe mund të parashtroj një ose më shumë pytje. Kur nga njëri terminal
gjenerohet pyetja, procesori qendror ndërpret ekzekutimin e programit aktual dhe thërret
programin për përpunim të pytetjeve. Te përpunimi i transaksioneve bëhet ndarja e
resurseve të kompjuterit ndërmjet një numri të caktuar të shfrytëzuesve të largët të cilët
përmes terminalit të vetë direkt iu qasen sistemit kompjuterik për dallim nga përpunimi
paket i transaksioneve, këtu azhurimi i fajllit amë bëhet menjëher, sistemi kompjuterik me
punë në regjimin univerzal mund të punoj në cilin do nga regjimet e përshkruara.

Për vitin e IV-të elektroteknik i kompjuterëve 17


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shebull i sistemit me ndarje kohore janë sistemet për rezervim të biletave të


aeroplanave: pasi përmes terminaleve jepet kërkesa për vend në aeroplan për fluturim të
caktuar, lajmrohet lista e të gjitha ulëseve të lira. Vendi i rezervuar duhet menjëher të
shenohet, këto janë të dhëna të azhuruara ashtu që udhëtari tjetër të mos merrë
informacione jo të sakta.

Puna në kohë reale


Sitemet kompjuterike të cilët në ndryshimet e ndonjë parametri hyrës prodhojnë
dalje për kohën e kërkuar quhet sisteme për punë në kohë reale ose sistem në kohë reale.
Kjo ka domethënjen që distanca ndërmjet kohës hyrëse të lajmrimit të kërkesës për
përgjigjje, përpunimit dhe kohës dalëse të këtij përpunimi është e konsiderueshme dhe
duhet jetë mjaft e vogël në mënyrë që përgjigjja të jetë në kohë të duhur. Shembuj tipik në
kohë reale përbëjnë sistemet për dirigjim me procese teknologjike ose sistemet për dirigjim
të projektileve.
Veçori më me rëndësi e sistemit për punë në kohë reale është ajo se duhet të jetë në
gjendje ti pranoj dhe përpunoj të dhënat gjatë kohës kur ndonjë dukuri është në
vazhdimësi(në rrjedhë) dhe se rezulltatet e përpunimit për modifikim të ndonjë parametri të
kësaj dukuri në kohën e duhër ti lajmroj(t’i kumtoj). Megjithat këtu koha e përgjigjigjjes,
domethën dallimi kohor që nga fillimi i të dhënave dhe kumtimi i rezulltateve varet nga
aplikimi. P.sh që të ndikohet në sjelljen e raketës në fluturim, koha e përgjigjijes duhet të
sillet në kuadër të mikrrosekundës.te disa procese teknologjike koha e përgjigjigjes së
sistemit mund të matet dhe në milisekonda.
Sistemi në kohë reale më së shpeshti konsiderohen ato sisteme te të cilët koha e
përgjigjjes matet me milisekonda. Ndërsa sistemet që punojnë në regjim dialogues
konsiderohen sistemet të cilët koha e përgjigjjes matet me sekonda.

Përpunimi në largësi
Nëse për qasje në kompjuter përdoren hyrjet daljet e largëta, atëhere flitet për
përpunim në largësi Në procesor përmes linjave telekomunikuse janë të lidhur një numër i
madhë i terminaleve të largëta, kompjuteri personal ose stacione punuese të cilët shërbehen
në regjimin e punës multi-program. me ndërmjetësim të modemit ose koncetratorit nga
pajisja e largët iu dërgohen kompjuterit komanda dhe të dhëna, dhe në bazë të komandave
të pranuara dhe të dhënave kompjuteri kthen rezulltatet dalëse(fig 2.5)
Shembull tipik i përpurpunimit në largsi paraqet sistemi që aplikohet në banka.
Përparsi e këtijë sistemi është pos mundësisë të bartjes së shpejt të dhënave që ndodhin në
filijalla deri te kompjuteri, është dhe ajo se filijalla ka qasje në të dhënat të cilat ruhen në
bazën e të dhënave të kompjuterit me çka sigurohet shumë shpejt qasja në to. Në të vërtet,
këtu tentohet futja e kompjuterve qendror sa më të fort të cilët duhet të jenë të aftë të
përpunjnë të dhëna në domene shumë të mdha.

Për vitin e IV-të elektroteknik i kompjuterëve 18


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Procesor qendror Kujtesa operative


Kujtesa e jashtme

Rrjeta ndërlidhse Procesori komunikues qendror konctratori

..... modem
modem
modem

terminal ..... terminal


modem

terminal

Fig. 2.5 lidhja e terminaleve- Hyrjet/daljet në largësi


Error: Reference source not found
Me përdorimin e terminalit futet edhe një princip, i qujtur qasje e shumëfisht. Kjo
ka domethënjen që në shumë pika hyrje dalëse ka qasje direkte dhe praktikisht në të njejtën
kohë në kompjuter.

Përpunimi distributiv
Përpunimi distributiv ose i shpërndarë bazohet në, faktin se disa funksione të
përpunimit më mirë është bëhen të lokalizuara dhe disa të centralizuara. Përpunimi i
distribuiruar zgjeron principin e përpunimit në largësi duke i vendosur kompjuterët në pika
të largëta dhe lidhjen e tyre jo vetëm me kompjuterin qendror por dhe ndërmjet veti, si dhe
rrjetat lokale kompjuterike kjo mënyrë e përpunimit është bërë e realizueshme.
Përpunimi disributiv nënkupton vendosja e pajisjes kompjuterike për përpunim lokal
në pika të largta. Kjo pajisje përdoret për përpunim në vendin e ndodhjes së ndryshimit. Kur
nevojitet, është e mundshme qasja e bazave qendrore të të dhënave në kompjuterin qendror
ose me dërgimin e raporteve sumarizuese. Krahas kësaj, me lidhje ndërmjet kompjuterve,
p.sh me rastin e vendosjes së kompjuterve nëpër fabrika, mundsohet kordinimi të
aktiviteteve prodhuese, planifikimi i prodhimit, mbatja e pjesëve optimale rezervë e të
ngjajshme.
Në ratin më të përgjithshëm përpunim konsiderohet me distribuim ose shpërndarje
nëse shumë sisteme në të cilin janë të lidhur më shumë kompjuter të pavarur ndërmjet veti të
cilët munden të komunikojn. Këto janë sisteme kompjuterike distributive.
Në secilin kompjuter të sistemit distributiv bëhet përpunimi lokal, ndërsa përmes
rrjetave kompjuterike lokale ose linjave telekomunikuse ndërmjet veti shkëmbehen të
dhënat të cilat ndikojn në përpunimin e shumë kompjuterve.

Për vitin e IV-të elektroteknik i kompjuterëve 19


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Nëse është numër i madhë i terminaleve dhe kompjuterët janë të lidhur në me kanale
telekomunikuse, atëhere këto e përbëjnë sistemin i cili quhet rrjeta kompjuterike.
Përpunimi në rrjetën kompjuterike paraqet zgjerimin e konceptit të përpunimit distributiv.
Përdorimi i konfigurimev të ndryshme të rrjetave lokale është shumë i përshtashëm për
përpunim distributiv.

2.5. Përpunimi paralel

Sistemi i cili përmban një numër të madhë të procesorve të cilit marrin pjesë në
zgjidhjen e të një problemi të vetëm quhet sistem kompjuterik shumëprocesorik,
multiprocesor ose kompjuter paralel. Në këtë rast sistemet shumë procesorik nuk
konsiderohen sistemet të cilët procesorët plotësues shërbejnë vetëm për ndimë, të themi
për aktiveteve të telekomunikimit të hyrje daljeve. Përpunimi te këto sisteme quhet
përpunim paralel ose multiprocesim.

Pytje dhe detyra

1 Ç’farë është modeli konceptual i sistemt kompjuterik?


2 Ç’farë është regjim i punës së kompjuterit, dhe cilët janë regjimet themelore të
punës?
3 Cilat janë karakteristikat e regjimit të punës njëprogramësh dhe si ndahet ky regjim?
4 Çfarë është përpunimi paket dhe si bëhet?
5 Tregoni se kur përdoret përpunimi paket dhe në kompjuterët bashkohor?
6 Cilat janë karakteristikat themelore të punës multi-program të kompjuterit?
7 Cilat mënyra themelore të punës multi-program ekzistojnë?
8 Me çka karakterizohet përpunimi me ndarje kohore?
9 Cilët janë regjimet e shërbimit të shfrytëzuesit me ndarje kohore?
10 Me çka karakterizohet puna në kohë reale?
11 Kur thuhet se përpunimi është në largësi?
12 Ç’farë është përpunimi distributivë?
13 Tregoni karakteristikat themelore të përpunimit distributiv?
14 Kur thuhet se për përpunim se është paralel?

Për vitin e IV-të elektroteknik i kompjuterëve 20


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

3. Kujtesa (memoria)

3. 1. Nocione të përgjithshme
Kujtesën ose sistemin e kujtesës e përbëjn pajisjet të cilat sigurojnë shkrimin
(regjistrimin) e të dhënave binare. Kujtesa shërben për regjisrimin (pranimin), ruatjen
(depozitimin, memorizimin ), dhe leximin (dhënien) e të të dhënave dhe programit.
Operacioni i leximit dhe opeacioni i shkrimit quhen dhe qasje në kujtesë. Secili sistem
i kujtesës i cilit do tipi qoft përmban mediumin e kujtesës në të cilin ruhen të dhënat, si
dhe blloqeve kontrolluese(drejtues) elektronike dhe blloqeve programues.
Për kujtes të kompjuterit përdoren tipe me brez të gjerë, teknologji,
organizimesh dhe çmimiesh. Asnjëra teknologji nuk është optimale në përmbushjen e
kërkesave për sistemin e kujtesës së kompjuterit Si pasoj e kësaj secili sistem
kompjuterik posedon hierarkin e nënsistemeve të kujtesave, ku ndonjërës procesori iu
qaset direkt, ndërsa të tjerave përmes moduleve të hyrje –daljeve.

Mediumi i kujtesës
Për përpunim të të dhënave në kompjuter, d.m.th. për futjen e tyre në kompjuter
ose daljen e tyre nga kompjuteri, si dhe për bartjen në largësi të dhënat ruhen
(regjistrohen, depozitohen) në bartës të posaqëm material –medium kujtese ose bartës
të të dhënave. Mediumi i kujtesës paraqet material ose konfiguracion i përbër prej tijë, te
i cili ndonjë madhësi fizike variabile përdoret për regjistrimin e të dhënave. Shemmbull:
mediume janë:shiriti magnetik, disqet magnetike, disqet optike, qarqet elektronike
bistabile etj.
Në të gjitha sistemet e kujtesë të cilët përdoren në ditët e sotme, në mediumet e
kujtesës ruhen (depozitohet) energjia në ndonjën sasi diskrete, siç janë p.sh momenti
magnetik, rryma, elektrizimi, rrugët përquese etj. Që një medium të mund të
përdoret për ruatje të dhënave duhet të posedoj:
a) dy gjendje stabile, me të cilat prezentohen vlerat binare “0” dhe “1”
b) nundsin e shkrimit me kalim në gjendje të caktuar,
c) mundësin e zbulimit (leximit) të gjendjes

Ndarja e kujtesës
Kujtesa e kompjuterit përbëhet prej kujtesës operative (kryesore,prunuse) dhe
kujtesës së jashtme (masovike).

Për vitin e IV-të elektroteknik i kompjuterëve 21


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Kujtesa operative shërben për ruatjen e përkohshme të dhënave dhe programit, dhe
është e përbër prej elementeve bistabile kujtese. Krahas të dhënave për përpunim (të
dhënave hyrëse ) dhe të dhënave të cilat definojnë hapat(procesurën) e përpunimit
(instruksionet e programit), në kujtesën operative gjithashtu ruhen mesërezulltatet dhe
rezulltatet përfundimtare të përpunimit. Kujtesa operative i takon kujtesës interne të
kompjuterit, ku i takojn dhe kujtesa e regjistrave dhe regjistrat kontrollues(të kontrollit)
të procesorit
Kujtesa operative shesh përbëhet prej më shumë module kujtesash., në këtë rast
secili prej tyre mund të bëjë në të njetën kohë një qasje kujtese dhe përbën një nënbashksi
të hapsirës totale të adresave. Modulet e kujtesave janë të organizuar në banka kujtesash,
të përbërër prej më shumë module të cilët ndajnë të njejtën magjistrale hyrëse dhe dalëse.
Sipas kësaj në secilën bankë kujtese vetëm njëri modul mund të filloj ose të përfundoj
operacionin e kujtesës në cilën do rrjedhë të ciklit (ciklusit) të magjistrales.
Kujtesa e jashtme (masovike, sekundare, ndimëse) ka kapacitet të madh dhe
shërben për ruatje të të dhënave me vëllim më të madh dhe të arkivimit të tyre për një
period më të gjatë kohore, dhe dukshëm është më e ngadalshme se kujtesa operative.

3.2. Parametrat e kujtesave


Për të treguar krakterisika të kujtesave përdoren pararmetra të ndryshëm prej të cilëve
themelor janë:
1. kapciteti i kujtesës –numri i bajt-ave ose bit-ave të cilët mund të ruhen (mbahen
mend) në kujtesë;
2. Koha e qasjes- intervali kohor i cili duhet të kaloj që nga dhëniea e sinjalit për
definimin e qasjes deri te përfundimi i regjistrimit (shkrimit) ose leximit.
Te disqet dhe shiriti koha e qasjes është koha mesatare e nevojshme për
qasje të ndonjë vendi në medium për qëllim leximi ose regjistrimi(shkrimi),
ndërsa përbëhet nga koha për kërkim, prej kohës së nevojshme për vendosjen e
kokave lexuese-shkruese mbi qelizat me të dhëna dhe kohës për bartje (transfer)
të dhënave;
3. cikli i qasjeve ose cikli i kujtesës - intervali i lejuar kohor minimal ndërmjet dy
qasjve të njëpasnjëshme në kujetsë. Cikli i kujtesës nuk mundet të jetë më i
shkurt se koha e qasjes, dhe zakonishtë është pak më e gjatë se ajo;
4. njësia e bartjes (transferit)- për kujtesën operative njësia e bartjes është fjala e
kujtesës, d. m. th. numri i bit-ave të cilët në të njejtën kohë lexohen ose shkruhen
(regjistrohen). Mirpo, është e mundshme që njësia bartëse të përmbajë më
shumë fjalë kujtese sekuenciale dhe atëhere quhet Bllok. Për kujtesën e jashtëme
njësia bartëse është sektori ose blloku te disqet dhe blloku te shiriti magnetikë.
Te disqet blloku përmbanë më shumë sektor suksesesivë;
5. shpejtësia e bartjesë së të dhënave- numri i bit-ave, bajt-ave ose fjalëve të
kujtesës të cilat pajisja mund të transmetojë(bartë) në një sekondë pas vendosjes
së kokave lexuese-shkruese në fillim të bllokut ose segmentit me të dhëna;

Për vitin e IV-të elektroteknik i kompjuterëve 22


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

6. çmimi për një bit kujtese- raporti i çmimit total të kujtesës për nga kapaciteti i
kujtesës.

Për vitin e IV-të elektroteknik i kompjuterëve 23


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

3.3 Struktura e sistemit të kujtesës


Qëllimi kryesor i sistemit të kujtesës (memories) të kompjuterit është që ta shërbej
procesorin qendror dhe pjesëve të tjera për përpunim të të dhënave dhe programeve. Dy
operacione kryesore i siguron sistemi i kujtesës:
1) ruatjen (shkrimin) e të dhënave,
2) thirrjen (leximin) e të dhënave.
Për sigurimin e këtyre operacioneve sistemi i kujtesës merr udhëzime nga
procesori qendror, dhe para së gjithash se cilat funksione duhet ti kryej ( shkrim apo
lexim) dhe ku (adresa). Në këtë rast procesori qendror i siguron të dhënat të cilat duhet ti
ruaj gjat operacionit të shkrimit, rrespektivisht vendin për të dhëna të cilat mirren me
operacionin e leximit.
Që kujtesa të mund të kryej funksionet e veta duhet i sigurur kontroll. Për këtë
arsye secili sistem i kujtesës përmban dy pjesë kryesore funksionale :
Njësin kontrolluese të kujtesës dhe
Mediumin e kujtesës (fig 3.1) Sistemi i kujetsës

Njësia kontrolluese e Kujtesës


Procesori Qendor
instruksionet
-qarku për Lexem/shkrim
-qarku për sinkronizim të sinjaleve
Dekoderi adresat -qarku për sinjale të tjera kontrolluese

Të Dhënat Të dhënat

Kontrollat

Të dhënat
Mediumi i kujtesës

Fig. 3.1.- Struktura e përgjithshme e sistemit të kujtesës


Error: Reference source not found

Hierarkitë e kujtesave
Shumica e kompjuterve punojnë shumë më efikas nëse pos kujtesës operative
(krysore) përdorin dhe kujtesën e jashtme (masovike). Ku në kujtesën operative
ndodhen të dhënat dhe programi të cilat proceori i përdorë në çastin e dhënë. Të gjitha të

Për vitin e IV-të elektroteknik i kompjuterëve 24


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

dhënat e tjera ruhen në kujtesën e jashtme dhe barten në kujtesën operative kur të jenë të
nevojshme.
Kërkesat për kapacitet dhe qasje më të shpejt në kujtesë janë kontraditore, për
arsyse nëse shpejtësia është më e madhe, atëhere gjithashtu dhe teknika është më e
vështirë dhe më e shtrejtë që të arrihet rritja e kapacitetit të kujtesës.
Nëse kujtesa në disponim mund të konsiderohet si një sistem hierarkikë i
komponenenteve të të gjithë pajisjeve për ruatje të të dhënave të cilat i përdor sistemi
kompjuterik. Nga kjo kujtesa e kompjuterit organizohet në strukturë hierarkike të
kujtesave të pajisjeve të cilat në nivele të veçanta kan shpejtësia dhe kapacitete të
ndryshme(fig 3.2)

Në kompjuterë përdoren kujtesat si në vazhdim:


-kujtes regjistrash
-kujtesa kesh ( kujtesa ultra e shpejt, kujtesa doracake)
-kujtesa operative (kujtesa themelore, kujtesa kryesore)
-Kesh-kujtesa e diskut
-kujtesa e jashtme me qasje direkte (disqet magnetike) dhe
-kujtesa e jashtme me qaje sekuenciale (shiriti magnetik).

Procesori
Kujtesa - Kujtesa Kujtesa-kesh Kujtesa e
Regjistrat
Kesh Operativ e diskut Jashtme
e
qenror
Fig 3.2 Hierarkia e kujtesave.
Error: Reference source not found

Renditja e që u dha e kujtesave i përgjigjet zvoglimit të nivelit në hierarki,


zvoglimit të shpejtësisë dhe çmimit për një bit ndërsa rritjes së kapacitetit. Secili nivel
mund të përmban më shumë module (ekzemplar) të pajisjeve përkatëse për përfitimin e
kapacitetit të nevojshëm të nivelit të dhënë të kujtesës. Struktura kierarkike e tillë
mundëson që ekonomikisht dhe mënyrë efikase depoziton ruajtjen e një numri të madhë
të dhënash me qasje të shpejt në të dhëna në procesin e përpunimit të tyre.
Në nivelin më të ulët të hierarkisë ndodhen shiritat magnetik relativisht të
ngadalshëm të cilët përdoren para së gjithash, për arkivim të të dhënave. Nivelin tjetër e
përbëjnë disqet magnetike të cilët përdoren si pajisjet të jashmtme kujtese për ruatje të
përhershme të të dhënave dhe programeve. Kesh- kujtesa e diskut shërben si bafer i cili
ruan pjesë të konsiderushme të bartjeve hyrje-daljeve, duke i konsideruar kohën
efektive të qasjes të tillë dhe numrin e kërkuar për qasje në disk.. Vend qendror ka kujtesa
operative e cila mundet drejtëpërdrejt të këmbej të dhëna edhe me procesorin qendror
edhe me pajisjet periferike (nganjëher përmes të ashtuquajturin procesorin të hyrje/
daljeve). Kur procesorit iu duhen të dhënat të cilat nuk ndodhen në kujtesën operative,

Për vitin e IV-të elektroteknik i kompjuterëve 25


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

ato futen nga kesh-kujtesa e diskut ose nga kujtesa e jashtme. Kesh-kujtesa e diskut
shërben për rritjen e shpejtësisë së përpunimit përmes së cilës të instruksionet aktuale dhe
të dhënat aktuale mund të barten nëprocesorin qendror me shpejtësi të madhe. Me këtë
kompenzohet dallimi dhe shpejtësia e punës së procesorit dhe koha e qasjes së kujtesës
operative, pasi koha për qasje në kesh-kujtesë është përafërsisht e barabart me shpejtësin
e punës së procesorit. Kujtesën regjistrash e përbëjn bashkësi e regjistrave në procesor
ose fushë e posaqme regjistrash (Matricë regjistrash), të cilët shërbejn parasëgjithash për
ruatjen e përkohshme të operandve dhe mesërezulltateve.
Hiarakia që u spjegua përdoret te organizimi optimal të ndërlidhjeve të kujtesave
me nivele të ndryshme në Hierarki. Megjithat, hierarkia e kujtesave mundet kushtimisht
të konsiderohet dhe për klasë më të gjera të kujtesës. (fig 3.3)

i madh Kujtesë regjistrash


e shkurtë

Kujtesa kesh(cache)

Kujtesa RAM
Çmimi për MB
Kujtesa Disk- kesh

Disku i ngurtë

i vogël
Disku i CD-ROM-it, Disku MO
e gjatë

Shiriti magnetik, Shiriti strimer

Fig. 3. 3 Hierarkia e zgjeruar e kujtesave të kompjuterit

E
rror: Reference source not found
Arsyja e futjes së hierarkis së kujtesave është parasëgjish ajo ekonomike. Sipas
kësaj, çmimi i llogaritur për një bit është në proporcion të zhdrejt me nivelin e kujtesës
në hierarki. Pra do të ishte shtrenjtë që të gjitha programet dhe të dhënat të ruhen në
kujtesën opeative, e posaqërisht nëse nuk janë të domosdoshme për procesorin.
Pjesa e sistemit operativë e cila kontrollon rrjedhën e të dhënave ndërmjet të
gjitha pajisjeve kujtesash quhet sistem menaxhues i kujtesave(ang.memory
mangement). Ky shpërndan programet dhe të dhënat ndërmjet nivele të ndryshme
kujtesash në përputhje frekventimin e pritshëm të përdorimit të tyre.

Për vitin e IV-të elektroteknik i kompjuterëve 26


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

3. 4. Kujtesë regjistrash
Procesori qendror krahas shumë regjistrave kontrollues (pune), siç janë
akumulatori, numruesi i instruksioneve, regjistri i instruksionit etj., përmban dhe
kujtesën me kapacitet relativisht të vogël e cila quhet dhe kujtesë regjistrash. Kujtesa
regjistrash paraqet bashkësia e regjistrave në procesor të cilët quhen regjistre për qëllime
të përgjithshme ose fusha regjistrash. Këto regjistra përdoren për qëllime të ndryshme,
dhe parasëgjithash për ruajtje të përkohshme të operandve, mesrezulltateve,
komponenteve të adresave etj. Këto regjistre punojnë me shpejtësin e procesorit qendror,
kështu operacionet mbi të dhënat të cilat vendosen në regjistra ekzekutohen me shpejtësin
punuse të procesorit. Për këtë arsye të gjithë procesorët e rinjë përmbajn disa dhjetra
madje dhe disa qindra regjistra për qëllime të përgjithshme të cilët organizohen si të
ashtuquajtërn matricë regjistrash ose fusha të regjistrave (register file –depo(magazinë
regjistrash ). Regjistrave për qëllime të përgjithshme iu ndahen adresat për qëllim
identifikimi dhe iu qaset në të njëjten mënyrë si dhe lokacioneve të kujtesave operative.
Shpejtësia e kujesës regjistra është e barabartë me shpejtësin e procesorit qendror,
afërsisht dyherë më e madhe se shpejtësia e kujtesës kesh dhe dhjetë herë më e madhe se
shpejtësia e kujtesës operative.
Kujtesa regjistrash ka rol shumë të randësishëm në arkitekturat e reja të
procesorve në të cilët kërkohet shpejtësi e madhe e ekzekutimit të operacioneve. Ky
është rast special te procesori me struktur të reduktuar të instruksioneve e ashtuqujtura
arkitektura RISC. Në këto raste kërkohet që të dhënat dhe instruksionet për të cilat pritet
që të jenë të nevojshme për procesorin qendror, si dhe mesrezulltatet e operacioneve, të
ruhen në kujtesën regjistra ose në një ose më shumë kujtesa kesh.

3. 5. Kujtesa stek
Kujtesa Stek ose kujtesa magazinë është kujtesë regjistrash pa adresë me qasje
sekuenciale. Te këto kujtesa regjistrat formojnë një varg njëdimenzional në të cilin
regjistrat janë të lidhur me qarqe për bartje paralele të fjalëve binare kështu që në to
shkrimi ose leximi kryhet sipas principit “i shkruari i fundit-i lexuari i parë”(Ang.
LIFO-Last in-First out). Ky princip mund të krahasohet me mënyrën e përdorimit të
korpës në dyqanet vetëshërbim ose tabaka (tablla) në restoranet ekspres. Me fjalë të tjera
nëse një varg të dhënash regjistrohen(shkruhen) në stek, atëhere me rastin e leximit
renditja e tyre do të jetë e kundërt.
Shkrimi në stek ose leximi nga steku bëhet vetëm në një vend, në qelizën e
sipërme e cila quhet koka e stekut Për këtë arsye me rastin e përdorimit të stekut nuk ka
nevoj me dhënë adresën, pasi të dhënat duhet të shkruhen dhe lexohen me rendin e
caktuar përmes kokës së stekut. Me rastin e shkrimit të të dhënave në stek përmbatja e të
gjitha regjistrave zhvendoset në qelit fqinje për një vend “më poshtë”., ndërsa me rastin
e leximit zhvendosen për një vend “më lartë” (fig 5. 4a) Operacioni i shkrimit në stek
quhet PUSH(ang PUSH-futja ose vendosja në stek ), ndërsa operacioni i leximit nga
steku quhet POP(ang POP – marrja, largimi nga steku ).

Për vitin e IV-të elektroteknik i kompjuterëve 27


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shkrimi Leximi Shkrimi

Koka e stekut Koka e stekut Kujtesa Pjesa lirë e


operative stekut

Koka e stekut
Pjesa e
Treguesi i Plotësuar
stekut e stekut
Leximi
Kufijt
a) stek (stack) b) Stack pointer e
varg(rend,rradhë) (SP) stekut
Ang. Queue
c) realizimi i stekut

Error: Reference source not found


Fig. 3. 4 Steku dhe Vargu(rendi)

Steku përdoret te ekzekutimi e vlerave të shprehjeve aritmetike gjatë realizimit të


përkthyesve programor dhe në shumë raste të tjera. Në kalulatorët e xhepit përdoret një
stek i brendshëm për ekzekutimin e vlerave të shprehjeve aritmetikore. Me përdorimin e
stekut për ruajtjen e operandit dhe rezulltatit është e mundur të realizohet procesori
qendror në të cilin instruksionet nuk e kanë pjesën adresuese (të ashtuquajtërin
instruksion pa adresë)
Kujtesa e tipit varg ose rend (ang queue) (fig. 5. 4b) është kujtesë regjistrash e
ngjajshme me stekun, vetëm se të dhënat në të shkruhen dhe nga ajo lexohen sipas
principit “ i pari i shkruar –i pari i lexuar” (ang FIFO –First in-First out) përdoret te
shërbimet sipas principit të rendeve pritëse (pritjeve rendore).
Përpos realizimit me regjistra, shumë shpesh steku modelohet(realizohet) dhe në
kujtesën operative. Për këtë qëllim në procesor futet një regjistër i posaqëm adresues për
kokë të stekut . Një Stek i tillë i organizuar në kujtesën operative është paraqitur në fig
5. 4c.
Tek ky lloj i realizimit të stekut, me rastin e shkrimit në stek dhe leximit nga
steku qasja është në bazë të përmbatjes të treguesit të stekut, i cili tregon në kokë të
stekut përmes adresës së kujtesës së tijë. Në këto raste nuk ka zhvendosje të përmbatjeve
fizike të stekut por vetëm rregullohet përmbatja e re e treguesit të stekut me rritjen ose
zvoglimin e adresës për 1 Treguesi i stekut zakonisht përmban adresën e lokacionit të
parë të lirë të stekut.

Për vitin e IV-të elektroteknik i kompjuterëve 28


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

3. 6. Kujtesa operative
Kujtesa operative, kujtesa kryesore ose kujtesa me qasje direkte (ang RAM-
Random access Memory –kujtesë e qasjes (zgjedhjes, kapjes) së rastit – kujtesë me
qasje të arbitrare ) është kujtes e adresave e cila përdoret për ruajtje të të dhënave të cilat
përdoren në procesin e ekzekutimit të operacioneve të makinës në njësin aritmetiko-
logjike dhe njësin kontrolluese të procesorit. Këto janë të dhënat hyrëse për përpunim,
mesrezulltatet dhe rezulltatet përfundimtare për përpunim dhe instruksione të programit
të cilët ekzekutohen..
Në procesin e përpunimit realizohet komunikimi i përheshëm ndërmjet procesorit
qendor dhe kujtesës operative. Nga kujtesa operative në procesor barten instruksionet e
programit dhe operandët mbi të cilët zbatohen (kryhen) operacionet e parapara me
instruksinet e programit, ndërsa nga procesori në kujtesën operative dërgohen për ruajtje
të mesrezulltateve dhe rezulltati përfundimtar i përpunimit.
Sruktura tipike e kujtesës me qasje direkte është treguar në fig. 3.5. Kujtesa me
qasje direkte përbëhet prej lokacioneve të kujtesës të realizuar me qarqe bistabile dhe
rrjetave ndërprese përkatës të cilat sigurojn shkruarje dhe lixim të të dhënave. Në kujtesë
të dhënat binare ruhen në formë të grup bitave të cilat quhen fjalë kujtese. Secila fjalë
ruhet në lokacion të posaqëm ndërsa lexohet ose shkruhet si tërsi. Secila fjalë kujtese
mund të paraqet të dhëna numra, të dhëna alfanumerike, kod instruksioni dhe cilin do
kod tjetër binar.

Për vitin e IV-të elektroteknik i kompjuterëve 29


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Regjistri i të dhënave

Qarku eksitues i bitave

Qarku eksitues i lokaxionineve


Dekoderi i adresave
Lokacionet

Lokacionet

Regjistri i adresave Mediumi i


kujtesës

Blloku kontrollues i Lokacionet


kujtesë

Amplifikatorët dalës
Logjika Takt
për
Shkrim/ sinjali Regjistri pranues
lexim
Menagjuesi i
shkrimit /leximit

Fig. 3.5. Struktura e kujtesës me qasje (zgjedhje) të


drejtpërdrejt
Err
or: Reference source not found

Ekzistojn kujtesa statike dhe dinamike me qasje direkte.


Kujtesa dinamike si elemente kujtese përdorin ndërlidhjen e kondenzatorit dhe
tranzistorit të realizuara në qarkun e integruar në teknologjinë MOS si një struktur. Bit-i
i të dhënës ruhet si një ngarkes elektrike në shtresën p-n të tranzistorit MOS i cili luan
rrolin e kondenzatorit dhe është i izolur prej qarqeve tjera me ndimën e tranzistorit. Kjo
ngarkesë mbetet për një kohë të kufizuar, për këtë arsye nevojitet në mënyrë periodike
freskimi (rigjenerimi ) i ngarkesës elektrike përafërsisht për çdo 2 ms.

Për vitin e IV-të elektroteknik i kompjuterëve 30


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shënimi simbolik
Për shenimin e lokacioneve të kujtesës ose të blloqeve të kujtesës (zona me
loacione suksesive të kujtesës ) përdoren emra simbolik çka dhe është e rëndësishme te
programimi në asambler.
Nëse M është identifikator i kujtesës ose i modulit të saj, atëhere :
-M[ad] paraqet lokacionin e adresës adresa e së cilës është ad (-nganjëher ky
simbol përdoret për shenimin e përmbatjes së lokacionit të kujtesë adresa e së cilës është
ad, kur kjo nuk shkakton huti);
-R paraqet emrin simbolik të ndonjë regjistri të procesorit;
-M[ad[i]], R[i] paraqet vlerën e pozicionit binar dhe lokacionin e kujtesës adresa
e së cilës është ad, rrespektivisht regjistrit R;
- M[ad[8:5]], R[8:5] paraqet fushat (grupën e bitave) në pozicionet (klasët 8,
7, 6 dhe 5);
- M[ad] ose R[ad], R ose (R ) paraqet të dhënën që ndodhet në lokacionin e
kujtesës adresa e së cilës është ad rrespektivisht të dhënës në regjistrin R;
- M[ad]:=nen (ose (M[ad]):=nen ); M[ad]nen (ose(M[ad])nen) tregon
qasje në kujtesë dhe shkrimin e të dhënave nen në lokacionin ad të kujtesës;
- R:=M[ad] (ose (R) :=M[ad] ) tregon shkrimin në regjistrin R përmbatjen e
lokacionit të kujtesës adresa e së cilës është ad.

Segmentimi i kujtesës
Segment paraqet grupa e lokacioneve sukseksesive të kujtsës të madhësisë deri 64K
ose(64X1024=65535(FFFFH ku H-heksadecimal) (te mikrroprocesori i8086). Segmentet
përdoren që të arrihet zgjerimi i hapsirës totale të kujtesës. Nga kjo te ky mikrroprocesor
ekzistojnë 16 linja adresuese, çka d.m.th. se në këto linja mund të adresohen vetëm 64K
lokacione. Pasi kujtesa operative është e kapacitetit 1 M lokacione e më tepër është futur
segmentimi i saj.
Te mikrroprocesori i8086 për të specifikuar adresën e kujtesës nevojiten dy numra:
adresa fillestare e segmentit dhe zhvendosja (ang. Offset), ku zhvendosja paraqet largësin
relative (adresën relative) të lokacionit të kujtesës nga fillimi i segmentit. Në procesor ekzistojnë
katër regjistra të posaqëm të cilët quhen regjistra segmentues dhe shërbejn për adresim të
segmenteve në kujtesën operative. Këto janë (fig.3.6):
-regjistri i segmentit të programit (kodit të programit, ang CS-Code Segment), shërben
për adresim të instruksioneve të programit të cilët ekzekutohen;
-regjistri i segmentit të dhënave (ang. DS- Data Segment), shërben për adresimin e të
dhënave për përpunim;
-regjistri i sgmentit të stekut ( kujtesës-stek, ang. SS-Stack Segment ), shërben për
adresim të stekut (kur punohet me te);
-regjistri i segmentit shtesë (ang. ES-Extra Segment) me të njetin rrol si dhe regjistri i
segmentit të të dhënave.
Kujtesat statike si elemente kujtese përdorin qarqe bistabile prej gjysëmpërquesve.
Shumica e këtyre kujtesave realizohen në teknologjinë MOS (MOS –metal –oxide-
semiconductor-Metal –oksid –gjysëmpërques).

Për vitin e IV-të elektroteknik i kompjuterëve 31


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Segmentet në kujtesën operative mund të jenë njëri pran tjetrit (përputhen ), por por
mund të përmbajnë dhe lokacione plotësisht të ndryeshëm të kujtesës operative, çka dhe është
rasti më i shpesht.

Për vitin e IV-të elektroteknik i kompjuterëve 32


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Error: Reference source not found

CS

DS

SS

ES

Fig 3.6 Segmentet në kujtesën operative

Adresa e lokacionit të kujtesës në kujtesën operative formohet(llogaritet) si


adresë fizike 20 bit-she si dhe është treguar në fig 3.7. Kjo arrihet me mbledhjen e
zhvendosjes dhe përmbatjes së regjistrit segment të shumëzuar me 16. Në të vërtet, siç
dhe shihet nga fig, mikrroprocesori e trajton regjistrin segment sikur të ketë dhe 4 bita
me peshë më të vogël dhe këto katër bita të jenë zero.

Për vitin e IV-të elektroteknik i kompjuterëve 33


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

15
0 3 0
Adresa e
Tregues i segmentit (segment pointer) 0000 segmentit

15 0
Zhvendosja
Adresa e fjalës (Word address) (offset)

Mbledhsi i adresave

19 0

Adresa fizike (physicl addres) Adresa


fizike fizike
Fig 3.7 Formimi i adresës Fizike të mikrroprocesorit intel 8086
Error: Reference source not found
Shembull. Nëse përmbatja e regjistrit segment të të dhënave DS barazi adr, atëhere [DS]
+d16 paraqet lokacionin e adresës së kujtesës në këtë segment me adresën e brabart me
përmbatjen e regjistrit DS plus zhvendosja d16.
Regjistrat Segment- Në fig e më poshtme është treguar hapësirë e adresave prej 1MB e
8086- si një sekuenc lineare e lokacioneve tetë bitshe të kujtesës, kujtesa aktualisht më
nuk përdoret në këtë mënyrë. Por më mirë është që vetëm katër 64K faqe ose segmente të
jenë aktive në një çastë kohor (si në fig). Katër regjistra segment të njësis BIU përdoren
si tregues (pointers) të lokacioneve 0 për secilin segment që quhen code,data,stack dhe
extra segmente.
Me ndarjen e kujtesës së tijë 8086-tëshi mund t’ja kushtoj (dedikoj) një segment për
op-codet( ang op-codes) e programit(code segment) tjetrin për të dhënat e programit (data
segment), tjetrin për stek (stack segment) dhe të katërtin si një segment extra.

Për vitin e IV-të elektroteknik i kompjuterëve 34


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Code segment

B3FF

Data segment
E000

Stack segment
5D27

Extra segment
52B9

Fig. Hapsira e plotë e kujtesës prej 1M te 8086 është e qasshme në segmente prej 64K byte. V

Regjistrat segment gjithashtu lejojnë regjistrat 16 bitësh të EU të përdoren si


tregues në kujtesë edhe pse adresat e kujtesës janë të gjata 20 bita. Triku është të
detyrohen 4 bitat e segmentit të adresave të jenë zerro. Kështu që në fig
regjistri segment i kodit përmban B3FF por do të intepretohet si si tregues në adresën
B3FF0. Ngjajshëm dhe segmenti extra tregon 52B90.
Shembull: duke iu referuar fig. llogaritni adresës së fillimit dhe të fundit të stack
segmentit të kujtesës
Zgjidhje :
formimi i adresës 20 bitshe duke ia shtuar katër zerro regjistrit stack segment ,
adresa e fillimit është 5D270 adresa e fundit mund të gjindet duke ia shtuar FFFFH( që
është 64K)
5D270
+ 0FFFF
6D26F

Për vitin e IV-të elektroteknik i kompjuterëve 35


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Katër segmente 64K mund të vendosen mbrenda hapsirës së kujtesë prej 1MB
por por duhet të fillojnë në ndonjërën adresë të plotëpjestueshme me 16( pasi katër bitat
e ultë duhen të jenë zerro). Sikur që është ilustruar në fig , lokacionet e segmenteve mund
të jenë të çafrdo renditje, përfshirë ndarjen e tyre , të përpushëm(overlapping)
pjesërisisht, dhe të përpushëm plotësisht.
Pasi te segmentimi i kujtesës ekzistojnë dy tipe të adresave të kujtesë të
shoqëruara me secilin program, këto quhen adresa logjike (Logical addres) dhe adresa
fizike ( physical address). Adresa logjike i takon rangut prej 0 deri 65535 (FFFFh) dhe
korrespondon në 64 K lokacione mbrenda një segmenti. Kur zhvilohet një program i
vogël këto janë adresat që programeri duhet të mbanë llogari
Adresa fizike korrespondonë në adresat në daljet aktuale të adresave të 8086 në
linjat adresuese AD0 –AD19. Kjo adresë formohet me kombinimin e adresës logjike aq
sa një zhvendosje(offset) në segment adresues bazë(to the base segment address)
Shembull:
Nëse regjistri SI=0005H, çfarë lokacioni i kujtesës do tj’u shoqërohet string-ut
burim (string source) siç është përdorur definimi i segmenteve të terguar në fig e
mësipërme
Zgjidhje:
Opracionet string punojnë mbi të dhënat në në segmentin e të dhënave(data
segment). Për të kalkualuar dresën e stringut, shtohet përmbatja e regjistrit SI në segment
register me katër 0 të bashkangjitura
DS E0000
+ 0005
E0005
Bajti i cili do të sjellet(fetch) nga adresa fizike E0005H.
Një regjistër segment është mbush(loaded) , programerit nuk i nevojiten se çbëhet
me adresat fizike. Në këtë shembull burimi i të dhënave duhet të kuptohet si
offset(zhvendosje) e 0005 lokacionit nga fillimi i segmetit të dhënave( data segment)
(kudo që të jenë në hapsirën e adresave fizike)
Instruksioni fetch punon në mënyrë të ngjajshme. Nëse regjistri IP=2600, duke
përdorur përmbatjen e regjistrit code segment nga fig e mësipërme , fetchi tjetër do të vie
nga
CS B3FF0
+ 2600
B65F0
Njëra prej përparsisve të konceptit të adresave logjike është se programi mundet
në mënyrë dinamike të riloncohet kudo brenda hapsirave të adrersave 1MB nga
procesori. Kjo është për atë se adresa logjike është gjithëmon e njetë, pra nuk është
çështeje adresës fizike. Kjo gjithashtu ka përparsi me rastin kur punohet me fajlla të
dhënash të mëdha ose me informacionet të ngjashme. E tërë grupa me të dhëna mund të
operohet në të njetin program tjeshtë duke ndryshuar përmbatjen e regjistrit data segment
për adresimin e ri me për të dhënat fajllit .

Për vitin e IV-të elektroteknik i kompjuterëve 36


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Pikisht të gjithë regjistrat e përgjithshëm kanë përdorim të dedikuar në vartësi


prej instruksionit që duhet ekzekutuar (shih tabelën nën) , secili tip përkatës i kujtesës
fizike ka regjistart segment për këtë qëllim.

Tabela shoqërimi i nënkuptuar i segmenteve të kujtesës për secilën tip të


referëncës së kujtesës
Tipi i refernës së segmenti i segment Offseti
kujtesës nënkuptur alteranitiv (adresa logjike)

Instruction fetch CS JO IP
( ngarkimi (mbushja )
Stack operation SS JO SP
Variable DS CS,ES, SS Adresa efektive
String(burim) DS CS, ES, SS SI
String (destination) ES JO DI
BP i përdorur si base SS CS, ES, SS Adresa efektive
register

Shoqërimi i segmenteve të nënkuptuara është terguar në tabelë. P.sh , të gjithë


instruksionet fetch përdorin code segment (CS) me offsetin të furnizuar nga regjistri IP.
String sources është i qasshëm nga data segment(DS) me regjistrin SI i furnizuar si
offset(zhvendosje). String destination është i qasshëm me ES si segment adresë dhe DI si
ofset
Sumarizimi i segmentimit të kujtesës te procesori 8086 të cilën ne mund ta themi:
1. adresa fizike është 20 bitshe ;
2. adresa logjike është 16 bitshe
3. adresa fizike formohet duke mbledhur adresën logjike si një offset(zhvendosje)
në adresën e segmentit ( me shtesë të katër 0)
4. adresa e segmentit duhet të filloj në një adresë e cila është shufish i 16-shit
5. adresa e segmenti do të ndryshoj varsisht nga regjistri segment që përdoret
Ju kujtojm se termi “offset” ka kuptimin e adresës logjike mbrenda segmentit partikular
prej 64K

Gjatë programimit në gjuhën asambler nuk ka nevoj të mbahet llogari mbi


adrasen e segmentit dhe madhësin e zhvendosjes. Nga kjo, përkthyesi gjatë ndarjes së
hapsirës së kujtesës variablave simbolike vetë i definon adresat të cilat përmbajnë të dyja
këto vlera.

Kujtesa ROM
Kujtesa ROM (kujtesa me përmbatje konstante, kujtesa fikse, kujtesa të ngrira
ose permanete, ang, ROM –Read –Only-Memory –Kujtesa e cila mundet vetëm të
lexohet) është kujtes me qasje direkte e cila mundëson(e lejon) vetëm leximin, ndërsa
shkrimi në te nuk është i mundur. Të dhënat binare shkruhen në kujtesë lexuese ose në

Për vitin e IV-të elektroteknik i kompjuterëve 37


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

procesin e prodhimit ose me pajisje të posaqme. Përmbatja e kujtesës lexuese nuk


mundet kursesi të ndryshoj me instruksionet e programit
Për dallim nga kujtesat ekzistuese prej gjysëm përquesve, kujtesa ROM është
gjithashtu gjysëmpërquese, dhe nuk varet prej ekzistimin e tensionit furnizues dhe nuk
humb përmbatjen e saj.

u
D D
E E
k adresat k
adresat o o
d d
e e
r r
i i

Amplifikatorët
Amplifikatorët dalës
dalës
Linjat dalëse Linjat dalëse

Fig 3.8 Kujtesa lexuese

Error: Reference source not found

Kujtesa ROM përdoret për programe dhe të dhëna të kompjuterit të cilat nuk
ndryshojnë shpesh, siç janë nënprogramet, të dhënat tabelore, konstantat, test
programet etj. Secili kompjuter ka së paku një kujetsë lexuese e cila përdoret për ta vu
në lëvizje ( ngritjen-inicimin e punës) kompjuterin me rastin e kyçjesë dhe për thirrjen
nga kujtesa e jashtme programet kryesor të sistemit operativ. p. sh. te kompjuterat
personal është realizuar në kujetsën lexuese programi BIOS (Basic input-Output sistem –
Sistemi themelor i hyrje-daljeve. ). BIOS paraqet sistemin themelor për futjen dhe
marrjen e të dhënave. Ka rrolin e programit inicializues me të cilin kompjuteri (ngritet)
vihet në lëvizje, por përmban dhe një bashkësi programesh të rëndsishëm për përkrahje
të komunikimeve me të gjitha njësit periferike si p. sh. leximi nga tastiera, shkrimi në
ekran, zhvendosja e përmbatjes së ekranit etj.
Ekzistojn katër tipe të kujtesave ROM. Më të thjeshtat janë kujtesat ROM në të
cilat të dhënat shkruhen përgjithmon në procesin e prodhimit të qarqeve të integruara
gjysëmpërquese. Kjo ka domethënjen se këto kujtesa ROM munden vetëm njëher të
programohen. Programimi bëhet përmes maskës speciale në fundë të procesit të
prodhimit të qarkut të integruar. Këso kujtesa ROM përdoren vetëm nëse prodhohen
masovisht, pasi pregaditja e maskës mjaft kushton.

Për vitin e IV-të elektroteknik i kompjuterëve 38


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Kujtesat e programushme ROM (nga ang PROM –Programmable ROM)


mundëson programimin vetëm njëher dhe këtë e bënë shfrytëzuesi. Pra programimi këtu
vendos një përmbatje iverzibile pasi me shkrimin e njëhershëm të të dhënave në kujtesën
lexuese nuk mundet më pas të ndryshohen. Nëse duhet përmbatje tjetër duhet marrë qark
integral të ri dhe ai sërisht të programohet.
Kujtesa ROM riprogramuse-reverzibile (ang. EPROM-Erasable
programmable ROM) mundësojn që në procedur të caktuar shfrytëzuesi mund ti
progrmoj, sipas nevojës këto të dhëna mund që këto të dhëna t’i fshij dhe të shkruaj
përmbatjen e dëshiruar në të njejtën kujtesë lexuese. Në praktik më së shpeshti zbatohen
kujtesat lexuese riprogramuese përmbatja e të cilave mund të fshihet me dritë
ultravjollcë.
Ekzistohnjë dhe kujtesa ROM riprogramuse elektrike (ang. EEPROM-
Electrically Erasable PROM). Te të cilat programimi dhe ndryshimi i përmbatjes mund
të bëhet në rrug elektrike. Për dallim të kujtesave të tjera lexuese riprogramuese, këtu
nuk ka nevojë për pajisje të tjera shtesë për fshirje të përmbatjes së vjetër.
Kujtesa lexuese (ROM) është më e thjeshtë se kujtesa operative. Struktura e saj
është të treguar në fig 3.8 siç dhe në fig shihet, kujtesa lexuese faktikisht formon
mardhënje ndërmjet hyrjes(adresa) dhe daljes (përmbatjes së shkruar).
Për realizimin e kujtesës lexuese mund të përdoret dekoderi dhe diodat. Njëra prej
mundësisë për programim është përdorimi e lidhjeve të shkurta shkrirëse të treguar në fig
3.8 b. Programimi i kujtesës së tillë ka të bëjë me djegjen (eleminimin) e lidhjeve
elektrike aty ku dhe nuk janë të nevojshme.
Në praktik në vend të diodave për realizimin e të gjitha kujtesave lexuese
përdoren tranzistorët MOS për arsye të fuqisë dukshëm të vogël të disipacionit.
Krahas programeve të cilët nuk ndryshojnë, kujtesa lexuese mund të përdoret për
shndrrimin ndonjërit kod binar në tjetrin, për realizimin e tabelave me funksione
matematikore, për gjenerimin e karaktereve(shenjave) në ekran etj. Gjithashtu përdoret
dhe për realizimin mikrroprogarmor me instruksione makine në njësinë kontrolluese.

Për vitin e IV-të elektroteknik i kompjuterëve 39


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

3. 7. Kujtesa asociative
Në shumë detyra për përpunim të dhënave nevojitet të gjinden të dhënat në ndonjë
strukturë të të dhëna të vendosur në kujtesën operative. Procedura e kërkimit të elementit
konsiston me krahasimin e të dhënave të ruajtura me vlerën e dhënë derisa të mos vie deri
te përputhja. Në këtë rast numri i qasjeve kujtesës operative varet nga vendi i elementit të
kërkuar dhe algoritmit me të cilin bëhet kërkimi.

Koha e nevojshme për për kërkim të dhënave në kujtesën operative mund


dukshëm të shkurtohet, nëse të dhënave të ruajtura mund të identifikohen (të gjinden) jo
vetëm në bazë të adresave të tyre në kujtesën operative por edhe nëpërmes të përmbatjes
së tyre. Atëhere kur koha e kërkur duhet të jetë shumë shkurt, ekziston kujtesa e cila
mundëson këtë qasje në bazë të përmbatjes dhe ajo quhet kujtesa asociative ose kujetsa
me adresim sipas përmbatjes. Kujtesa asociative është kujtesë me qasje direkte të cilës
në mënyrë shtes iu vendoset qarku e cili mundëson që në të njejtën kohë të krahasoj në
vetëm një cikël të kujtesës përmbatjet e të gjitha lokacioneve me përmbatjen e dhënë-
çels. Në te kërkimi bëhet në bazë të përmbatjes dhe gjinden të gjitha lokacionet të cilat
kanë përmbatje të barabart me përmbatjen e çelsit ose pjesë së çelsit. Në kujtesën
asociative qaset në të njejtën kohë dhe paralelisht të gjitha lokacioneve në bazë të
përmbatjes së tyre. Që kjo të jetë e mundshme, nevojiten elemente kujtese më të
ndërlikuar se qarqet bistabile, dhe quhen elemente asociativ kujtese (EAK). Për këtë
kujtesa asociative është më e shrejt se kujtesa me qasje direkte. Në fig 3.9 është paraqitur
elementi asociativ i kujtesë.

x- sinjali i selektimit të lokacionit


y k my-sinjali i selktimit të bit-it
s-sinjali i gjendjes së elementit të kujtesës
k-biti hyrës i çelsit per krahasim
x m- biti hyrës i maskës
Elementi ir –rezulltatis i krahasimit të çelsve dhe gjendja e elementit të kujtesës
kujtesës p
asociative

Fig 3.9 – Modeli i përgjithshëm të elementit asociativ të kujtesës.

Hyrjet x dhe y te qasja në kujtesën asociative shërbejn si te kujtesa me qaseje


direkte. Gjendja e elemntit të kujtesë përfitohet në daljen s. Te qasja asociative
krahasohet sinjali hyrës (bit-i) i qelsit k me gjendjen e elementit të kujtesës s. Dalja p do

Për vitin e IV-të elektroteknik i kompjuterëve 40


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

të ketë vlerën 1 nëse biti hyrës i çelsit k dhe gjendja e elementit të kujtesës s kanë të
njejtën vlerë. Në këtë rast biti i maskës m definon se a duhet biti i çelsit të testohet
(shqyrtohet) në përputhje ose jo.
Principi i punës së kujtesës asociative është si në vazhdim(fig 3.10). Regjistri
maskës përmban vlerën 1 në ato pozicione të cilët përcaktojn pjesë të çelsit për krahasim
në përputhje. Çelsi nga regjistri çels krahasohet me përmbatjen të secilit lokacion të
kujtesës, nëse regjistri i maskës ka 1 në të gjitha pozicionet. Për ndryshe, në krahasi
marrin pjesë vetëm ato bite të çelsit për të cilët në pozicionet përkatëse të maskës është
shkruar vlera 1. Këtu maska është fjalë binare e cila përcakton se cilët bita të çelsit
krahasohen me përmbatjen e lokacioneve të kujtesës.
Përmbatja e regjistrit çels krahasohet me përmbatjen e të gjjitha lokacioneve të
kujtesës në vetëm një cikël të kujteses. Për secilin lokacion të kujtesës ekziston nga një
komperator dalja e të cilëve është e barabartë me1 nëse ekziston përputhje, d.m.th. nëse
fjala e kujtesës ka të njejtat bita si dhe bitet e definuara të çelsit. Të gjtha lokacionet e
tilla të shenuara në regjistrin e indikatorit të përputhjeve., i cili ka nga një bit për
secilin lokacion të kujtesës me vlerë 1. Pas krahasimit mundet që lokacioneve të kujtesës
për të cilët ekziston përputhja tju qaset për qëllim të leximit, ku në këtë rast tani kujtesa
asociative trajtohet si kujtesë me qasje direkte

Regjistër çels

Regjistër
maske
0
Dekoderi i adresave

EKA EKA EKA


K I
...
o n
m d
p i
Regjister i EKA EKA ... EKA e k
adresave r a
Mediumi i a t
kujtesës t o
EKA EKA ... EKA o r
r ë
t
Error: Reference source2not
n
- found
1 t

Regjister pranues

Për vitin e IV-të elektroteknik


Fig. 3.i kompjuterëve
10- struktura e kujtesës asociative 41
Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

3. 8. Kujtesa kesh
Që të zvoglohet koha për qasje në të dhëna dhe instruksione në kujtesën operative
e procesorit qendror shtohet kujtesa kesh (kujtesa ultra e shpejt, kujtesa doracake )
shpejtësia e të cilës i përgjigjet shpejtësisë punuese të procesorit. Kujtesa kesh është
kujtesë e vogël ultra e shpejt gjysëmpërquese me qasje të drejtëpërdrejt. Në kujtesën-
kesh ruhen të dhëna dhe instruksione nga kujtesa operative të cilat procesori në atë çast i
përdor.
Kujtesa kesh rritë shpejtësin e përpunimit, pasi në te ndodhen të dhënat rrjedhëse
(aktuale) dhe instruksionet e rrjedhës së programit të cilave procesori iu qaset me
shpejtësi të madhe. Në këtë mënyrë kujtesa kesh kompenzon ndryshimin ndërmjet
shpejtësisë së punës së procesorit dhe kohës për qasje në kujtesën operative, e cila është
e madhsisë me rang më të madh (d.m.th. Dhjetë herë). Me këtë rritet produktiviteti i
procesorit.
Kujtesa kesh shërben për harmonizimin e shpejtësisë së procesorit dhe kujtesës
operative e cila është më e ngadalëshme se procesori për një rang të madhësisë (rrethë 10
herë). Kjo mundëson rritjen e shpejtësisë së përpunimit, pasi në te ndodhen të dhënat
aktuale dhe instruksionet aktuale të programit të cilat procesori i qaset dukshëm më
shpejt, me çka rritet produktiviteti i punës së procesorit, rrespektivisht koha e
ekzekutimit të programit. Qëllimi i një sistemi efikas të kujtesës është që me kohë të
efektshme t’ja qasë procesorit të dhënat dhe kjo kohë të jetë e përafërt me kohën e qasjes
në kujtesën-kesh.
Kujtesa-kesh përdoret në mënyrën si në vijim(fig 3.11). Kujtesa operative dhe
kujtesa-kesh janë të ndara në njësi të cilat quhen blloqe. Blloku( nganjëher quhet dhe
linjë) paraqet bashkësin e n lokacioneve suksesive (njëpasnjëshme) të kujetsës të cilat
gjithmon si një tërsi barten ndërmjet kujtesës operative dhe kujetsës kesh. Kjo ka
d.m.thënjen se të gjitha të dhënat (ose instruksionet) e ndonjë blloku në të njejtën kohë
ndodhen ose nuk ndodhen në kujtesën-kesh.
Njësia e bartjes ndërmjet procesorit qendror dhe kujtesës kesh është fjala fizike.
Ndërs njësia e bartjes ndërmjet kujtesës kesh dhe kujtesës operative është blloku.
Madhsia e bllokut zakonishtë është ndërmjet 4 dhe 128 bajta. Kapciteti i kujtesës kesh
është në brezin prej 1 deri 256 KB. Në fig 5. 6 tregohet principi i përdorimit të kujtesës
kesh. Numri i blloqeve të kujtesës operative është dukshëm më i madhë se numri i
blloqeve të kesh kujtesë, kështu që në të njejtin qast ndodhen kopje të vetëm të një
numri të vogël të blloqeve të kujtesës operative.

Për vitin e IV-të elektroteknik i kompjuterëve 42


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Bartja e fjalve Bartja e bloqeve


Kujtesa kesh
Kujtesa
Procesori operative
qendror

Blok (n fjalë fizike )

Fig 3.11- Parimi i përdorimit të kujtesës -Kesh

Error: Reference source not foundError: Reference source not found


Kur procesori qendror gjeneron adresën e lokacionit të kujtesës, formohet sinjali
kontrollues(i kontrollit) për qasje në kujtesën-kesh. Nëqoftëse e dhëna me adresë të
kërkuar ndodhet në kujtesën kesh, ajo bartet në procesor për qëllim përpunimi ose
zëvendsohet me vlerë të re nga procesori e cila paraqet rezulltatin e përpunimit.
Nëqoftëse në kujtesën kesh nuk ka bllok me adresë të kërkuar, aktivizohet procedura
me të cilën nga kujtesa kesh një bllok dërgohet në kujtesën operative, dhe në vend të
sajë nga kujtesa operative thirret blloku i kërkuar i cili bartet në kujtesën-kesh dhe në të
njejtën kohë e dhëna e kërkuar bartet dhe në kujtesën operative.
Kujtesa-kesh funksion në bazë të sjelljeve lokale me të cilën karakterizohen
shumica e programeve. Ekzistojnë tre principe të cilët i përfshin lokaliteti:
1. lokaliteti hapsinor - nëse duhet qasur lokacioit të caktuar në kujtesë, ekziston
gjasa e madhe që të ketë dhe qasje të tjera në te ose të lokacioneve fqinje gjatë kohës së
zgjatjes së ekzekutimit të programit,
2.lokaliteti kohor - nëse ka ekzistur qasja sekuenciale deri te lokacioni i n-të,
ekziston gjasë e madhe, që thirjet të cilat do të pasojn të jenë në atë sekuenc. Ky lokalitet
plotësohet me lokalitetin hapsinor,
3. njëpasnjëshmëria - nëse ka qenë qasja në lokacionin e caktuar s, gjasa është
që disa qasje të ardhëshme të jenë në lokacionin s+1, njëpasnjëshmëria është tip i
kufizuar të hapsirës së lokacionev dhe mund të konsiderohet si nënbashki e saj.
Gjat përdorimit të kujtesës- kesh duhet zgjedhur katër probleme themelore si në
vazhdim:
1. vendosja e bloqeve – ku në kujtesën kesh do të vendosen blloqet e reja të
lexuar nga kujtesa operative;
2. identifikimi i blokut – si të gjindet blloku i cili ndodhet në kujtesën kesh;
3. ndrrimi i bllokut - cili bllok do të këmbehet(ndrohet), nëse blloku i kërkuar
nuk do të gjindet në kujtesën-kesh dhe
4. strategjia e shkrimit- si të procedohet me rastin e shkrimit të të dhënës së re
në kujtesën kesh, pasi në këtë rast modifikohet blloku dhe bëhet i ndryshëm nga blloku
përkatës në kujtesën operative.
Mënyra më e mirë për vendosjen e blloqeve të lexuar nga kujtesa operative është
e ashtuqujtura pasqyrimi asociativ – secili bllok mund të vendoset kudo në kujtesën-
kesh. Migjithat, në këtë rast bëhet fjalë për identifikim e blloqeve (problemi i dytë) më e

Për vitin e IV-të elektroteknik i kompjuterëve 43


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

përshtatshme është nëse kujtes-kesh përdor kujtesën asociative në të cilën çelsi paraqet
adresën e bllokut të kujtesës ndërsa pjesa e informacionit të të dhënës nga kujtesa
operative. Për ndërrim të blloqeve ekzistojnë shumë strategji, por më së shpeshti ndrohet
blloku i shfrytëzuar më herët ose blloku më i gjatë prezent. Kur blloku në kujtesën kesh
modifikohet me shkrimin e të dhënës së re nga procesori, ekzistojn dy mënyra të cilat
përdoren për azhurimin e kujtesës operative: a) shkrimi i drejtëpërdrejt – në të njejtën
kohë të dhënat shkruhen në kujtesën kesh dhe kujtesën operative, b) shkrimi me
ndërmjetsim – edhëna shkruhet vetëm në blloku n-të të kujtesës kesh, ndërsa blloku i
modifikuar kthehtet në kujtesën operative vetëm atëhere kur të ndrrohet me bllokun
tjetër. Megjithat, këtu nevojitet për secilin bllok të futet nga një bit i cili mban mend
(ruan) se a është blloku i modifikuar apo jo.
Faktori kryesor përmes të cilit matet efikasiteti i kujtesës kesh quhet faktori i të
qëlluarit h, ky është gjasa se përmbatja e lokacinit të kujtesës të cilën e adreson
procesori, d.m.th. edhëna e kërkuar, ndodhet në kujtesën-kesh. Madhësia 1-h quhet
faktor i dështimit. Faktori i dështimit mat penalet për shkak të dështimeve kesh, pasi
procesori ndërpret aktivitetin kur të konstatoj dështimin kesh. Faktori i të qëlluarit është
gjithmon më i vogël se 1, ndërsa në praktikë realizohen vlera më të mëdha se 0.9.
Parametra të tjerë me rëndësi të kujtesës-kesh janë: Koha e qasjes, mbatja në dështim,
mbatja në azhurim të kujtesës operative etj.

Dynivelet dhe ndarja e kujtesës kesh


Kur janë zbatuar për herë të parë kujtesat kesh sistemi zakonisht kishte një kujtesë
kesh. Më vonë, përdorimi i më shumë kujtesave kesh bëhet dhe normë(standard). Dy
aspekte të këtij problemi kanë të bëjnë në numrin e niveleve të kujtesës-kesh dhe
shfrytëzimi i kjesës-kesh si unike ose të ndarë.
Me rritjen e dendësisë së logjikës në çip(që dhe po ndodh ), ekziston mundësia të
ketë kujtesë kesh në çipin e procesorit. Krahasuar me kujtesën kesh të cilës iu qaset
përmes magjistrales të jashme dhe në bazë të kësaj, shpejtohet koha e ekzekutimit dhe
rritet perfomanca totale e sistemit. Kur instruksioni i kërkuar ose e dhëna ndodhet në
kujtesën kesh, qasja në magjistrale është e eleminuar.
Futja e kujtesës-kesh në çip len të hapur pyetjen se a është kujtesa-kesh jashtë
çipit ose a nevojitet kujtesa çip e jashtme. Përgjigjëja është PO, dhe procesorët e rinjë
përmbajnë kujtesën-kesh në çip dhe kujtesën-kesh të jashtme. Organizimi rezulltant është
i njohur si Kujtesa-kesh dy nivelshe, ku kujtesa-kesh interne shenohet si niveli 1 (L1),
ndësa kujtesa –kesh e jashtme(extern) shenohet me nivelin 2 (L2). Studimet kanë tregur
që shfrytëzimi i kujtesave kesh me nivele të tjera përmirsojn performancat.
Dikur ishte pranuar në përgjithësi që ndarja e kujtesës-kesh në dysh. Njëra që
shërben për instruksione e tjetra që shërben për të dhëna, e posaqërisht me të
ashtuquajturit makinat superskalare. Përparsia kryesore e projektimit kujtesës-kesh të
ndar është në ete se eleminohet gara për kujtesën kesh ndërmjet procesorit të instruksionit
dhe njësisë ekzekutuse. Nga kjo, ndarja e kujtesës kesh për instruksione dhe për të
dhëna mundëson që dukshëm të rritë brezin lëshues të kujtesës-kesh. Këtu kujtesa kesh
rritë pak çmimin, por unifikimi i kujtesës kesh gjithahtu jep efekte më të ulta të
dështimit.

Për vitin e IV-të elektroteknik i kompjuterëve 44


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Kujtesa kesh e diskut


Si kujtesa-kesh punon mirë me kujtesën operative, i njejti koncept me sukses
shfrytëzohet dhe për disqet, duke zvogluar dukshëm komunikimin me diskun. Kujtesa
kesh e diskut (baferi-kesh i diskut) ka rrol të njejtë si kujtesa-kesh në sistemin kujtesa-
kesh –Kujtesa kryesore. Kjo është një baffer i cili ruan pjesë të konsiderueshme të
bartjeve hyrje-daljeve, duke zvoglur në këtë mënyrë kohen efektive të qasjes dhe
numrit të kërkuar të qasjeve në disk. Kujtesa kesh e diskut mundet me iu shoqruar
pajisjeve të hyrje-daljeve, të pajisjes konkrete ose kujtesës së procesorit
Kujtesa kesh mban mend (ruan) pjesë të shfrytzuar të adresave të fundit të
procesorit të diskut. Njësia e keshimit (depozitimit) mund të jetë gjithçka prej sektorve
deri te më shumë gjurmë(staza)

Për vitin e IV-të elektroteknik i kompjuterëve 45


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

3. 9 Kujtesa virtuale
Në kiearakinë e sistemit të kujtesave, programi dhe të dhënat së pari vendosen në
kujtesën e jashtme( sekundare). Fragmente programi dhe të dhënash barten në kujtesën
operative(primare), dhe vetëm atëhere kur t’ju duhen procesorit qendror, pasi kapaciteti
i kujtesës operative është dukshëm më ivogël se kapaciteti i kujtesës të jashtme. Sikurse
kutesën opretive ta zavendsonte kujtesa e jashtame do të fitojshim shpetësi të
pamjaftueshme për qasje, për shkak të ngadalësis të kujtesës të jashtme.

Kapacitetin ei pamjaftuehëm të kujtesës operative mund të kompenzohet me


mënyrën e posaçme të ndërlidhjes së kujtesë operative dhe kujtesës së jashtme e cila
quhet kujtesa virtuele. Kujtesa virtuele mundëson që përdoruesi të shkruan programe
sikurse të posedoj hapsira adresuese të barabart me kapacitetin e kujtesës së jashtme,
në këtë rast shpejtësia e qasjes është përafërsisht me atë të kujtesës operative. Futja e
kujtesës virtuale bazohet në faktin se procesori shpesh në përpunim përdorë të dhënat të
vendosura në lokacionit suksesivë të kujtesës
Zgjidhja e problemeve me kapacitete më të mëdha, me shpejtësi të mjaftueshme
të kujtesës, arrihet me mbatjen e kujtesës operative e cila përdoret ashtu që nga kujtesa e
jashtme barten të dhënat aktuale dhe instruksionet. Kur ndonjë pjesë e kujtesës operative
bëhet joaktuale, ajo kthehet në kujtesë të jashtme dhe zavensohet me të dhëna të reja
aktuale.

Faqet e kujtesës
E tërë hapsira adresave të kujtesës së jashtme(sekundare) është e ndarë në blloqe
nga një numër fiks i lokacioneve të cilët quhen faqe kujtese ose faqe. Faqja mund të
përmbajë prej 256 deri 1024 dhe më shumë fjal kujtese. Kujtesa primare (operative)
ndahet në grupe të lokacioneve suksesive të të njejtit vëllim e cila gjithashtu quhet faqe.
Pjesë programesh dhe të dhënave barten nga kujtesa e jashtme dhe anasjelltas, gjithmon
në vëllimin prej një faqe. Mardhënja e faqeve të kujtesës të jashtme dhe operative është
treguar në fig. 3.12

Me rastin e përdorimit të kujtesës virtuele ekzistojn shumë lloje adresash. Adresa


të cilën e përdor programeri është adresë virtuale ose adresë sekundare. Bashkësia e
adresave vituale formon hapsirën e adresave virtuale. Adresa e kujtesës operative quhen
dhe adresa fizike ose adresa primare. Bashkësia e adresave të kujtesës operative formon
hapsirën primare të adresave.

Për vitin e IV-të elektroteknik i kompjuterëve 46


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Kujtesa e jashtme
Kujtesa operative
Program 1
Program 1
Të dhënat 1
Të dhënat 12

Të dhënat 1

Program 2
Program 21

Fig 3.12 Mardhënaja e kujtesës së jashteme dhe Fizike(operative)


Error: Reference source not found

Principi i përdorimit të kujtesës virtuele është ky. Kur të filloj ekzekutimi i


programit, një ose disa faqe barten në kujtesën operative. Programi ekzekutohet me
përdorimin e kujtesës operative përderisa procesori qendror nuk tenton të drejtohet në
instruksione dhe të dhënave të cilat ndodhen në kujtesën e jashtme. Atëhere thirret
programin e sistemit operativ për menaxhim kujtesë virtuale( menaxhuesin e kujtesës
virtuale) i cili duhet të siguroj shfrytëzim efikas të kujtesës primare (operative). Sistemi
menagjues i kujtesës operative realizohet me kombinimin e hardwer-it dhe softwer-it. Ky
sistem duhet të zgjidhë këto probleme :
-rritjen e adresave virtuele- adresa virtuele të cilën e përdor procesori përkthehet
në adresë të kujtesës primare;
-ndrrimi i faqeve –zgjedhja e faqeve të cilat duhet larguar nga kujtesa operative në
mënyrë që të lirohet vendi për faqe të re.

Për vitin e IV-të elektroteknik i kompjuterëve 47


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Përkthimi i adresave virtuale


Në fig 3.13a janë treguar formatet e adresave virtuale, dhe adresave primare ap .
Në këtë rast ac , paraqet adresën e lokacionit e kuadërt të faqeve(Page frame) (d.m.th.
zhvendosja-offset) dhe ajo është e njejt edhe për adresën virtuele edhe për ate primare

av avs ac

ap aps ac
a) formati i adresës virtuale primare

av avs ac

Tabela e pasqyrimit të
adresës viruele

ap aps ac
b)Përkthimi i adresës virtuale në adresë primare
Fig 3.13- Pasqyrimi i i adresave virtuele në adresa fizike.

Secila adres virtuale duhet të përkthehet në adresën e kujtesës primare ku do të


vendosen faqet të thirrura nga kujtesa e jashtme. Zakonisht faqja mund të ndodhet kudo
në kujtesën primare, dhe për këtë sistemi për kontrollim (drejtim) mban evedincën se
ku secila faqe sekundare është e vendosur në kujtesën primare. Njëra prej mënyrave për
ruatjen e këtyre informacioneve është e ashtuquajtura, tabela e faqeve(ang Page
Table), e cila përmban si çels vlerën e adresës të faqes virtuele, ndërsa për pjesë të
informacionit vlerën e adresës të faqes primare. Pos, kësaj, me pjesën informacionit
mund të shtohen dhe pozicionet binare për edhe disa informacione të cilat i përdor për
nevojat e veta sistemi për konrollim të kujtesës virtuele.
Në fig 3.13b tregohet mënyra e transformimit të adresës virtuele në primare. Për
hyrje në tabelën e pasqyrimit shërben adresa virtuale e faqes, ndërsa në dalje fitohet

Për vitin e IV-të elektroteknik i kompjuterëve 48


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

adresa e faqes primare. Në vend të tabelave të faqeve shumë më mirrë është të përdoret
kujtesa asociative nëse dhe kjo është edhe ekonomikisht e pranushme.

Për vitin e IV-të elektroteknik i kompjuterëve 49


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Ndrrimi i i faqeve
Faqja është e nevojshme të ndrrohet nëse faqja me adresë virtuele të cilën e
kërkon procesori nuk ndodhet në kujtesën primare. Gjatë ndrrimit të faqes në kujtesën
sekundare (të jashtme) kthehet faqja e cila sipas ndonjë kriteriumi është më së paku
aktuale, ndërsa në kujtesën primare në vend të saj bartet faqja e kërkuar.
Ngjajshëm si dhe te kujtesa kesh, për vlerësim të efikasitetit të shfrytëzimit të
kujtesës virtuele futet faktori i goditjes (të qëlluarit) dhe faktori i dështimit. Faktori i
goditjes paraqet gjasën se faqja e kërkuar ndodhet në kujtesën primare. Faktori i
dështimit paraqet gjasën se faqja e kërkuar nuk ndodhet në kujtesën primare. Fktori i
goditjes varet prej disa parametrave, dhe pra së gjithash prej:
-kapacitet të kujtesës primare,
-madhësisë së faqes ,
-formës të shfrytëzuar të dhënave dhe instruksioneve në faqe,
-algoritmit për ndrrimin e faqeve.
Për ndrrimin e faqes mund të përdoren disa algoritme të ndryshme, ndërsa më së
shpeshti janë:
1) rradha e futjes së faqeve- ndrrohet faqja e cila e para është e futur, d.m.th.
faqja e cila më së shumti është ndodhur në kujtesën primare;
2) faqja e mëhersheme e shfrytëzuar- ndrohet faqja e cila më herët është
shfrytëzuar, d.m.th faqja e cila është shfrytëzuar para të gjitha faqeve e cila
ndodhet në kujtesën primare;
3) faqja e cila më së paku është shfrytëzuarr- ndohet faqja e cila më së paku
është shfrytëzuar, d.m.th. më së paku ka qenë aktive.

Për vitin e IV-të elektroteknik i kompjuterëve 50


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Pytje dhe detyra

1. Ç’është kujtesa e kompjuterit dhe si ndahet?


2. Ç’farë janë mediumet e kujtesës dhe me çka karakterizohen ?
3. Si ndahet ndahet kujtesat?
4. Jepni parametrat kryesor të kujtesave
5. Cilat operacione kryesore i kryen kujtesa ?
6. Cilat janë pjesët funksionale kryesore të kujtesës?
7. Si organizohen pajisjet e kujtesës në strukturën kierarkike
8. Ç’farë është qëllimi dhe si është organizimi i kujtesës së rregjistrave?
9. Me çka karakterizohet dhe si realizohet kujtesa stek?
10. Përshkruene struktrurën e kujtesës operative?
11. Ç’farë shënimi simbolik përdoret për lokacionet e kujtesës dhe regjistrave?
12. Ç’është segmentimi i kujtesës?
13. Ç’farë regjistra segment përdor mikriprocesori Intel 8086?
14. Si formohet adresa fizike te mikrroproceori i 8086
15. Ç’farë është kujtesa lexuese?
16. Si realizohet kujtesa lexuese?
17. Përshkruani modelin e përgjithshëm të elementit të kujtesës asociative?
18. Ç’farë është kujtesa asociative dhe çfarë është struktura e saj?
19. Përse shërben kujtesa kesh dhe me çka karakterizohet?
20. Me çka përbëhet principi i lokacionit të programit
21. Cilat probleme duhet zgjidhë kur të përdoret kujtesa kesh?
22. Ç’është dyniveli dhe si ndahet kujtesa kesh?
23. Përshkruani qëllimin e kujtesës kesh të diskut?
24. Ç’ështç kujtesë vitruale?
25. Ç’është faqja dhe ç’farë është lidhja ndërmjet kujtesës së jashtme dhe opertive
26. Si përdoret kujtesa operative?
27. Si përkthehen adresat virtuale në adresa fizike?
28. Si vlersohet efikasitetiti i përdorimit (shrttëzimit ) të kujtesës virtuele?
29. Cilat algoritme përdoren për ndrrim të faqeve?

Për vitin e IV-të elektroteknik i kompjuterëve 51


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

4. Procesori

4. 1 Arkitektura e sistemit kompjuterik


Me arkitekturë të sistemit kompjuterik nënkuptohet paraqitja e tijë përmes
njësive themellore funksionale të tijë (moduleve). Arkitektura shpreh këto aspekte të
pashme të strukturës së sistemit kompjuterik për shfrytëzuesin: bashkësin e
instruksioneve të realizuara në procesor, mënyrat e adresimit të operandve, mënyra të
adresimit dhe formatet e të dhënave, bashkësin e regjistrave të pashëm nga përdoruesi
etj. Me fjalë të tjera, termi arkitekturë përdoret për të përshkruar mundësin e sistemit
kompjuterik.
Struktura ose organizimi strukturor shpreh përbërjen dhe lidhjet reciproke të
elementeve (moduleve) të sistemit. Struktura e sistemit kompjuterik paraqet modelin e
sistemit kompjuterik në bazë të komponenteve(konstruksioneve) të strukturuara
(moduleve), dhe shpreh lidhjet reciproke të komponeneteve në procesin e funksionimit
të sistemit.
Në përbërje të sistemit kompjuterik hyjnë komponentet themelore si në vazhdim:
procesori(procesori qendror, njësia qëndrore procesorike, CPU-ja Central processing
Unit), - i cili përbëhet prej njësis aritmetiko-logjike(Nj.A.L ang ALU ) dhe njësisë
kontrolluese(ose kontrollit, Komandimit, dirigjuse ang controll unit), kujtesa
operative(kryesore ose RAM)dhe të pajisjeve periferike(pajisjet e hyrje/daljeve). Të
gjitha këto komponente lidhen me ndimën e magjistrales siç dhe është spjekuar në kapI.

Funksioni i procesorit
Procesori paraqet pajisje digjitale e kontrolluar(e menaxhuar) me program i cili
kryen funksionet në vazhdim:
-në bazë të instruksioneve i përpunon të dhënat me kryerjen mbi to operacione të
caktura relativisht të thjeshta-instruksione makine;
-bjen vendime në procesin e përpunimit mbi rrjedhën (rradhën) zhvillimit të
ekzekutimit të instruksioneve të programit;
-menaxhon me komponentet tjera të kompjuterit;
-siguron bartjen e të dhënave ndërmjet komponeteve të kompjuterit, si dhe
këmbimin e të dhënave me mjedisin e jashtëm që e rrethon.;

Për vitin e IV-të elektroteknik i kompjuterëve 52


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Procesori për qëllim të ekzekutimit të programit të vendosur në kujesën operative,


i cili përbëhet prej aktiviteteve si në vijim:
-thirrjen (bartjen) të seclit instruksion nga kujtesa operative në njësin
kontrolluese(menaxhuese, dirigjuese,drejtuese);
-thirjen e të dhënave nga kujtesa operative ose regjistrave të procesorit në njësin
aritmetiko -logjike;
-interpretimin e instruksionit, d.m.th. ekzekutimin e operacionit të paraparë me
atë instruksion;
-ruatja (shkrimi) i rezulltatit në kujtesën operative ose regjistra.
Kështu ekzekutimi i programit zhvillohet në komunikim të pandërprerë ndërmjet
kujtesës operative, njësisë aritmetiko-logjike dhe njësisë kontrolluese.

Struktura e procesorit
Që të mund ti kryej funksionet që u dhanë procesori qendror duhet që përkohsisht
ti mbaj në mend disa të dhëna. Ai duhet ta ruaj lokacionin e instruksionit të fundit në
mënyrë që të dijë se nga ta merrë instruksionin tjetër. Duhet ti mbaj në mend
instruksionin dhe të dhënat përkohsishtë derisa të mos ekzekutohet instruksioni. Me fjalë
të tjera procesori duhat ta ketë një kujtesë të vogël breanda(interne).
Fig 4.1 jep një pamje të thjeshtë në procesorin qendror, përfshirë dhe lidhjen e
tijë me pjesët e tjera përmes magjistrales së sistemit. Komponentet kryesore të procesorit
qendror janë njësia aritmetiko-logjike dhe njësia kontrolluese. Njësia aritmeriko-logjike
kryen përpunim e të dhënave. Njësia kontrolluese kontrollon procesin e të dhënave dhe
të instruksionev në dhe nga procesori qendror dhe kontrollon punën e njësisë aritmetiko
logjike. Pos këtyre procesori përmban kujtesën interne e cila përbëhet nga bashkësia e
elementeve kujtesë të cilët quhen regjistra.

Magjistralja e sistemit

Procesori
Njësia kontrolluese
qendror

Njësia aritmetike Regjistrat

Fig 4.1 –Skema e thjeshtësuar e procesorit

Për vitin e IV-të elektroteknik i kompjuterëve 53


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Skema strukturore e procesorit e cila jep pamje diçka më detale në procesorin


qendror është treguar në fig (4.2). Janë treguar rrugët e bartjes të të dhënave dhe logjikat
kontrolluese përfshirë dhe elementin i cili është i emëruar magjistralja interne. Ky
element është i nevojshëm për transmetim të të dhënave ndërmjet regjistrave të ndryshëm
dhe njësisë aritmetiko-logjike, pasi faktikisht njësia aritmetiko-logjike i ekzekuton
operacionet që iu jepen procesorit qendror. Në skemë janë dhënë komponentet më të
rëndësisheme të procesorit qendror.
Magjistralja e sistemit

Administruesi i magistrales
(qarku ndëlidhës-interfejsi)

Regjistrat
Rendi i
për qëllime
instruksioneve të
Magjistralja interne përgjishme

Regjistrat kontrollues ALU

Njësia kontrolluese
(kontrollimi dhe sinkronizimi)

Fig 4. 2. Skema strukturore e procesorit

Njësia kontrolluese shërben për njohjen e instruksionit (urdhërit të makinës) të


cilin duhet ta ekzekutoj, si dhe formimin e sinjaleve kontrolluese për ekzekutimin e
këtyre instruksioneve. Në njësinë aritmetiko-logjike realizohen operacionet aritmetike
dhe oeracionet logjike. Rendi(rreshti ang.queue) i instruksioneve shërben për pregaditjen
dhe pranimin e instruksionit. Regjistrat kontrollues shërbejn për ruatjen e informacioneve
të cilët përdoren për kontrollimin të punës së procesorit. Regjistrat për qëllime të
përgjithëshme kanë rrol të shumëfisht. Mund të përdoren si regjistra kontrollues, por
qëllimi kryesorë i tyre është ruatja e përkohëshme e të dhënave dhe të mesrezulltateve
gjatë ekzekutimit të operacioneve në procesor. Magjistralja e brendshme i lidhë të gjitha
komponentet e procesorit në një tërsi. Qarku për gjernerimin e sinjalit sinkronizues
shërben për formimin e impulseve me të cilët definohen intervale të caktuar kohor për
ekzekutimin e operacioneve në procesor. Kontrollimi i magjistrales përmban qarqe
ndërlidhse (interfejs) me të cilat përmes magjistrales së sitemit organizohet këmbimi i të

Për vitin e IV-të elektroteknik i kompjuterëve 54


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

dhënave ndërmjet procesorit dhe kujtesës operative, si dhe lidhja e procesorit me pajisjet
periferike, kompjuterë të tjerë etj.
Pos komponenteve që përmendëm, procesori mund të përmbaj dhe kujtesën
kesh, kujtesën stek, njësin për kontrollim të kujtesës dhe një varg me blloqe që shërbëjn
për organizimin të procesit të përpunimit (bllokun shërbyes për ndërprerje të programeve,
bllokun mbrojtës të kujtesës etj.).

Mikrroprocesori dhe kompjuteri personal.


Mikrroqarku, qarku i integruar ose popullorqe çip(ang.chip-pjesë) paraqet
kristalin (pllakëz e sisliciumit )në të cilën me procedur teknologjike speciale realizohen
numër i madhë i elementeve gjysëmpërquese(të tranzistorve). Secili mikrroqark zakonisht
paraqet një tërsi të caktuar funksionale, d.m.th. të parapar për një qëllim të caktuar, siç
është përpunimi , kontrollimi etj. Mikrroqarku i cili sispas funksionit dhe strukturës të tijë
i përgjigjet plotësisht procesorit qendror të kompjuterit dhe përmban të gjitha pjesët
funksionale si dhe secili procesor tjetër (shih fig 4.2) quhet mikrroprocesor.
Mikrroprocesori paraqet bazën për realizimin e kompjuterve personal konfiguracioni i të
cilit është treguar në fig 4.3.

Procesori Kujtesa Kontrolleri i kujtesës Kujtesa DRAM Njësia e diskut


kesh

Magjistralja e sistemit

Rrjeta lokale Audio Njësia e Modem Lidhja serike


CD-ROM

Fig 4.3 Konfigurimi i kompjuterit personal

Familja e mikrroprocesorve Intel 80x86


Për realizimin e kompjuterëve personal më së shpeshti përdoren mikrroprocesorët
të familjes 80x86 të firmës Intel ose mikrroprocesor kompatibël të tyre të firmave të tjera.
Në fig 4.5 është treguar struktura e mikrroprocesorit intel 8086. Ky është njëri prej
mikrroprocesorve 16 bitësh. Të gjithë mikrroprocesorët e kësaj familje, siç janë 80286,

Për vitin e IV-të elektroteknik i kompjuterëve 55


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

80386, 80486 dhe pentium janë procesor 32 bitësh dhe paraqesin një përmisim të
dukshëm të këtij procesori.
Mikrroprocesori i 8086 ka dy njësi të posaqme procesorike: njësia për
ndërlidhje me magjistralen (ang. BIU-Bus Interface Unit) dhe njësin Ekzekutuese
(ang EU-Execution Unit). Këto dy njësi punojnë të pavarura dhe konkurente
(paralelisht). Njësia për ndërlidhje me magjistralen është për të gjitha operacionet me
magjistralen, siç janë thirrja e instruksioneve, leximi i operandit nga kujtesa operative
ose shkrimin e tyre në kujtesën operative, si dhe hyrja dhe dalja e të dhënave nga/në
periferit. Kjo njësi pregaditë instruksionet gjithëmon kur të ekzistoj hapsirë e zbrazët në
rendin(queue) e instruksioneve. Prej rendit në cilin janë pregaditura, instruksionet jepen
njësisë ekzekutuse, e cila këto i ekzekuton.

Për vitin e IV-të elektroteknik i kompjuterëve 56


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Magjistralja e jashtme

Gjenerimi i adresës dhe


Kontrolleri i magjistrales
Rendi(queue) i
i instruksione

CS
Regjistrat segment
DS
Dekoderi i instruksioneve
SS
Njësia për ndërlidhje me magjistrale (BIU)
ES

IP
Njësia për ekzelutim të instruksioneve (EU)

AX AH AL Njësia aritmetiko-logjike
BX BH BL
CH CL
CX
DH DL
DX
FLAGS
SP

BP
Kontrollimi dhe sinkronizimi
DI

SI

Fig 4.4 Arkitektura themelore e mikrroprocesorit 8086

Për vitin e IV-të elektroteknik i kompjuterëve 57


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

4. 2 Regjistrat e procesorit
Regjistri është qark elektronik i cili shërben për ruatjen e të dhënave binare.
Përbëhet nga grupa e qarqeve bistabile e cila trajtohet si një tërsi. Pos qarqev bistabile të
cilët mabajn mend të dhëna, regjistri mund të ketë elemente të kombinuara ndërprese të
cilët shërbejn për kontrollimin e bartjes të të dhënave në regjistër ose nga regjistri.
Regjistrat e procesorve identifikohen me adresat e tyre ose me emrat simbolik.
Nëse shkrimi bëhet në të njejtën kohë në të gjitha qarqet bistabile të regjistrit,
atëhere ai quhet bistabil paralel. Regjistri te i cili bihet impulsi në hyrjen e posaqme nëpër
një sekuenc të gjendjeve të caktuara quhet regjister numrues ose numrues. Numrusi i
numron në sistemin binar të numrave ose në sistemin dekadeve të koduara-binare ose
sipas ndonjë moduli m. Numrimi mund të jetë rritës, zvoglues ose rritës/zvoglues, kur
ne sinjal të posaqëm kontrollues përcaktohet numrimi rritës ose numrimi zvoglues.
Regjistri i cili mundet përmbatjen binare ta zhvendos djathtë ose majt quhet regjistër
zhvendosës(ang. Shift register). Ka hyrjen kontrolluese për zhvendosje majtë ose
djathtë, hyrjen serike dhe daljen serike ose paralele.

Regjistrat kontrollues(e kontrollit) të procesorit


Secili procesor posedon një numër të caktuar rë regjistrave që shërbejn për ruatje
të përkohshme të informacioneve për kontrollim. Këto regjistra quhen regjistra
kontrollues (fig.4.5) dhe në mënyrë të thukët janë spjegur në vitin e IIItë. Këtu do të
njihemi diçka më detajisht me funksionin e tyre.

Për vitin e IV-të elektroteknik i kompjuterëve 58


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Regjistri i adresave të kujtesës RA (Address Registers)– gjatë leximit nga


kujtesa ose të shkrimit në kujtes, adresa e lokacionit të kujtesës të cilës duhet pasur
shkruhet në regjistrin e posaqëm të procesorit i cili i cili quhet regjistër aderesues i
kujtesës (RA). Në bazë të adresës në regjistrin e adresave në qarqe të posaqme ndodhet
lokacioni i nevojshëm i kujtesës me të cilën asaj i qaset.
Regjistri pranues i kujtesës RP- Secila e dhënë e cila e cila duhet të regjistrohet
(shkruhet) në kujtesë duhet që së pari të vendoset në regjistrin e posaqëm të procesorit i
cili quhet regjister pranues kujtese(RP). Në të njejtë mënyrë, secila e dhënë e lexuar nga
kujtesa së pari dërgohet në regjistrin pranues nga ku më pas mund të përdoret.
Le të jetë dhënë adresa ad e lokacionit të kujtesës përmbatja e sëcilës duhet
lexuar. Procesi i leximit të kësaj përmbatje rrjedhë në kompjuter me renditje si në
vazhdim:
1)(RA):=ad- mirret adresa ad dhe shkruhet në regjistrin e adresave RA;
2) në bazë të përmbatjes së RA gjindet (selektohet) me ndimën e dekoderit
lokacioni përkatës në kujtes
3)(RP):=M[ad]-lexohet përmbatja e lokacionit të kujtesës dhe vendoset në
regjistrin pranues (RP). Në këtë rast përmbatja e mëparshme e tijë fshihet (shkatrohet),
ndërsa përmbatja e lokacionit nga i cili lexohet mbetet i njejt.
Nëse R është regjistër i procesorit përmatja e të cilit duhet të shkruhet në
lokacionin e kujtesë me adresë ad, procedura e shkrimit është si në vazhdim:
1) (RA):=ad- mirret adresa ad dhe shkruhet në RA;
2) (RP):=(R) – në regjistrin RP shkruhet përmbatja e regjistrit R;
3) në bazë të përmbatjes RA gjindet lokacioni përkatës;
4) M[ad] :=(RP) – shkruhet përmbatja RP në lokacionin e kujtesës me adresë
ad, dhe fshihet përmbatja e mëparme e këtijë lokacioni.
Numrues i instruksioneve (NI) - Në mënyrë që njësia kontrolluese, në çdo çast
të ketë informacionin mbi adresën e instruksionit të ardhëshëm (pasues) i cili duhet të

Për vitin e IV-të elektroteknik i kompjuterëve 59


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

ekzekutohet, është futur në përdorim edhe një regjister i posaqëm i procesorit,


numrues i instruksioneve (NI), numrues i urdhëresave ose numrues i programit(PC-
program counter) nganjiher quhet dhe tregues i instruksionit (ang instruction
pointer)
Para startimit të ekzekutimit të programit në numruesin e instruksioneve futet
(jepet) instruksioni i parë i programit, ndërsa pas thirrjes së secilit instruksion të
programit përmbatja e numruesit të instrusionit të programit rritet për 1, rrespektivisht
për gjatësin e instruksionit të thirrur. Pos kësaj, në fazën e ekzekutimit të instruksionit
numruesi i instruksioneve mund të mbushet me përmbatje të re të caktuar të ashtuquajtura
instruksione degëzuese.
Regjistri i instruksioneve (RI)-Në mënyrë që instruksioni të mund të kontrollojë
ekzekutimin e operacioneve, ai duhet të jetë e vendosur në njësinë kontrolluese të
procesorit. Për këtë qëllim është futur regjistri i posaqëm i cili quhet regjister i
instruksioneve (RI) ose regjister i urdhëresave. Thirrja e instruksinit aktual nga kujtesa
operati
ve dhe vendosja i tij në regjistër të instruksioneve zhvillohet në mënyrën si në vazhdim:
1) (RA):=(NI) – adresa e instruksionit të ardhëshëm nga NI dërgohet në RA;
2) në bazë të përmbatjes RA selektohet adresa në kujtesë në të cilën ndodhet
instruksioni;
3) (RP) :=M[RA] – lexohet përmbatja e lokacionit të selektuar dhe shkruhet në
RP;
4) (RI):=(RP) –Përmbatja e regjistrit pranues dërgohet në RI.

Akumulator (AK) - Të gjitha operacionet aritmetike dhe logjike, operacionet e


zhvendosjes dhe shumë operacione të tjera të makinës ekzekutohen me përdorimin e
regjistrit të posaqëm të procesorit i cili quhet akumulator (AK). Me rastin e ekzekutimit
të ndonjë operacioni në te ndodhet gjithëmon ndonjëri prej operandve dhe në te
gjithëmon vendoset rezulltati i fituar me rastin e ekzekutimit të atij operacioni. Në këtë
rastë përmbatja e vjetër e akumulatorit eliminohet (fshihet).
Procesi i ekzekutimt të operacioneve të makinës OP te kompjuterët njëadresësh
rrjedh në mënyrën si në vazhdim:
1) operandi i parë ndodhet në AK ku është vendosur me rastin e ekzekutimit të
ndonjë instruksioni të më hershëm.;
2) (RP) := M[A1] – lexohet operandi i dytë nga lokacioni i kujtesës me adresë
A1 (e cila më herët është vendosur në RA ) dhe vendoset në RP;
3) (AK) :=(AK) OP (RP) – Ezekutohet operacioni OP i definuar me
përmbatjen e regjistrit të instruksioneve dhe rezulltati i fituar vendoset në AK.

Regjistri i kushteve( regjistri i gjendjeve të kodit)- RK - Të gjithë


procesorët posedojnë një numër të konsiderueshëm të qarqeve bistabile të cilët
shërbejn për ruajtjen e kodeve kështëzuese ose kodeve të gjendjeve, të cilët
paraqesin informacione të fituara me rastin e ekzekutimit të opreracionit. Këto
qarqe bistabile rëndomt trajtohen si një regjister i procesorit i cili quhet regjistri i
kodeve të gjendjeve ose regjister kushtëzues (RK).

Për vitin e IV-të elektroteknik i kompjuterëve 60


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Secili bit i regjistrit RK quhet indikator i gjendjeve dhe vendoset në mënyrë


të pavarur nga idikatorët e tjerë, në harmoni (në pajtushmëri) me kushtet të cilat
i jep rezulltati i fjalës dalëse nga njësia aritmetiko-logjike, e cila shkruhet në
akumulator Kushtet më shpeshti të shfrytëzuar janë:
-përmabjtaja e AK zero (bit-i Z)
--përmbatja e AK negative (biti- N)
-përmbatja e AK pozitive (bit-i –P)
-ekziston bartja (biti C)
-është bë tejkalimi (bit-i V)
Përmbatja e regjistrit të kushtit RK përdoret në instruksionet degëzuese dhe
instruksionet e kapërcimit.
Regjistri i Indekseve XRi (ang.IR- Index register)- adresa sipas të cilës
gjindet edhëna në kujtesën operative për qëllim të ekzekutimit të ndonjë operacioni më së
shpeshti nuk është vetëm adresa në pjsesën adresuese të instruksioni por se llogaritet në
bazë të shumë të dhënave (detalisht për këtë problem në sesionin e adresimit). Njëra prej
të dhënave e cila përdoret gjatë adresimit ndodhet në grupën e regjistrave të cilët quhen
regjistra të idekseve (XRi)
Regjistrat bazë (RBi) -kjo është një grup e regjistrave të posaqëm të procesorit të
cilët përdoren për adresimin e lokacioneve të kujtesës operative. Mënyra e
shfrytëzimit(përdorimit ) të tyre është spjeguar në sesionin për adresime.
Treguesi i stekut (TS) (ang. Stack pointer-SP)- steku ose i magacina, paraqet
kujtesën e cila në kompjuterët bashkëkohor më së shpeshti realizohet në kujtesën
operative. Për këtë qëllim proceori duhet ta ketë një regjistër të posaqëm për punë me
stekun i cili quhet tregues i stek-ut ose pointer i stekut (TS- ang SP)
Në instruksionet e posaqme për lexim nga magacina dhe të shkrimit në
magagacin përmbatja e treguesit të magacinës ndërron automatikisht dhe rritet për 1 pas
leximit, dhe zvoglohet për 1 para shkrimit të përmbatjes së re në magacinë.

Regjistrat e imkrroprocesorit intel 8086


Mikrroprocesori i8086 ka 14 regjistra 16 bitësh, të ndarë në tre grupe nga 4 regjistra
dhe dy regjistra të posaqëm fig(4.6)
Grupet e regjistrave janë:
-regjistrat e të dhënave(Data registers) : AX, BX, CX dhe DX,
-Regjistra tregues dhe indeksues(ang. pointer and index registers) :SP, BP,
DI dhe SI(SP- stack ponter, BP-Base pointer, SI-source index, DI- destination Index)
-Regjistra segment (Segment Registers) : CS, DS, SS dhe ES (code, data,
stack, extra)

15 8 7 0 15 0

Për vitin e IV-të elektroteknik i kompjuterëve 61


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

C
AX AH AL S  
BX BH BL DS  
CX CH CL SS  
DX DH DL ES  
15 0
SP  
BP   15 0
DI   IP  
SI   FLAGS  
Fig. 4.6.-Regjistrat e miktoprocesorit intel 8086

Regjistri IP quhet treguesi i instruksionit (nga ang. IP- instruction pointer) dhe ky i
përgjigjet numruesit të instruksioneve te procesorët e tjerë. Regjistri i shenuar me
FLAGS është regjistër i kushteve dhe ky përmban indikator të cilët vendosen para
(gjatë) ekkzekutimit të operacioneve.
Regjistrat e të dhënave mund të trajtohen katër regjista 16-bitash ose si 8
regjistra 8-bitësh. Regjistrat 8 bitësh kan si germë të dytë shënimin simbolik H ose L,
Çka tregojnë bajtin e lart ose të ultë të regjistrit përkatës 16-bitësh. Regjistrat e të
dhënave janë regjistra për qëllime të përgjithshme, por te instrusionet e veçanta kanë
gjithmonë rrolë të caktuar, pra dhe në bazë të kësaj iu janë ndarë edhe emrat.
AX (akumulator) përdoret me rastin e shumëzimit të të dhënave 16 bitëshe,
pjestimit, gjatë ekzekutimit të operaconeve të hyrje/ daljeve, dhe të disa operacioneve
me të dhëna karakter (stringje). Funksion të ngjajshëm kanë regjistrat AL dhe AH kur
është fjala për bajtat. BX (regjistri bazë –ang. base register) përdoret më së shpeshti te
adresimi bazor – bartje(translate) . CX (regjistri numërues-ang count register)
shërbren si numrues i instruksoneve për përsëritje (cikle) ose gjatë punës me të dhëna
karakter. DX (regjistri i të dhënave-ang. data register) ka rrolin e akumulatorit ndimës
me rastin e shumëzimit të dhënave 16 bitshe dhe me rastin e pjestimit. Pos kësaj shpeshë
përdoret për ruatjen e adresave të regjistrit pranues gjatë bartëjeve të hyrje daljeve
idirekte .
Regjistrat tregues dhe indeks SP, BP, DI dhe SI janë regjistra adresues të
cilët përdoren për punë me adresa (për gjenerimin e adresës efektive të kujtesës). SP
është tregues i stekut, ndërsa BP, DI dhe SI mund të përdoren si regjistra bazë ose
regjistra indeks, në vartësi nga mënyra e adresimit. Pos kësaj, regjistri BP gjithashtu
mund të përdoret si regjister bazë ose indeks.
Për t’ju qasur të dhënave në segmentet me të dhëna, adresa e segmentit vendoset
në regjistrin segment të dhënave SS, ndërsa zhvendosja në njërin prej regjistrave BP,
SI ose DI. Gjat punës me stek adresa e segmentit të stekut është në regjistrin e segmentit
të stekut SS, ndërsa zhvendosja përkatëse në regjistrin SP. Sipas kësaj, SP( SP-Stack
Pointer –treguesi i stekut) ka rolin e treguesit të stekut. Regjistri BP (ang Base Pointer
–tregues i bazës) përdoret te shumica e operacioneve aritmetike. Me rastin e adresimit

Për vitin e IV-të elektroteknik i kompjuterëve 62


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

bazë-ideks, por si tregues shtesë(plotësues) për punë me të dhëna dhe steke. Regjistri
SI (ang Source Indeks –indeksi burim) është regjistër indeks i cili përdoret në
operacione të ndryshëme, ndërsa posaqërisht në operacionet me stringje, ku në këtë
rast tregon në lokacionin nga i cili duhet marrë të dhënat burim. Regjistri DI (ang DI-
destination Index- indeksi i cakut ) ka rrol të njejt si dhe SI, pos se DI tregon në
lokacionin në të cilin duhet shenuar rezulltati.
Në tabelën 4.1 jepen përdorimet themelore të të gjitha regjistrave:
Regjistri përdorimi
AX(AH +AL) - shumëzimi dhe pjestimi dybajtësh, fjalët e hyrje daljeve
AL shumëzimi një bajtësh, hyrja./dalja e bajtave, përkthimi,
aritmetika decimale.
AH shumëzimi dhe pjestimi njëbajtësh
BX krahasimi
CX operacionet me stringje, ciklet variabile, zhvendosja,
rotirimi(rrotullimi)
DX shumëzimi dhe pjestimi dybajtësh, hyrjet/daljet indirekte
SP operacionet me stekun (kujtesën magazinë)
SI operacione me stringje (vargje shenjash)
DI operacione me stringje
Treguesi i instruksionit IP ruan zhvendosjen i cili iu jepet përmbatjes të regjistrit
segment që të formohet adresa fizike e instruksionit i cili më pas duhet të ekzekutohet.
Regjistri i kushtit FLAGS përmban indikator të kushtit. në fig 4.7 është treguar
regjistri i kushtit dhe bitat e indikatorve.
Indikatori CF (ang.CF- carry Flag- indikator i bartjes) vendoset në 1 nëse
ekziston bartja gjat mbledhjes, rrespektivisht huazimi gjatë zbritjes. Përdoret gjithashtu
te operacioni i shumëzimit, operacioni krahasimit dhe gjatë ekzekutimit të operaconit të
zhvendosjes të ndonjë regjistri majtë djathtë ose rotirim.
Indikatori PF (ang PF- Parity Flag –indikatori i paritetit ) vendoset në 1 nëse
rezulltati i ndonjë opeeracioni përmban numrin çift të njisheve binare, përndryshe
vendoset në zero. Ky indikator ka të bëj në vlerat binare tetë bitëshe dhe më së shumti
përdoret me rastin e bartjes të të dhënave.

Për vitin e IV-të elektroteknik i kompjuterëve 63


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Indikatori AF (ang AF –Auxiliary Flags- indikatari ndimës i bartjes ) quhet


gjysëmbartës dhe përdoret te ekzekutimi i operacioneve me numrat dekad të koduar në
binar.
Indikatori ZF (nga ang. ZF –Zero Flag- indikatori zero) vendoset në 1 nëse
rezulltati i operacionit 0, përndryshe vendoset në 0.
Indikatori SF (ang SF-Sign Flag- indikatori i shenjës) përdoret me rastin e
punimit me numrat me shenjë. Nëse rezulltati i operacionit është jo i sakt, SF vendoset
në 1, përndryshe në 0.
Idikatori TF( ang TF-Trap Flag –indikator i kapjes ) përdoret gjatë
ekzekutimit të instruksioneve hap pas hapi. Nëse TF është i vendosur në 1
mikrroprocesori formon sinjalin për ndërprerje të brendshme pas secilit instruksion. Kjo
është e nevojshme kur programi testohet në gjuhën e makinës.
Indikatori IF (ang. IF- Interrupt Enable Flag-indikatori i lejimit të
ndërprerjes) përdoret për ndërpreje maskuse. Nëse IF është i vendosur në 1,
mikrroprocesori pranon ndërprerjen, përndryshe injoron kërkesën për ndërprerje. Ky
indikator nuk ka ndikim në ndërprerjet të pa maskueme, të cilat viejn nga linja NMI, si
dhe në ndërprerjet e brendshme. Ekziston instruksion i posaqëm për vendosjen ose
shlyerjen e këtij indikatori.
Indikatori DF (DF-Direction Flag- indikator i drejtimit) përdoret para së
gjithathave gjatë punës me vargje shenja (strig karakterësh). Nëse DF =1, përmbatja e
indeks regjistrit zvoglohet, nëse DF=0 kjo përmbatje rritet. Mundet të vendoset ose të
fshihet me instruksion të posaqëm
Indikatori OF (ang OF-OverFlow Flag indikator i tejkalimit) shërben për
sinjalizim të gabimeve te operacionet aritmetike. Nëse OF=1, ka domethënjen se ka
ardhur deri te tejkalimi me rastin e kryejes të ndonjë operaconi aritmetik
Indikatorët TF, IF dhe DF quhen indikator kontrollues, ndërsa të gjithë të
tjerët janë indikator të kushteve(gjendjeve).

Mikrroprocesori i80386 i 80486 dhe pentium kanë regjistra 32 bitësh të cilët


paraqesin zgjerim i regjistrave të mikrroprocesorit 8086, si dhe disa regjistra shtesë për
funksione të reja. Megjithat nga aspekti i programimit asembler të mikrroprocesorit të
familjes 80x86, ka shumë pak dallime në programimin në asembler.

Për vitin e IV-të elektroteknik i kompjuterëve 64


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Fig

Fig. Regjistri EFLAGS te IA32

Për vitin e IV-të elektroteknik i kompjuterëve 65


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Fig. Regjistrat e përgjithshëm në modin 64-bit (të pashëm nga aplikacioni i programerit)

Për vitin e IV-të elektroteknik i kompjuterëve 66


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

4.3 Njësia kontrolluese (drejtuese)


Njësia kontrolluese kryen dy funksione themelore:
a) përcaktimin e radhës së instruksioneve për ekzekutim dhe
b) dekodimin e instruksionit të zgjedhur, interpretimin e fushave të veçanta të
instruksionit dhe kontrollimin e ekzekutimit e operacionit me kod të caktuar të
operacionit të këtij instruksioni.
Njësia kontrolluese formon (gjeneron) sinjale kontrolluese për : për thirrjen e
instruksioni nga kujtesa operative, dekodimin e kodit të operacionit, formimin e
adresës së operandit, qasjen në kujtesën operative dhe bartjen e operandit në njësinë
aritmetiko logjike, ekzekutimin e operacionit në njësinë aritmetiko-logjike të paraparë
me kodin e instruksionit, bartjen e rezultatit të fituar në kujtesën operative,
inicializimin e punës bartjeve hyrje/dalje, organizimin e reaksioni të procesorit në
kërkesa të jashtme etj.
Rrol me rëndësi gjatë ekzekutimit të operacioneve ka radha e sinjaleve
kontrolluese në kohë. Për këtë flitet mbi takt-imin ose sinkronizimin e punës së
mikroprocesorit. Për sinjale kontrollues të caktuar dhe radha e ekzekutimit të tyre
përcaktohet dhe operacioni mbi të dhënat. Në këtë rast duhet të ekzistoj mundësia e
analizës së kushteve(indikatorëve të gjendjeve) në regjistrin e kushtit për qëllim të
degëzimit në procesin e ekzekutimit të operacioneve. Pos kësaj, për operacionet
aritmetike nga regjistri i kushteve përdoret biti i bartjes, biti i tejkalimit, biti dalës gjatë
zhvendosjes së përmbajtjes etj.

Sinjalet kontrolluese (udhëheqëse) të mikroprocesorit Intel 8086

Në fig 4.8 është treguar sinjali i mikroprocesorit intel 8086. Çipi i


Mikroprocesori i 8086 ka vetëm 40 pika kyçëse(kontakte-pina), Të multipleksuara janë
linjat ADO-AD14 për të dhëna dhe adresa. Gjithashtu dhe katër linjat me peshë më të
madhe A16-A19 janë të multipleksuara me sinjalet e gjendjeve S3-S6. Të dhënat lexohen
në kujtesë ose nga njësia periferike dhe shkruhen në kujtesë ose në njësinë periferike
përmes linjave AD1 –AD15. Informacioni për identifikim të pajisjes i cili vjen nga
kontrolleri i ndërprerjeve gjithashtu sjellet përmes të njëjtave linja. Funksionet të
sinjaleve të tjera në regjimin minimal të punës janë si në vazhdim:
- ALE- Sinjali i cili definon se a është në linjat e multipleksuara bajti i ultë i
informacionit të adresës
- BHE – sinjali i cili definon se lejon vendosjen e tetë bitëve të peshës më të
lart të të dhënës në magjistrale;
- CLK- takt sinjali hyrës (sinkronizues);
- DEN-leja për të dhëna në magjistralen e të dhënave;
- DT/R- Tregon kahen e bartjes të të dhënave në magjistrale; kah procesori ose
nga procesori;

Për vitin e IV-të elektroteknik i kompjuterëve 67


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

- HLDA-vërtetimi i çkyçjes(ndërprerjes) (pranimi i sinjalit HOLD, përgjigjja


e procesorit qendror në kërkesën për ç’kyçje nga magjistralja për qëllim të
qasjes direkt në kujtesë);
- HOLD- Kërkesa për çkyçje të procesorit nga magjistralja dhe kalimi në
gjendjen e tretë të qasjes direkte kujtesës.
- INTA-vërtetimi i pranimit të ndërprerjes (përgjigjja e procesorit qendror në
kërkesën për ndërprerje të ekzekutimit të programit aktual);
- INTR- sinjali i kërkesës për ndërprerje të maskuar.
- M/IO- sinjali i cili definon se a iu qaset kujtesës operative ose periferive
- MN/MX- sinjali i cili tregon se a po punon mikroprocesori në regjim minimal
apo maksimal;
- NMI-sinjali hyrës i kërkesës për ndërprerje të maskuar
- RD- tregon se në magjistrale rrjedhë cikli i leximit të dhënave nga kujtesa ose
periferia;
- READY- Sinjali nga kujtesa operative i cili tregon se ashtë e mundshme qasja
për qëllim të shkrimit ose leximit;
- RESET- sjellja e procesorit në gjendje fillestare;
- TEST – sinjal me cilin procesori shndërrohet në gjendjen e pritjes;
- WR- sinjali i cili tregon se në magjistrale rrjedhë cikli i shkrimit në kujtesë
ose në periferi;

Adresat /
të dhënat

Kontrollat
(udhëheqja)

Adresat /
kontrollat

kontrolla

Fig.4.8 Sinjalet e e mikrroprocesorit Intel 8086

Për vitin e IV-të elektroteknik i kompjuterëve 68


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Ndërprerjet sistemore të mikroprocesorit i8086

Mikroprocesori 8086 ka sistem të llojllojshëm të ndërprerjeve(interrupt-eve).


Varësisht prej asaj se çfarë është kërkesa për ndërprerje, ndërprerjet mund të ndahen në:
-ndërprerje të jashtme dhe
-ndërprerje të brendshme të cilat ndahen në
a) ndërprerje softuerike dhe
b) ndërprerjet të cilat i gjeneron procesori.
Gjatë pranimit të ndërprerjes procesori shkruan në stekë vlerën aktuale të regjistrit
FLAGS, CS dhe IP, vendos bitët e indikatorit IF dhe TF në 0 dhe lexon vlerat e reja
të regjistrit CS dhe IP. Adresat e programeve ndërpres (programeve për shërbim të
ndërprerjeve) ndodhen në tabelën e vektorit të ndërprerjeve(interrupt table) i cili merr
1Kb në pjesën e sipërme të kujtesës operative(RAM). Pas përfundimit të ndërprerjes së
programit procesori kthen nga steku vlerat e vjetra të regjistrit CS, IP dhe FLAGS dhe
vazhdon që ta ekzekutoj programin (e ndërprer) aktual.
Mikroprocesori i 8086 posedon sistem dyshkallësh të ndërprerjeve me dy linja të
kërkesës për ndërprerje: NMI dhe INTR. Kërkesat të cilat vijnë përmes linjës INTR
munden që me program të maskohen (të ashtuquajturat ndërprerje të maskuara). Kjo ka
domethënien se kur linja INTR është aktive, procesori pranon ndërprerjen varësisht nga
përmbajta e indikatorit IF në regjistrin e kushtit: nëse IF=1 procesori pranon kërkesën
për ndërprerje, dhe nëse IF=0 procesori injoron ndërprerjen. Me pranimin e ndërprerjes
procesori gjenëron sinjalin INTA( Nga ang. Interrupt Acknowledge- vërtetimi i
pranimit të ndërprerjes) me të cilin vërteton pranimin e ndërprerjes.
Përmes qarkut të posaçëm-kontrollori i ndërprerjeve, në të njëjtën linjë të
kërkesës për ndërprerje mund të lidhë më shumë pajisje. Pajisja e cila ka kërkuar
ndërprerje, pas lirimit të procesorit, vendos direkt ose me ndërmjetësimin e kontrollorit
të ndërprerjeve numrin tetë bitësh në magjistralen e të dhënave me të cilën pajisja
identifikohet. Kjo e dhënë quhet vektor i ndërprerjeve. Procesori shumëzon vektorin e
ndërprerjeve me 4 dhe kështu e fiton adresën në tabelën e vektorit të ndërprerjeve ku
ndodhet adresa fillestare e programit për shërbim të kërkesave të ndërprerjeve.
Ndërprerjet të cilat vijnë nga nëpërmjet linjës NMI të kërkesës për ndërprerje nuk
mund të maskohen. Kjo linjë shërben përdoret për sinjalizim të gabimeve katastrofave
(ndërprerja e tensionit furnizues, detektimi i gabimit etj.)
Ndërprerjet e brendshme mund të jenë softuerik ose ato i gjenoron në mënyrë
interno vetë procesori. Procesori gjeneron ndërprerje kontrolluese në rast të pjesëtimit me
zero, tejkalimit të kapacitetit të akumulatorit, te puna hap pas hapi (identifikatori
TF=1) dhe gjatë ndodhjes në pikën kontrolluese te eliminimi i gabimeve në program.

Për vitin e IV-të elektroteknik i kompjuterëve 69


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Ndërprerjet sistemore realizohen me instruksione të posaçme në program të formës


INT n.
Për kthim nga programi, programi i ndërprerë përdoret instruksioni i posaçëm IRET.
Gjatë ekzekutimit nga steku merret vlera e vjetër e regjistrit CS, IP dhe FLAGS

Qasja direkte në kujtesë- DMA


Qasja direkte në kujtesë shërben për bartje të shpejt ndërmjet kujtesës operative
dhe pajisjeve hyrëse dalëse, pa pjesëmarrjen e mikroprocesorit. DMA bartjen e
kontrollon qarku i posaçëm- DMA kontrolleri (shih fig 1.3). Te mikroprocesori i8086
kjo bartje zhvillohet në mënyrën si në vazhdim.
Para fillimit të bartjes procesori inicializon kontrollerin DMA kështu që ia
kumton të dhënat si në vazhdim:
-operacionin e shkrimit në kujtesë ose të leximit në kujtesë,
-numrin e bajtëve të cilët duhet bart,
-adresën fillestare bartëse të kujtesës.
Sekuenca kohore e zhvillimit të bartjes DMA është si në vazhdim:
1) Kontrolleri DMA i dërgo
2) n procesorit në linjën HOLD kërkesën për lirimin e magjistrales,
respektivisht për qasje direkte në kujtesë.;
3) Kur ta pranoj kërkesën për DMA, procesori çkyqet nga magjistralja dhe
vendos sinjalin HOLD-ë me të cilin vërteton se është pranuar (miratuar)
kërkesa për DMA;
4) Kontrolleri DMA merr kontrollin mbi magjistralen ashtu që vendos adresën e
lokacionit të kujtesës në adresën e magjistrales dhe i kontrollon me sinjalet
MEMR dhe IOR (te bartja nga kujtesa operative), respektivisht MEMW
dhe IOW (te bartja në kujtesën operative);
5) Me përfundimin e bartjes kontrolleri DMA e rrëzon sinjalin HOLD, d.m.th.
e vendosë në vlerën 0, të cilën e zbulon mikroprocesori, i cili e rrëzon
sinjalin HOLD duke i dhënë sinjal(shenjë) që sërish ta merr kontrollin mbi
magjistrale.

4.4. Instruksionet dhe ekzekutimi i tyre


Kompjuteri është i konstruktuar ashtu që mundet në mënyrë direkte në procesesor
ti kryej vetëm një numër të caktuar të operacioneve të thjeshta të cilat quhen operacione
makine. Krahas opercionev aritmetike dhe logjike, operacionet tipike të cilat kompjuteri
i kryen është bartja (p.sh. bartja nga procesori qendror në kujtesën operative dhe
anasjelltas), leximin e të dhënave nga hyrja ose dërgimin e të dhënave në dalje etj.
Shprehja i cila përcakton operacionin e makinës dhe vlerat ose vendin e
operandëve mbi të cilit operaconi duhet të kryhet quhet instruksion ose urdhër makine.
Instruksioni paraqet kod i cili përcakton operacionin dhe të dhënat të cilat marrin pjesë në

Për vitin e IV-të elektroteknik i kompjuterëve 70


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

në atë operacion, d.m.th. përmban informacionet e nevojshme për kontrollimin e


ekzekutimit të një operacioni. Instruksioni duhet ti përmbaj informacionet si në vazhdim:
1) kodin e operacionit i cili duhet të ekzekutohet;
2) informacionin mbi operandët mbi të cilët kryhet operacioni;
3) adresën në të cilën duhet vendoset rezulltati i operacionit të zbatuar;
4) informacionin mbi operacionin e ardhëshëm në të cilin duhet kaloj pas
kryerjes së operacionit aktual.
Zgjidhja e ndonjë problemi me ndimën e kompjuterit konsiston në zbatimin e një
varg të operacioneve të cilët ekzekutohen sipas një renditje të parapar. Programi për
kompjuterin, të cilin më tutje do ta quajm program makine (kod makine) ose shkurt
program, paraqet varg (sekuenca) instruksionesh të cilat i kumtojnë kompjuterit, hap
pas hapi, si të zgjidhë ndonjë problem, përfshir këtu dhe vendimarrjet gjatë ekzekutimit
të vetë pogrmit.

Mikrroinstrusionet
Ekzekutimi i instruksioneve mund të ndahet në etapa më të vogla të thjeshta të
cilat quhen mikrropunë ose mikrrooperacione. Këto në procesor ekzekutohen në një takt
interval të caktuar elementare pune. Shembull tipik i punës elementare e cila kryhet në
procesor paraqet bartja e përmbatjes nga një regjistër i procesorit në tjetrin kryerja e
operacioneve matematikore mbi operandët etj.. Bashkësia e mikrroinstruksioneve të cilat
ekzekutohen në një takt inteval të procesorit quhet mikrroinstruksion. Sekuencat e
mikrroperacioneve me të cilat realizohet operacioni (d.m.th. instruksioni) formojnë
mikrroprogramin(miikrrodin) e operacionit. Si pas kësaj ekziston këto hierarki etapash të
ekzekutimit të programit në procesor: Programi, Instruksioni (mikrroprogram ose
mikkrokod), mikrroinstruksione

Mikrrokodi
Siç ke thënë instruksioni i “fletë” procesorit se çka duhet punoj. Që të mund të
ekzekutohet instruksioni shpesh duhet ti kryen shumë hapa. Për këtë në esencë
instruksioni është një listë hapash. Këta bashkësi instruksionesh dhe hapash përbëjnë
mikrrokodin. Mikrrokodi programerëve u shëreben të shkruajnë programe të kompjuterit
të nivelit të ultë(low-level), që kryejnë operacione siç janë p.sh bartjen e të dhënave në
regjistër dhe nga regjistrat dhe kryrjen e operacioneve matematikore mbi të dhënat.
Secili prodhues për procesorët e vetë zhvillon mikrrokodin e lehtët/ apo të
përbërbër varsisht prej kërkesave që iu parshtrohen sistemit që çipi do ti ve në lëvizje.
Në shkrimin e mikrrokodit ekziston dhe kompromisi: sa më i gjërë që të jetë bashkësia e
instruksionve , më lehtë do të shkruhen programet për procesor , megjithat sa më të gjera
të jenë bashkësia e instruksioneve, performansat janë më të dobta. Kontrollimi i këtyre
hapave praqet divergjencat më të mëdha në projektimin e mikrroprocesorit
Rritja e përhershme e taktit të mikrroprocesorit ka dhe efekte negative.
Vështërson punën qarqeve të kompjuterit dhe me këtë shtrejton projektimin dhe
prodhimin. Për këtë arsyeje shumë energji është hargjuar në zhvillimin e procesorit,
shpejtësia e të cilit rrirë dhe përpunimin e numrit më të madhë të instruksioneve në taktin

Për vitin e IV-të elektroteknik i kompjuterëve 71


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

e dhënë, e jo me rritjen e taktit. D.m.th performancat e procesorit përmisohen për shkak


të efikasitetit e jo me rritjen e taktit.
Njëra prej mënyra të rritjes të efikasitetit është zvoglimi i numrit të hapave të
nevojshëm për ekzekutim të programit. Ekzistojn dy mënyra se si kjo të arrihet:
 kombinimin e hapave në numër më të vogël të instruksioneve
komplekse
 thjeshtimin e instruksioneve, ashtu që për ekzekutimin e tyre të jetë
i nevojshëm numër më i vogël i hapave.
Ingjinjerët që mirren me zhvillimin e mikrroprocesorve i kanë ndjekur të dyja
idetë. Të paratë kanë prodhuar kompjuterët me bashkësi komplekse të
instruksionev(CISK) ndërsa të dytë kompjuterë me bashkësi të reduktuar të
instruksioneve(RISK)

Për vitin e IV-të elektroteknik i kompjuterëve 72


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Formati i instruksionit të mikrroprocesorit 8086


Gjatësia e instruksionit, d.m.th. numri i nevojshëm i bajatave për shkrimin e një
instruksioni makine, te mikrroprocesori i8086 është prej 1 deri 6 bajta. Te shumica e
instruksionev kodi i operacionit ndodhet në bajtin e parë. Në pjesën e adresës së
instruksionit, nëse ekziston, mund të ekzistojnë një, dy ose tre adresa.
Mikrroprocesori i8086 ka këto formate të instruksionit (fig 4.9):
a1) instruksion një bajtësh kur vendi i operandit nënkuptohet,
a2) instruksioni njëbajtësh me regjistrin si operand,
b) instruksionin dy bajtësh të tipit regjistër/kujtesë në/nga regjistri pa zhvendosje,
c) instruksioni trebajtësh të tipit operandi drejtëpërdrejt në regjister,
d) instruksionin katër bajtësh të tipit regjistër/kujtesë në/nga regjistri me
zhvendosje,
e) instruksioni gjashtë bajtësh të tipit operand i drejtëpërdrejt në kujtesë
Shumica e instruksioneve në kuadër të kodit të operacionit përmbajnë shenja
simbolike shtesë W dhe S për dy bitat me të cilët jepen informacione shtesë në atë
instruksion. Bajti
mod reg r/m
Quhet bajt-i i mënyrës së adresimit dhe shërben për shkrim të operandit në
mënyrën si në vazhdim: pjesa reg (3bita) paraqet adresën e regjistrit të procesorit sipas
tabelës 4.2 (përcaktohet regjistri në të cilët ndodhet operandi cak ). Pjesët Mod (2 bita)
dhe r/m (3 bita) përcaktojn se cilat regjistra përdoren për mënyrat e veçanta të adresimit
sipas Tabelës 4.3. Ku në këtë rastë mod përcakton si shfrytëzohen fushat r/m gjatë
caktimit vendit të operandit (r/m mund të përmbaj emrin e regjistrit, ku ndodhet
operandi ose përshkrimin e mënyrës së adresimit në kombinim me fushën mod).
a1) a2)
OP OP reg
a) Fomatet një bajtësh LS-Data- Bajti i ulët i të
dhënës
OP Mod reg r/m
MS-Data –Bajti i lartë i të
dhënës
b)Foramti dy bajtësh LS-disp- Bajti i ulët i
zhvendosjes
OP LS-data MS-Data MS-disp- Bajti i lartë i
zhvendosjes

c)Formati trebajtësh
OP Mod reg r/m LS-disp MS-data
d) formati katërbajtësh
OP Mod reg r/m LS-Disp MS-disp LS-Data MS-data
f) formati gjasht bajtësh
Fig.4.9 Formatet e instruksionit të mikrroprocesorit intel 8086

Për vitin e IV-të elektroteknik i kompjuterëve 73


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Tabela 4.2 reg adresimi i regjistrave të procesorit i8086


Adresa e Regjistri Adresa e Regjistri
Regjistrit W=1 W=0 regjistrit Segment
(reg)
000 AX AL 00 ES
001 CX CL 01 CS
010 DX DL 10 SS
011 BX BL 11 DS
100 SP AH
101 BP CH
110 SI DH
111 DI BH

Tabela 4.2a -reg adresimi i regjistrave të procesorit i80x86


reg W=0 Modi 16 bit Modi 32 bit
W=1 W=1
000 AL AX EAX
001 CL CX ECX
010 DL DX EDX
011 BL BX EBX
100 AH SP ESP
101 CH BP EBP
110 DH SI ESP
111 BH DI EDI
Tabela 4.3.-Mënyra të adresimit në vartësi prej fushës mod dhe r/m

Mod
11
r/m 00 01 10 W=0 W=1
(BX)+(SI) (BX)+(SI)+D8 (BX)+(SI)+D16
000 AL AX
DS DS DS
(BX)+DI) (BX)+(DI)+D8 (BX)+(DI)+D16
001 CL CX
DS DS DS
(BP)+(SI) (BP)+(SI)+D8 (BP)+(SI)+D16
010 DL DX
SS SS SS
(BP)+DI) (BP)+(DI)+D8 (BP)+(DI)+D16
011 BL BX
SS SS SS
(SI) (SI)+D8 (SI)+D16
100 AH SP
DS DS DS
(DI) (DI)+D8 (DI)+D16
101 CH BP
DS DS DS
D16 (BP )+D8 (BP)+D16
110 DH SI
DS SS SS

Për vitin e IV-të elektroteknik i kompjuterëve 74


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

(BX) (BX)+D8 (BX)+D16


111 BH DI
DS DS DS

Formati i përgjithshëm i instruksionit te IA32


All IA-32 instruction encodings are subsets of the format shown in Figure 2-1. Instructions
consist of optional instruction prefixes (in any order), primary opcode bytes of up to three
opcode bytes, an addressing-form specifier (if required) consisting of the ModR/M byte and
sometimes the SIB (Scale-Index-Base) byte, a displacement (if required), and an immediate data
field (if required).

Cikli i ekzekutimit të instruksionit


Me nocion ekzekutimi i instruksionit nënkuptohet procesi i kryerjes së
operacioneve të dhëna me atë instruksion. Instruksioni i cili duhet të ekzekutohet është e
vendosur në kujtesën operative ndërsa adresa e sajë ndodhet në numrusin e adreseve NI.
Që të mund të kontrollohet kryerja e operacioneve, nevojitet që ajo të mirret nga kujtesa
operative dhe të thirret në regjistrin e instruksionit RI.
Funksionimi i secilit procesor kryesisht përbëhet prej përsëritjes ciklike të procesit
të ekzekutimit të instruksionit.
Procesori ekzekuton instruksionet e programit pandërprer duke i ndrruar dy fazat
si në vazhdim:

Funksionimi i secilit procesor kryesisht përbëhet nga ciklet i përsëritjes të


ekzekutimit të instruksioneve. Procesori ekzekuton instruksione të programit pandëprerë
duke ndryshuar dy fazat në vijim:
1. fazën e pregaditjes ose thirjen e instruksionit;
2. fazën e ekzekutimit të instruksionit.
Faza e pregaditjes i paraprin fazës së ekzekutimit dhe këto në mënyrë ciklike
ndryshojnë. Në fazën e pregaditjes lexohet instruksioni nga kujtesa dhe bartet në
regjistrin e instruksionit të procesorit, ndërsa në fazën e ekzekutimit kryhet
operacioni i përcaktuar me instruksioni e thirrur.
:

Për vitin e IV-të elektroteknik i kompjuterëve 75


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Faza e pregaditjes ( thirjes) së instruksionit


Instrukioni i cili duhet të ekzekutohet është i vendosur në kujtesën operative
ndërsa adresa e tijë ndodhet në numrusin e instruksioneve NI. Që kjo të mund të
kontrollohet me ekzekutimin e instruksionit, nevojitet të thirret në regjistrin e
instrusionit RI. Faza e pregaditjes (thirrjes) së instruksionit zhvillohet në mënyrën si
në vazhdim.
1) (RA):=(NI)- Përmbatja numruesit të instruksionit (d.m.th. adresa e
instruksionit të cilën duhet ekzekutuar dërgohet në regjistrin adresues RA;
2) në bazë të përmbatjes RA përmes të qarkut për dekodim gjindet lokacioni në
kujtesë;
3) (RP):=M[RA] – lexohet përmbatja e lokacionit të gjetur dhe shkruhet në
regjistrin pranues RP;
4) (RI):=(RP) –përmbatja RP dërgohet në regjistrin e instruksioneve RI, nga
ku instruksioni kontrollon(udhëheq) kryerjen e operacionit i cili në të
përmbahet;
5) llogaritet adresa e të dhënës e cila përpunohet, e ashtuquajtura ekzekutuese
ose adresa efektive dhe vendoset në regjistrin e adresave RA;
6) (NI) := (NI)+L – rritet përmbatja e numruesit të instruksioneve për gjatësin e
instruksionit të thirrurr L; me këtë pikrisht në fund të fazës të pregaditjes
fitohet adresa e instruksionit të tjetër për ekzekutim;
7) kalohet në fazën e ekzekutimit të instruksionit
Faza e ekzekutimit të operacionit (instruksionit )
Derisa faza pregaditore e instruksionit është e përgjithshme për të gjitha
instruksionet, faza e ekzekutimit zhvillohet në mënyrë specifike për një ose grup
instruksionesh.
Faza e ekzekutimit për shumicën e instruksioneve përbëhet zakonisht prej
nënfazave si në vazhdim.
1) marrjen (thirrjen, leximin) e operandit nga kujtesa operative
2) kryerjen e operacionit në njësin aritmetiko-logjike;
3) vendosjen e rezulltit të fituar në akumulator, ose ndonjë regjistër tjetër të
procesorit, ose në lokacion të caktuar të kujtesës operative.

Arkitektura CISC dhe RISC


Mënyra e përshkruar e pregaditjes dhe ekzeutimit të programit është karakteristikë
për gjithë procesorët ekzistues dhe quhet arkitektura Fon Nojman-it (Von Neomann),
sipas autorit i cili ka dhënë propozimin të kësaj mënyre të realizimit të kompjuterit
d.m.th. kompjuter me program të rujtur në kujtesën operative. Janë realizuar bashkësi
(grup) instruksionesh të cilat përmbajn më shumë se dhjetra dhe bile disa qindra
instruksione të ndryshme. Karakteristika kryesore e shumicës së instruksioneve është
ekzekutimi (kryerja) e operacioneve mbi operandët nga të cilët njëri më së shpeshti thirret
nga kujtesa operative ndërsa tjetri nga akumulatori. Për këtë arsye, për shumicën e
instruksioneve nevojitet një cikël i kujtesës për thirrje të operandit. Kompjutert me këtë
llojë realizimi, të bashkësisë së instruksioneve, në ditët e sotme quhen kompjutert –

Për vitin e IV-të elektroteknik i kompjuterëve 76


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

CISC (CISC –complex instruction Set Computers), rrespektivisht kompjuter me


bashkësi komplekse të instruksioneve. Instruksionet më së shpeshti realizohen me
mikrroprogram(mikrrokod).
Mikrroprocesori mikrrokodi i të cililit mbështet në kombinimin e hapave në
numër më të vogël të instruksioneve komplekse. Në dizajnin CISK i një instruksion
kompleks mund të kryen punën të disa instruksioneve të thjeshta. Instruksionit kompleks
i duhet më shumë kohë të ekzekutohet se atij të thjeshtë, por programit i duhen më pakë
instruksione dhe për këtë sistemi do të punoj më shpejtë. Pos shpejtësisë së madhe dizajni
CISK ofron dhe operacione të pasura duke i ofrur sistemit CISK mundsi të kalkulimeve
të ndërlikuara. Nuk është jo e zakonshme nëse sistemi CISK i tavolinës të ketë shta ose
tetë komanda për zbritje.
Viteve të fundit shumica e procesorve realizohen sipas një arkitekture diçka më
ndryshe, arkitektur të modifikuar, ndërsa realizimi i kompjutert quhet Procesor
RISC ose Kompjuter RISK (Ang. RISC –Reduced Instruction set Computers) ),
rrespektivisht kompjuter me bashkësi të reduktuar instruksionesh.
Le të japin një spjegim të thukët historografisë dhe krakteristikave të kompjuterëve RISK
Në fillim të viteve 80 të shek. të kaluar janë publikuar informacionet e para i
kërkimit të arkitekturës qëllimi i së cilës ka qenë rritja e efikasitetit të ekzekutimit të
programit. Ky problem kishte filluar që të studjohet qysh në gjysmën e dytë të viteve 70 –
ta në disa firma të njohura botërore që prodhonin kompjuter.
Në atë kohë tentohej rritja e numrit totalë të instruksioneve dhe kompozimin e
tyre, përkët arsye është vu temi CISK. Realizimi i instruksioneve komplekse si pasoj ka
rritë nevojën e rritjes dhe numrin e nevoshëm të takt intevaleve themelore, ndërsa dhe
ka kërkuar diçka taktin më të gjatë se takti i nevoshëm për realizimin e instruksionev të
thjeshta. Nga ana tjetër, analizat e programeve të shfrytëzuara kanë treguar se pjesa më
e madhe e kohës për ekzekutimin e programit është hargjuar në një numër shumë të vogël
i instruksioneve të thjeshta. Edhe pse për klasë të ndryshëme të problemeve bashkësia e
instruksioneve të shfrytëzuara mund të ndryshoj, është vërtetuar(nga John Cocke) këto
rregulla të përgjithshme të cilat janë quajtur rregulla 80:20.
“mbi 80% të kohës së ekzekuimit te cili do program hargjohet në ekzekutimin e
instruksioneve numri të cilave nuk e kalon 20% të numrit total të instruksioneve të
procesorit”
Procesorët –RISC karakterizohen me krakteristikat themelore si në vijim:
- ekzekutimin e numrit më të madhë të instruksionev për vetëm një takt impuls ;
-shumica e instruksioneve përpunojn të dhëna nga regjistrat e procesorit dhe
vendosin rezulltatet në këto regjistra;

-të drejtuarit(qasja) në kujtesë bëhet vetëm me instruksionet LOAD- bartja e


përmbatjes së lokacionit të kujtesës në Procesor dhe STORE- bartja e përmbatjes së
akumulatorit ose ndonjë regjistri tjetër të procesorit në kujtesën operative, si dhe
instruksionet e degëzimit dhe të kalimit në nënprograme.
Ekziston numër i vogël i mënyrave të ndryshme të adresimit:
-formati i instruksionit është relativisht i thjesht dhe Fiks;
-mundësis të përpunimit tuabcion(pipeline) të instuksionit;

Për vitin e IV-të elektroteknik i kompjuterëve 77


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

-numër i madhë i regjistrave në procesor.


Në ditë e sotme dominon mikrroprocesori me arkitektrur CISK. Arsyeja është ramja e
çmimit të hardwerit, që ka shkaktuar shtimin e një numri të madhë të instruksioneve
në arkitekturën e kompjuterit për çmim shumë të ultë. Në të vërtet prodhusit CISK
janë bërë aq efikasë që për shumë zbatime praktike përparsija e RISK ka humbë.
Në ditë e sotme dallimi efektiv ndërmjet sistemit RISK dhe CISK qëndron në ate
që shmica e sistemeve CISK punojnë nën sistemin operativë Windows ndërsa
shumica e sistemeve CISK punojnë në UNIX. Bile edhe ky dallim është më shumë
nga tradita se sa dizajni hardwerik. Me futjen e masovike të sistemeve operative në
përdorim dallimi ndërmjet CISK dhe RISK filloi të humbë.

Mënyra e dytë e rritjes së shpejtësis të procesorit

Pipelining
Mikrroprocesorët kryesisht kanë punuar me një instruksion në të njejtën kohë.
Mikrroprocesori një instruksion e ka lexuar nga kujtesa operative , dhe sipas rradhës ka
ekzekutuar secilin hap, dhe më pasë ka lexuar instruksinin tjetër. Dizajni pipelinig i
mundëson procesorit të lexoj instruksionin, të fillon procesimin dhe posa të fillon
procesimin e instruksionit të parë, fillon të tjetrën. Pasi instruksioni kërkon më shumë
hapa që kryhen në pjesë të ndryshme të mikrroprocesorit , pipeling i mundëson procesorit
punë në të njejtën kohë me shumë instruksione. Instruksionet nëpër çip kalojnë sikur
automjtet në shiritat e hallave prodhuse.
Përderisa secili instruksion i ekzekuton hapat që hargjojnë resurse nga pjesë të
ndryshme të procesorit hapat do të ekzekutohen pa problem. Megjithat , vargje të
ndryshme të instruksioneve duhet me kujdesë të kordinohen. Nëse një hap nuk ka suksesë
, ose vonohet do pësojnë të gjitha instruksionet në pipeling.
Pentiumi i intelit është një shembull i pielingut. Këta procesor kanë katër nivele të
pipelingut, çka ka kuptimin që në të njejtën kohë mund të ekzekutojnë katër instruksione
të ndryshme.
Arkitektura superskalare
Hapat e instruksioneve s’është e thanun të kryhen sipas rradhës së futur në
program. Disa hapa mund të kryhen në të njejtën kohë> Mikrroprocesorët superskalar
mundësojnë këte të bëhet . Ky mundet në të njetën kohë ti proceson më shumë hapa , pasi
ka shumë pipeline, rrugë ekzekutuse. Megjithat , këta rrugë ekzekutuse paralele nuk janë
të vetmet për zbatim të sukseshëm të dizajnit superskalar. Mikrroprocesori, gjithashtu
duhet të përcaktoj se cilat instruksione mund të ndahen dhe të mos prishet rezulltati, si
dhe mënyrën se si të ndahen. Emri superskalar rrjedhë nga fakti që ky dizajnë siguron më
shumë rritja inkrementale lineare e shpejtësisë, që arrihet me mjetet tradicionale të
zvoglimit, ose thjeshtimit të qarqeve të mikrroprocesorike. Më herët shpejtësia e
mikrroprocesorit është rritur me zvoglimin e qaqerqeve mikkroprocesorike rrespektivisht
zvoglimin e rrugve të cilat sinjalet elektrike kalojnë nëpër procesor. Nga ana tjetër
dukshëm përmirson performancat e procesori me rritjen ose superskalaritetin e qarqeve
mikrroprocesorike.

Për vitin e IV-të elektroteknik i kompjuterëve 78


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Të dy dizajnet – pipeling dhe superskalar –kërkojnë më shumë cikluse për


ekzekutim të një instruksioni. Ndërsa në të vërtet shumica e mikrroprocesorve çofshin
RISK ose CISK instruksioni e ekzekutojnë për më pak se një ciklus.

Ekzekutimi Pipeline i instruksioneve


Në vendë të relizimit të ekzekutimit ciklus të instruksioneve në vetëm dy faza,
procesorët bashkëkohor instruksionin e ekzekutojn në pesë hapa themelor me përputhje
kohore të ekzekutimit të tyre në pesë elemente procesike të posaqme të cilët në të njetën
kohë përpunojnë pjesë të veçanta të instruksionit (e ashtuquajtura përpunimi pipeline i
instruksioni) fig 4.10):
1) pregaditja e instruksionit (thirrja e instruksioni);
2) dekodimi i instruksionit/ thirrja e përmbatjes së regjistrit;
3) ekzekutimi i instruksionit / llogaritja e adresës efektive;
4) qasja kujtesës/ kompletimi i degzimit;
5) shkrimi i rezulltatit.
Kjo mënyrë e përpunimit pipeline është karakteristik për arkitekturën CISK.
Për arkitekturën RISK kjo është diçka më ndryshe.
Përpunimi pipeline praktikisht përdoret te realizimi i operacioneve aritmetike.
Cikli punues përfundon me vërtetimin e ekzekutimit të kërkesës së maskuar për
ndërprerje. Nëse ajo ekziston, del nga cikli normal i punës dhe kalon në përpunimin e
kërkesës për ndërprerje.

Për vitin e IV-të elektroteknik i kompjuterëve 79


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

fillimi

Thirrja e instruksionit nga kujtesa operative dhe formimi i adresës së instruksionit tjetër

Dekodimi i instruksionit

Llogaritja e adresës ekzekutuese të operandit

Thirrja e operandit nga kujtesa operative

Ekzekutimi i operacionit në njësinë aritmetiko logjike dhe shkrimi i rezulltatit

Po
Kërkesa për ndërprerje

Përpuni i kërkesës
për përpunim
Fig 4.10 Cikli punues i procesorit

Rritja e shpejtësisë së punës të procesorit arrihet me ekzekutimin e etapave të


dhëna të cikleve punuese të përputhur në kohë. Në këtë rast procesori duhet të ketë aq
elemente procesike sa dhe i punon ato në regjimin pipeline. atëhere në të njejtën kohë në
etapa të ndryshme të përpunimit ndodhen shumë instruksione

Për vitin e IV-të elektroteknik i kompjuterëve 80


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

4.5. Mënyrat e adresimit


Secila e dhënë e cila ruhet në ndonjë lokacion të kujtesës operartive (kryesore,
themelore) mund të identifikohet me dhënjën e adresës të atij lokacioni. Me instruksionet
e programit mund të definohen operacionet mbi të dhëna të cilat ndodhen në kujtesën
operative ose në ndonjë regjistër të procesorit qendror. Për këtë arësye në instruksione
përmbahen dhe informacionet mbi adresat e operandëve ose komponente të veçanta të
adresave. Në bazë të këtyre informacioneve procesori i gjenë vetë operandët.
Tek të gjithë kompjuterët e kohës (bashkëkohor) pjesa adresuese e instruksionit
më së shpeshti nuk prezenton adresën e vërtetë sipas të cilës gjinden të dhënat në kujtesë,
por të vetëm një komponente për formimin e kësaj adrese. Adresa e vërtet sipas të cilës
bëhet të drejtuarit e vërtet në kujtesë, d.m.th. adresa fizike e të dhënave në kujtesën
operative, formohet në bazë të shumë komponenteve dhe quhet adresë efektive ose
adresa ekzekutive.
Për formimin e adresës efektive përdoren sisteme adresues të posaqëm në
procesor. Procedura e përcaktimit të adresës efektive në bazë të informacioneve adresues,
quhet mënyra të adresimit ose metoda adresimi.

Formimi i adresës efektive


Tentimi që të zvoglohet gjatësia e instruksionit, a me këtë dhe brezi i kujtesës
operative të nevoshjëm për ruatjen e programit, si dhe të krijohen kushte për programimi
konform(të rahatshëm), ka shpie deri te shumë mënyra të ndryshëme të adresimit të
cilat përmbajnë algoritme të ndryshëm për modifikim dhe interpretim të pjesës adresuese
të instruksionit për qëllim të formimit të adresës efektive (ekzekutuse).
Në fig 4.11 është dhënë rasti i përgjishëm i formimit të adresës efektive të
operandit. Biteve në fushën e modifikatorit M (ose rrallë të vetë kodit të operaconit)
definon mënyrën e formimit të adresës efektive në njësin aritmetike të adreave. Sinjalet
kontrollues të cilët gjenerohen në bazë të përmbatjes të fushës M lejon ose ndalon të
dhënave nga regjistra të ndryshëm të procesorit të marrin pjesë në formimin e adresës
efektive.
Sistemi adresues është i zhvilluar posaqërisht te mikrrokompjuterët. Tek këto
problem paraqet gjatësia e vogël e instruksionit pasi në pjesën adresuese të instruksionit
mund të adresohen një numër i vogël i lokacioneve në kujtesë. Ky problem me suksesë
zgjidhet me futjen e metodave të ndryshme të adresimit.

Për vitin e IV-të elektroteknik i kompjuterëve 81


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Metoda e adresimit e cila në ndonjë instruksion shfrytëzohet për formimin e


adresës efektive specifikohet në instruksion më së shpeshti në fushën e posaqme të
identifikatorit M i cili zakonisht përmban 2 ose 3 pozicione binare. Si dhe te formimi i
adresës efektive të operandit shpesh mund të merrë pjesë edhe ndonjëri prej regjistrave të
procesorit qendror, kjo është e nevojshme të jepet në instruksion dhe në adresën e të atij
regjistri. Kështu që instruksioni duhet të ketë formatin e përgjishëm si në vazhdim:
OP M R ad
ku janë:
OP –shënimi simbolik i operacionit;
M –modifikatori;
R –adresa ose shenimi i regjistit në mikrroprocesor, dhe
ad - pjesa adresuese e instruksionit.

Adresimi implicit- në instruksionet nga adresat implicite operendi nuk është i


specifikuar në mënyrë eksplicite në pjesën adresus të instruksionit, por se adresa e tij
nënkuptohet dhe është e përcaktuar me kodin e operacionit. P.sh akumulatori shpesh
adresohet në mënyrë implicite si një regjistër në të cilin ndodhet një operand.
Adresimi i drejtëpërdrejt (ang. Immediate -pavones-përnjëher)- Në rastë se
përdoret një konstant( ose literal) si një operand atëhere kjo mund të specifikohet si pjesë
e vetë instruksionit. Pra nëse pjesa e adresës së instruksionit nuk paraqet adresën e
operandit, por vetë operandin, atëhere thuhet se ky është oprand i drejtëpërdrejt ndërsa
metoda e adresimit quhet adresim i drejtëpërdrejt. Fusha e operandit mund të mbaj
konstanata nëse edhe është e mjaftushme për prezentim të tyre(shih fig..a). P.sh Nëse
fusha( pjesa) e operandit 10 bita atëhere kjo mund ti mbaj konstanatat me shenja në
segmentin < -512,. . . +512> me përdorim të shenimit të madhësis dhe shenjës. Në rastin
kur konstanta që mund të mbahet në fushën(pjesën) e operanfit , fjala ose bajti e

Për vitin e IV-të elektroteknik i kompjuterëve 82


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

përcjellin instruksion në kujtesësn operative për ta mbajtur operandin e


drejtëpërdrejt( fig..b)

Regjistri i instuksionit RI

opcode ...
Opernd
(a)

Regjistri i instuksionit RI Instruksioni


IL

opcode . ... operandi IL+1

Kod special nëse operandi duhe të mbahet në ndonjë falë tjetër

Kujtes operative
(b)

Fig -adresimi i drejtëpërdrejt (immediate)

Adresa për qasje të operandit të drejtëpërdrejt mirret prej numrusit të


instruksionit. Operandi i drejtëpërdrejt paraqet konstant e cila përdoret në instruksion.

Adresimi direkt- tek adresimi direkt për qasje(të drejtuarit) në kujtesë përdoret
vetëm pjesa adresuese(fusha e operandit) e instruksionit e cila njëkohsisht paraqet dhe
adresën efektive, pra operandi ndodhet në kujtesën operative . Adresa e tillë quhet dhe
adresë direkte ose apsolute.

Për vitin e IV-të elektroteknik i kompjuterëve 83


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Regjistri i instuksionit RI

opcode ... Operand-i


.

Kujtes operative

Fig -Adresimi direkt

madhësia e pjesës adreuse (Fushës së operandit) duhet të jetë mjaftë e madhe në


mënyrë që të kodohet e tërë hapasira e adresave të kujtesës operative. P.sh kujtesën
operative prej 224 bajt pjesa adresuese kërkon 24 bita.
Adresimi regjistër (Register Addressing)
Shumë kompjuterë përmbajnë instruksione të cilët operandët i marrin nga
regjistrat për qëllime të përgjithshme ose prej regjistrave të tjerë të procesorit, ose në to i
vendosin rezulltatet. Në këto rastë për të specifikuar operndin duhet dhënë adresën e
regjistrit të procesorit qendror në të cilën ndodhet operandi. Ky llojë i adresimit quhet
adresim regjistror. Sipas konceptit ky adresim është identik me adresimin direkt.
Pra të dhënat e kërkuara janë të locura në njërin prej regjitrave programues dhe
adresa është e specifikuar Pjesën(fushën) e operandit të instruksionit ( shi fig). Me që
regjistra në procesor ka më pakë se adresa të kujtesës operative, atë here kjo pjesë e
instruksionit zë pak pozicione binare. P.sh.nëse vargu i regjistrave në procesor është prej
32 regjistrave atëhere kjo fushë(pjesë) duhet të jetë prej 5 bitave.
Regjistri i instuksionit RI

opcode ... Operand-i


.

Vargu i regjistrave
(Register Array)
Fig -adresimi regjister

Operacionet në të cilat për ruatje të operandve përdorin regjistra për qëllime të


përgjishme të procesorit qendror janë të përshtashëm për dy arsyeje:
- regjistrat janë dukshëm më të shpejtë se kujtesa operative,
- këso ka më pak, dhe për adresim përdoret numër i vogël i bitave

Për vitin e IV-të elektroteknik i kompjuterëve 84


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Adresimi indirekt
Në vendë që fusha e operandit të specifikon adresën e operandit si te adresimi
direkt ose regjistër , kjo fushë mund të specifikon një adresë “ndërmjetësuse” të elmentit
të kujtesës tjetër që përmban adresën e operandit të dëshiruar kjo njihihet me emrin
adresimi indirekt . elemnti i kujtesë ndërmjetësues mund të jetë regjistër ose fjalë e
kujtesës operative. Mund dë vërejm nga skema e adresimit indirekt në të cilin lokacioni i
operandit mbahet në ndonjë regjistër do të nevojitet numër më i vogël i bitave për kodim
të identifikatorit të regjistrit në pjesën(fushën) e operandit se kur ndodhet në mediumin
ndërmjetësues siç është kujtesa operative për ruatjen e fjalës.
Në fakt , ky është një avantazh e përdorimit të adresimit indirekt: ju mund të
specifikoni adresë në kujtesën operative të operandit të dëshiruar në mënyrë idirekte me
vendosjen e një tregusi(pointer) në një fjalë tjetër të kujtesës operative që aktualisht e
përmban këtë adresë
Si një shembull për përdorim të adresimit indirekt, le të supozojmë një bashkësi
prej N numrave të lokacioneve të njëpasnjëshme të fjalëve të kujtesës operative duhet
shtuar dhe rezulltati të lihet në R15 (fig) . Adresa startuse L e këtyre numrave ngarkohet
(shkruhet) në regjistrin R0 dhe R15 inicializohet në zerro. Le të ketë kuptimin që me
simbolin “@R” përdorimni i regjistrit R si burim i një adrese më mirë se një operand dhe
me simbilin “#I” që I është si një operand i drejtëpërdrejt(immediate), kështu që
sekuenca e instruksioneve
ADD @R0,R15
INCR R0,#1
Kurë të përsëritet N-herë do ti mbledh N numra në lokacionet e kujtesës operative
L,L+1,.....L+N-1 dhe lë rezulltatin në R15
adresimi indirekt kujtesë- adresa e cila nuk specifikon adresën e lokacionit të
operandit në kujtesë, por lokacionin e kujtesës në të cillën ndodhet adresa e operandit,
quhet adresë indirekte. Përdorimi i adresave indirekte kërkon qasje të dy lokacioneve të
kujtesës që të mund tju qaset vetë operandit. Adresimi i tillë quhet adresim indirekt
kujtesë(fig..(b).

Për vitin e IV-të elektroteknik i kompjuterëve 85


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Regjistri i instuksionit RI

opcode ...

(a) Vektori
i regjistrave operandi
Regjistri i instuksionit RI

opcode . ...

(b)

Kujtes operative
Fig -adresimi i indirkt e)

R0
L ADD @R0 R15 ...
L+1
R15
Regjistri i instuksionit RI
Vektori(vargu)
i regjistrave

L+N-1

Kujtesa operative (RAM)

Fig Adresimi indirekt nëpërmes listës prej N fjalëve

Një prej arsyejeve kryesore të futjes së adresimit indirekt kujtesë është zgjerimi i
hapsirës adresuese, pasi e tërë fjala e kujtesës mund të përdoret për adresë. Adresimi

Për vitin e IV-të elektroteknik i kompjuterëve 86


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

indirekt kujtesë ka gjetur dhe dhe shumë zbatime të dobishme. Ky adresim realizohet
shumë efikas dhe përdoret praktikisht te të gjithë procesorët. Tek adresimi indirekt
kujtesë operandit iu qaset në dy intervale kohore (takt impulse ). Në të parin pjeasa
adresuese e instruksionit dërgohet në regjistrin adresues të kujtesës RA dhe në atë adresë
lexohet përmbatja në regjistrin pranues RP dhe bartet në RA dhe në këtë adresë ndodhet
operandi i cili vendoset në RP.
Është e mundshme të bëhen krahasime interesnte ndërmjet adresimit të
drejtëpërdrejt dhe direkt dhe adresimit indirekt kujtesë. Te adresimi i drejtëpërdrejt
kujtesës nuk ka nevojë me iu qasur pasi operandi është i thirrur me instruksion. Për këtë
thuhet se adresa është e rangut null. Te adresimi direkt nevojitet një qasje në kujtesë për
t’ju qasur operandit, dhe ate adresa e rangut të parë. Për thirrjen e operandit te
adresimi indirekt kujtesë nevojiten dy qasje kujtesës dhe kjo është adresa e rangut të
dytë.
Adresimi indirekt regjistër- adresimi indirekt i operandit nuk është e thanun të
jetë në ndonjë lokacion të kujtesës, por për to mund të përdoret ndonjë regjistër për
qëllime të përgjithshme të procesorit qendror. Kjo mënyrë e adresimit quhet adresim
indirekt regjistër. Në raport me adresimin indirekt kujtesë, kjo mënyrë e adresimit është
më e shpejtë pasi kërkon vetëm një interval kohorë (Cikël të kujtesës).
Adresimi auto-inkrementues dhe adresimi auto-direkt.- mundësi interesante
ofron adresimi indirek regjistër gjatë të cilit regjistri për qëllime të përgjithshëme i cili
përdoret për ruatje të adresës së opeandit automatikisht para ose pas përdorimit rritet ose
zvoglohet për një. Në këtë mënyrë përgaditet adresa e operandit të ardhëshëm të vendosur
në në lokacionin tjetër të kujtesës. Këto metoda adresimi quhen dhe adresim auto-
inkrementus dhe auto- direktë
Adresimi indeks (indeksimi).
Problemi i i qasjes të këtyre N fjalëve suksesive në kujtesën operative mund të
zgjidhet në një mënyrë tjetër. Adresa startuse L e vargut(array) është e specifikume si një
konstant dhe zhvendosja e elementit i-të (i=0,1, . . . , N-1) mbahet në regjistrin që quhet
Regjistër indeks(ang index register). Le të supuzojmë se ky regjistër është i shenuar me
X. Atëhere adresa efektive e elemetiti të i-të të vargut mund të llogaritet si
L+X
Le të supozojmë. P.sh që regjistri R1 përdoret si një regjistër Indeks. Mbani mend se L
është një konstant që tregon një adresë aktuale, elementet suksesive të vargut mund të
shtohen dhe rezulltati të lihet në R15 që së pari të inicializohet R1 dhe R15 në 0 dhe më
pasë ekzekutimi N herësh i sekuncës së instruksioneve
ADD #l,r1,R15
NCR R1,#1
Këtu, adresa efektive e operandit të parë llogaritet si R1 +L (fig),rezullton se
operani në kujtesën operative në këtë adresë i shtohet përmbatjes së regjistrit R15 dhe
rezulltati lihet në R15. instruksioni INCR vetëm rritë vlerën e regjistrit indeks për 1.
Ky shembull ilustron, një operand të specifikuar në mënyrën e adresimit indeks
përbëhet prej dy pjesëve: një konstante të çfardoshme dhe një regjistri indeks.
Kompjuterë të veçant mund të kenë një apo më shumë regjistra që përdoren vetëm si
regjistra indeks.

Për vitin e IV-të elektroteknik i kompjuterëve 87


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

- për adresim të elementeve të vagut të vendosur në lokacionet suksesive të


kujtesës është futur një regjistër i posaqëm në procesorin qendror i cili quhet regjistër i
indekseve. Dhe në te ruhet ndryshimi ndërmjet adresës së elementit aktual dhe adresës së
elementit të parë, e cila quhet zhvendosje. Si dhe ndryshimi që i përgjigjet numrit rendor
(indeksit) të elementit edhe regjistri i cili shërben për ruatjen e sajë të emrit të dhënë në
regjistrin indeks. Kjo metodë e adresimit quhet adreim me indekse ose indeksim.

Kujtesa operative
(RAM)
R1

ADD L R1 R15

R15
R15 Regjistri i
. Vektori(vargu) instuksionit RI
. i regjistrave
.

+
Adresa efektive

Fig Adresimi ideks - idexed addresing)

Adresa efektive këtu përfitohet si shumë e pjesës adresuese të instruksionit i cili


përmban adresën e fillimit të vargut dhe përmbatjen e regjistrit të indekseve. Me
instruksione të posaqëme të cilat tani duhet fut mund të vendoset përmbatjen fillestare të
regjistrit të indekseve, duke ndryshar këtë përmbatje për ndonjë vlerë konstante, testohet
shenja e kësaj përmbatje ose mbahet mend në kujtesën operative.
Tek disa kompjuterë është e mundshme të bëhet dhe indeksim i dyfisht kur pjesa
adresuese e instruksionit i shtohen në të njejtën kohë përmbatja e dy regjistrave të
indekseve.
Autoindeksimi- pas çdo indeksimi që tju qaset të dhënës së re nevojitet të
ndryshohet përmbatja e e regjistrit të indekseve, për çka dhe përdoret urdhëri i posaqëm.
Ky problem te disa procesor zhgjidhet me futjen e mënyrës së adresimit të quajtur
autoideksim, ku për çdo shfryrëzim(përdorim) të regjistrit të indekseve drejtëpërdrejt
ose para ose drejtëpërdrejt pas qasjes së përmbatjes së sajë atomatikisht ndyshon ashtu që
iu shtohet ose iu zbritet 1.

Adresimi bazë-zhvendosje
Në mënyrën e adresimit bazë-zhvendosje (fig) një operand specifikohet në në regjistër që
quhet base register(B) dhe një konstant e çfarëdoshme që quhet zhvendose (D)(nga ang.
Displacment e cila shpesh quhet dhje offset-zhvendosje). Regjistri i specifikuar bazë

Për vitin e IV-të elektroteknik i kompjuterëve 88


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

mbanë disa adresa të kujtesës operative, dhe adresa efektive e operandit të dëshiruar
mund të llogaritet si
B+D
Mënyra Adresimi bazë zhvendosje u krijua për dy arsyeje.
Një, kjo përmban përkrahjen direkte për zhvendosshmërin e programit dhe segmenteve të
dhënave- që është kompatibël me sistemet kompjuterike për allocimin e në programi dhe
segment të dhëna në hapsira të ndryshme të kujtesës operative në kohë të ndryshme. Ky
kompabilitet bëhet pjesërisht i domësdoshëm me emergjencat e multiprogramimit dhe
kujtesës virtuale gjatë gjysmësë së viteve 1960.
Adresimi bazë-zhvendosje përktah relokatibilitetin në mënyrën si në vazhdim.
Kur kur një program ose segment i të dhënave S assemblohen ose kompilohen në kod
makine përkthysi nuk ka njohuri se ku ky kodë do të jetë rezident në kujtesën operative
gjatë kohës së ekzekutimit; për këtë arsyesje segmenti do të në hapsira të ndryshme të
kujtesës operative në raste të ndryshme të ekzekutimit, varsishtë prej hapsirës sëlirë të
lejushme. Kështu që Object code duhet ashtu të gjenerohet që të gjithë instruksionet
refernt dhe të dhënat brenda S janë të caktura si zhvendosje relative të përmbatjes të vetë
regjistrit bazë të specifikuar B. Kur S ëashtë aktualisht i ngarkuar në kujtesën operative
adresa startuse automatikisht vendoset në base register. Gjatë qasjes së operandit adresa
efektive e operandit llogaritet me mbledhjen e përmbatjes të B dhe zhvendosjes
Regjistri Bazë (B)
Base Register(B)

R0

.. . R0 24 .. .
.
. Regjistri i
. +24
+24 Vektori(vargu) instuksionit RI
i regjistrave

Zhevdosja (D)
Dispalcment(D)
+
Kujtesa operative
(RAM)

Fig Adresimi Bazë- zhvendosje( Base -Displacment addresing)

shembull:
le ta marrim parasysh kondin në assembler të IBM system/370 si në vazhdim:
BALR 15,0

Për vitin e IV-të elektroteknik i kompjuterëve 89


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

USING *,15
L 10, INTERVAL
...
...
INTERVAL DC F’1’
...
Në mënyrë gjenerale , instruksioni BALR ngarkon regjistrin të specifikuar si operand i
parë me adresë të një instruksioni tjetër dhe degëzohet në adresën e specifikume si
operand i dytë. Ku ky i fundit është0 , degëzimi nuk ndodhë dhe kontrolli bartet në
instruksion tjetër. USING është një instancë e një psedo eporacioni, kështu që shërben si
një direktev të vetë asemblerit se sa një instruksion ekxekutues; ky e udhëzon asamblerin
që regjistri i specifikuar si operand i dytë se duhet të mbajë adresën(relocatable rilokuuse)
të një instruksioni tjetër- kështu që është një regjistër që shërben si adresë Base.
Pra kur ky segment asemblohet, USING i thotë asemblerit që L instruksione të
adresave të intervalit do të gjenerohen si renditje e çiftit
<15,D>
ku D është zhvendosja e INTERVAL-it relative të përmbatjes të regjistrit 15. kur ky kod
ekzekutohet , BALR dotë siguroj që regjistri 15 mban vlerë e drejtë.
Arsyeja e dytë për emergjencën e adresimit Bazë –zhvendosje është zvoglimi i
numrit të nevojshëm të bitave për specifikim të një adrese të operandit.. le të supozojmë
se kujtesa operative përbëhet prej 2 24 bajt, kështu që kur një operand në kujtesën
operative specifikohet direkt në instruksion, ose kur një zhvendosje relative në vetë
adresën base duhet dhënë në instruksion, fusha( pjesa) duhet të jetë mjaftë e madhe që tju
referohet të gjithë kujtesës; në shembullin tonë fusha adresuse duhet të jetë 24 bitë.

Adresimi bazë- gjatësia e adresës në instruksion mund të zvoglohet me futjen në


procesor një grup të posaqëm regjistrash të cilët quhen regjistra bazë (base registers). Në
këtë rastë adresa formohet prej dy pjesëve : përmbatjes së regjistrit bazë dhe adresës
relative ose zhvendosjes. Kjo metodë e adresimit quhet adresim bazë. Zhvendosja paraqet
ndryshimin ndërmjet adresës së vërtet të operandit në kujtesën operative dhe adresë që
përmbahet në regjistrin bazë. Zhvendosja jepet në pjesën adresuese të instruksionit dhe
shpesh trajtohet si numër me shenjë.

Regjistrat bazë mundësojnë dhe zgjerimin të hapsirës totale për adresim të


kujtesës operative me futjen e segmentimin e kujtesës. Si regjistër bazë shpesh përdoren
dhe regjistrat për qëllime të përgjithshme.
Adresimi bazë mund të përdor në të njejtën kohë edhe me indeksim edhe
me adresimin indirekt.
Adresimi relativë- nëse si regjistër bazë përdoret numrusi i instruksioneve NI,
adresimi quhet adresim relativë me program ose adresim relativ. Adresa e operandit në
këtë rastë formohet si shumë e përmbatjes aktuale të numruesit të instruksioneve NI dhe
zhvendosja të specifikuar në pjesën adresuese të të instruksioni ad. Zhvendosja më së
shpeshti trajtohet si numër me shenjë.

Për vitin e IV-të elektroteknik i kompjuterëve 90


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Metoda të tjera të adresimitAdresimi relativë- nëse si regjistër bazë përdoret


numrusi i instruksioneve NI, adresimi quhet adresim relativë me program ose adresim
relativ. Adresa e operandit në këtë rastë formohet si shumë e përmbatjes aktuale të
numruesit të instruksioneve NI dhe zhvendosja të specifikuar në pjesën adresuese të të
instruksioni ad. Zhvendosja më së shpeshti trajtohet si numër me shenjë.
Metoda të tjera të adresimit. Me metoda të tjera të adresimit shpesh mund të
kombinohen dhe të zbatohen në të njetën kohë. Secili procesor i realizuar konkret
mundëson ndonjërën mënyrë të adrsimit të veçant të shfrytëzohet ashtu si janë përshkruar
ose me modifikime të cilat janë shkaktare të mënyrës së realizimit. Në disa raste mund të
takohen dhe adresime të cilët nuk mund të klasifikohen në asnjërën prej metodave të
përshkruara.
Kur përdoret formati i sigurisë së instruksionit, adresimi quhet adresimi
stek(stack). Ne këtë mënyrë të adresimit, me instruksionet POP dhe PUSH, në bazë të
përmbatjes së tregusit(pointerit-shënjuesit) të stekut, qaset në kokë të magacinës për
qëllim të leximit ose të shkrimit të përmbatjes.

Mënyra të adresimit te mikroprocesorët e familjes intel 80x86


Në instruksionet për mikrroprocesorët të familjes 80x86 përdoren mënyra si në

vazhdim të adresimit:

- drejtëpërdrejtë-(ang. Immediate-pavonesë,përnjiherë,aty për aty),


- direkt,
- regjistër,
- indirekt regjistër
- relativ bazik
- indeks
- indeks-bazik
- indeks bazik relativë
te secila mënyrë e adesimit dihet se nga cili segment mirren të dhënat me të cilat
punohen. Mënyra e adresimit njihet prej kodit të operacionit dhe mënyrës së dhënjes së
operandit. Përdormi i mënyrave të veçanta të adresimit do t’iu kthehemi në kapitullin në
vijim.
Adresimi i pavones(ang.Immediate) –Te kjo mënyrë e adresimit operandi është
konstant e përmbatjes në vetë instruksionin. Konstanta është e përcaktuar dhe mund të
jetë 8 bit-sh ose 16 bit-she. Adresa efektive është
ae =<konstanta>.

Shembull: në instruksionin
Mov AX, -96
Vlera decimale –96 shkruhet në regjistrin AX.
Adresimi direkt (ang Direct)– Te adresimi direkt ose absolut instruksioni
përmban zhvendosjen 16-bit-she D16 në bazë të së cilës formohet adresa efektive e

Për vitin e IV-të elektroteknik i kompjuterëve 91


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

operandit me ndimën e regjistrit Segment DS në formën


ae =(DS) + D16
Shembull: me ekzekutimin e instruksionit
Mov AX, ADR
Përmbatja e lokacionit adresat e së cilës janë ADR dhe ADR+1 shkruhen në regjisrin
AX (fig 4.12). në këtë rast në lokacionin me adresë më të vogël bartet bajti i ultë i të
dhënës, ndërsa në lokacionin me adresë më të lartë bajti i lartë i të dhënës
Nëse në instruksionin iu qaset lokacionit zhvendosje (konstantë) të njohur,
atëhere duhet dhënë dhe regjistrin segment DS, në formën si në vazhdim:

Segmenti me te
MOV AX, DX:[02H]
dhëna

DS 0000H
0001H
MOV AX, ADR ADR LL 0002H
HH 0003H
AX HHLL 0004H

Fig. 4.12-Adresimi direkt

Shembull:
MOV AH,[3000]
1. regjistri DS do të shumëzohet me 16;
2. prodhimit i shtohet 3000 dhe fitohet adresa ;
3. përmbatja e në adresën e fituar vendoset në AH.

Adresimi me regjistra(ang. Register addressing modes)- Te adresimi me anë të


regjistrave operandi mirret nga regjistri dhe shkruhet në regjistër. Në këtë rast
instruksioni përmban emrin e regjisrit me të cilin punon. Adresa e regjistrit merrë 3 bita.
Në instruksionet me të cilat operohet me fjalët (W=1) regjistrat mund të jenë AX, BX,
CX, SI, DI, SP, BP, ndërsa në instruksionet të cilat punojnë me bajtet (W=0) regjistat
mund të jenë AL, AH, BL, BH, CL, CH, DL, DH. Në këtë rast adresa efektive është
ae = AX, BX, CX, SI, DI, SP, BP, AL, AH, BL, BH, CL, CH, DL,
DH

Shembull: në instruksionin

MOV AX, BX
Operandi mirret nga regjistri BX dhe bartet në regjistrin AX.

Për vitin e IV-të elektroteknik i kompjuterëve 92


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Adresimi indirek me regjistra- Te kjo mënyrë e adresimit adresa e operandit ndodhet


në regjistrin BX ose në ndonjërin prej regjistrave indiks DI ose SI ( theksojmë se mund
të përdoret dhe regjistri BP). adresa efektive
( BX )

( )
ae= ( DI )
(SI )
shembulli 1: me instruksionin

MOV AX, [BX]


përmbatja e lokacioit të kujtesë, adresa e së cilës është në BX, shkruhet në regjistrin AX
(fig 4.13)
MOV AX, [BX] Segmenti me te dhëna

DS 0000H
BX
0001H
OOO2H DS:[BX] LL 0002H
HH 0003H
HHLL 0004H
AX

Fig. 4.13-Adresimi indirekt me regjistra

shembulli2: me instruksionin
MOV [DI], BX
Përmabtaja e regjistrit BX shkruhet në lokacionin e kujtesës adresa e së cilit është
në regjistrin DI
Shembull:
MOV AH, [BX]
1.regjistri DS do të shumëzohet me 16;
2.prodhimit i shtohet përmbatja e regjistrit BX dhe fitohet adresa ;
3.përmbatja e në adresën e fituar vendoset në AH.

Adresimi bazë (based addressing mode) ose adresimi relativ bazë (besed and
Relative addressing mode ).-te kjo mënyrë e adresimit përdoret regjistri BI ose BP.
Nëse përdoret regjistri BP, edhëna është në segmentin e stekut, ndërsa nëse përdoret
regjisri BX, edhëna është në segment të të dhënave. Adresa efektive e operandt ae
formohet si shumë zhvendosjes 8 bitshe D8 ose zhvendosjes 16 bitshe D16 dhe të
përmbatjes së regjistrit bazor BX ose BP, d.m.th.

( BX ) D 8
ae=
( )( )
(BP )
+
D 16 ¿
¿

Për vitin e IV-të elektroteknik i kompjuterëve 93


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

adresimi bazik posaqërisht është e përshtashme te qasja në struktura të të


dhënave kur zhvendosja për elemnete të veçanta është i njohur gjatë asemblimit.

Shembull: në instruksionin
MOV AX, [BX] +2
adresa efektive llogaritet në mënyrën si e treguar si në fig (4.14),

Segmenti me te dhëna
MOV AX, 2[BX] +
0000H
BX
0001H
OOO1H LL 0002H
HH 0003H
HHLL 0004H
AX

Fig. 4.14-Adresimi bazik

Gjuha asembler për mikrroprocesorët të familjes 80x86 lejon mënyra të ndryshme


të shenimit për adresim bazik si në vazhdim:
1) [BP]+p ose p[BP]
2) [BX]+p ose p[BX]
Shembull:
MOV AH,[BX+50]
Do të mbledhë përmbatjen e regjistrit BX me 50 dhe këtë shumë e mbledhim me

16- fishin e përmbatjes së regjistrit DS dhe fitojmë adresën e operandit. P.sh nëse
BX=6000  MOV AH,[BX+50]~MOV AH,[6050]
Adresimi me indekse.- Te kjo mënyrë e adresimit, e cila është shumë e ngjajshme me
adresimin bazë, adresa efekive ae formohet si shumë i zhvendosjes 16 bitëshe dhe
përmbatjes së regjistrit indeks SI. D.m.th.

ae=
(((SIDI)))+((D( D816))) ¿ ¿
adresimi bazë dhe indeks janë të ngjajshëm dhe për këtë nganjëher konsiderohen
si një mënyrë e adresimit e cila quhet adresimi relativ regjistër. Në të vërtet, projektantët
kanë përcaktuar regjistrat BX dhe BP për ate bazor ndërsa SI dhe DI për adresim me
indekse.
Shembull: le të jetë VEKT adresa fillestare e ndonjë vektori elementët e të cilit
marrin(zëjn) nga dy bajt. Atëhere VEKT dotë jetë adresa e elementit të parë të vargut,
VEKT+2 adresa e elementit të dytë në varg etj. Me instruksionet
MOV DI, 2
MOV AX, VEKT[DI]
Në regjistrin AX do të shkryhet elementi i dytë i vargut.

Për vitin e IV-të elektroteknik i kompjuterëve 94


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Indeksimi me indekse përdoet me rastin e punës me vargje (vektorve ose


matricave), pasi mundet të mirret se zhvendosja është e fiksueme ndërsa me ndrrimin e
përmbtjes të regjistrit indeks mundësohet qasje në elementet e veçant të vargut.
Adresimi bazë-indeks(based and Indexed addressing mode)- Te kjo mënyrë e
adresimit adresa efektive ae (e adresës bazë-indeks) formohet si shumë e përmbatjes e
regjistrit bazë dhe indeks:

ae=
(((PBBX )))+(((SIDI))) ¿ ¿
Adresimi relativ Bazë- indeks ose adresimi bazë -indeks me zhvendosje.-
te kjo mënyrë e adresimit adresa efektive ae formohet si shumë e adresës bazë-indeks dhe
zhvendosjes 8 bitshe me shenjën D8 ose zhvendosje 16 bishe D16 (fig 4.15)
BX ) (SI )
ae=
(((PB )) +(( DI ))+( DD168 )

MOV AX, 2[BP] [DI]


Segmenti i stekut
+

BP 100H
0004H
0005H
OOO4H
DI LL 0006H
HH 0007H
AX HHLL 0008H

Fig. 4.15-Adresimi bazor-indeks relativ

Adresimi relativ me program- kjo mënyrë e adresimit përdoret vetëm tek instruksionet
JUMP dhe CALL, instruksionet kushtëzuese dhe instruksione drejtuese me rrjedhën e
ekzekutimit të programit. Adresa efektive llogaritet si shumë e përmabtjes të treguesit të
instruksionit IP dhe zhvendosje 8 bitshe D8 ose zhvendosjes 16 bitshe D16.
Adresimi i stringjeve(vargut të karaktereve) te instruksionet të cilat manipulojnë me
stringje karakterësh përdoret regjistrat SI dhe DI, dhe ate ashtu që SI tregon në bajtin e
parë të stringut burim, ndërsa DI tregon në bajtin e parë të stringut Cakë. Gjatë
ekzekutimit të instruksionit procesori automatikisht azhuron(rregullon) përmbatjen e
regjistrit DI dhe SI.

Për vitin e IV-të elektroteknik i kompjuterëve 95


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

4. 6. Njësia aritmetiko-logjike
Njësia aritmetiko-logjike (fig4. 16a) është pjesë e kompjuterit në të cilën kryhen
operacionet mbi të dhënat.
Për atë se cili operacion dhe mbi cilat të dhëna duhet të zbatohet e kumton(lajmron)
njësia kontrolluese (drejtuese-dirigjisuese) me sinjalet për zgjedheje të operacioneve (fig
4.16.b)

Njësia aritmetiko Logjike NAL(ALU) realizohet si rrjetë ndërprerse me 2n hyrje


dhe n+ o dalje, ku n është gjatësia e fjalës së makinës, ndërsa o janë daljet për
indikatorët në regjistrin e kushteve RK. Në hyrje të njësisë aritmetiko-logjike sjellet nga
akumulatori AK ose të ndonjë regjistri të përkohshëm RP ose të ndonjë tjetri dy vargje
binare të gjatësisë n, ndërsa në dalje përfitohet vargu binar i gjatësisë n i cili është
rezulltat i zbatimit të ndonjë aritmetike të definuar, logjike ose të ndonjë operacioni
tjetër mbi vargjet hyrëse. Ky rezulltat zakonisht shkruhet në akumulatorin AK.

Për vitin e IV-të elektroteknik i kompjuterëve 96


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

MUX

ALU

Ra

Rb
MU
X

Fusha regjistrash
Shkrimi i rezulltatit

Fig.4.17 Njësia aritmetiko-logjike e procesorit RISK

Njësia aritmetiko logjike e procesorit RISK është treguar në fig 4.17. siç shihet,
të gjitha operacionet ekzekutohen mbi operandët të cilët mirren nga fusha e regjistrit, në
të cilën gjithashtu kthehet rezulltati. Regjistri Ra dhe Rb në dalje shërbejnë që për njërin
nga kto përkohsisht të mbaj mend rezulltatin e operacionit në ndonjë situacion të
posaqëm, i cili mundet nga këtu të kthehet përsëri në hyrje ose të dërgohet në fushën e
regjistrit..

4.7. Bashkësia e instruksioneve


Numri dhe lloji i instruksioneve të realizuara në ndonjë kompjuter varet nga
qëllimi( destinimi) i procesorit. Të gjitha instruksionet me të cilat janë të realizuara
operacionet në procesor kushtimisht mund të ndahen në disa grupa. Më së shpeshti
ndarja është si në vijim:
1. Instruksione për bartje (transfer) të të dhënave;
2. instruksione aritmetiko-logjike ( instruksione aritmetike, instruksione logjike,
instruksione zhvendosje, dhe rrotullimi);
3. Instruksione për kontrollim të rrjedhës së ekzekutimeve( Instruksionet e
degëzimit, instruksionet për kcim, instruksione për nënprograme,
instruksione për ndërpreje programore;
4. Instruksionet hyrje-dalje dhe
5. instruksione të tjera.
Për mikrroprocesorët e familjës 80x86 ndarja konkrete e instruksioneve do të
përpunohet në kapitullin tjetër.
Me instruksionet për bartje të të dhënave thirret përmbatja e lokacionit të kujtesës
operative në akumulator ose në ndonjë regjister tjetër të procesorit, dërgon i
përmbatjen akumulatorit ose të ndonjë regjistri tjetër të procesorit në kujtesë, bartë
ose vendos përmbatjen njërit regjister në tjetrin, puna me kujtesën stek (magacin)
etj. Instruksionet aritmetiko-logjike ndahen në tre grupe si në vazhdim
a) instruksione aritmetike

Për vitin e IV-të elektroteknik i kompjuterëve 97


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

b) instruksione logjike
c) instruksione për zhvendosje
instruksionet aritmetike kryhejn operacionet themelore aritmetikore( mbledhja,
zbritja, shumëzimi dhe pjestimi), më tutje krahasimi i dy përmbatjeve,
komplimentimi, rritja ose zvoglimi i përmbatjes të ndonjë regjistri për 1 etj.
Me instruksionet logjike kryhen operacione logjike ( operacionet e Bulit ose
algjebra e ndërpresve): AND, OR, XOR, NOT.
Me instruksionet për zhvendosje zhvendoset përmbatja binare e ndonjë regjistri
të procesorit, rëndomt të akumulatorit, për një numër të caktuar vendesh majtas ose
djathtas.Instruksionet kontrolluese gjithashtu mund të ndahen në disa nëngrupa.
a) instruksionet për degëzim dhe për kapërcim
b) instruksionet për cikle(përsëritje) të programeve
c) instruksionet për nënprograme.
Të gjitha instuksionet shërbejn për kontrollimin(drejtimin) e rrjedhës së ekzekutimit
të programit.
Me instruksionet hyrëse- dalëse r barten të dhënat nga procesori në ndonjë
pajisje periferike ose nga pisja periferike në procesor

Operacioni unar, dhe binar


Operacionet të realizura në procesor zakonisht klasifikohen sipas parametrave si
në vazhdim:

1. sipas numrit të operandëve mbi të cilët zbatohet operacioni dhe


2. sipas numrit të klasëve (pozicioneve binare) të operandit.
Operacionet e përpunimit të dhënave në bazë të numrit të operandëve janë operacione
unare dhe binare. Për operacionin thuhet se është unar nëse kryhet mbi një të
dhënë(operand). Operacionet e tilla janë komplimentimi, zhvendosja, negacioni
(mohimi) etj. Për operacionin thuhet se është binar nëse kryhet mbi dy të dhëna
(operand).
Shembull: operacionet aritmetike të mledhjes, zbritjes, shumzimit dhe pjestimit
ose operacionet logjike AND, OR, dhe XOR janë opercione binare.
Sipas numrit të klasëve të operandit operacionet mund të jenë njëklasëshe dhe
shumëklasëshe. Operacionet njëklasëshe janë të thjeshta dhe zbatohen në dy bita të të
njejtës klasë të operandave. Përmes këtyre kurdoherë është e mundshme të realizohen
operacione shumëklasëshe. Me ratin e ekzekutimit operacionit në të njejtën kohë kryhen
operacionet mbi të gjitha klasët e operandëve.
Sipas ndërlikushmërisë të operacioneve shumë klasëshe dallojmë rastet si në
vazhdim:
a) operacion i thjesht shumëklasësh, kur secili bit i rezultatit të klasës së
dhënë mvaret vetëm prej bit-eve të të njejtës klasë;
shemull:. komplimenti i njisheve të numrit binar.
b) operacioni shumëklasësh me bartje, kur në secilin pozicion binar
ekziston rezulltati dhe bartja, dhe ku edhe rezulltati edhe bartja varen nga

Për vitin e IV-të elektroteknik i kompjuterëve 98


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

pozicioni paraprak.
Shembull: mbledhja e dy numrave binar;
c) oeracioni i përbër shumëklasësh, kur secili bit i rezulltatit varet nga
gjithë bitat e operandit : p. sh. shumëzimi i dy numarave binar.

4.8. operacionet aritmetike dhe realizimi i tyre


rregullat për operacionet aritmetike të cilat vlejnë në sistemin numerik dekad
mund të përdoren në cilin do sistem numerik tjetër natyral me bazë q nëse përdoret
tabela e mbledhjes dhe shumzimit të numrave njëshifror për atë sistem. Ne në vazhdim
do ti shqyrtojm operacionet aritmetike me numrat pa shenjë në sistemin numerik binar.

Mbledhja binare
Tabela e mbledhjes për sistemin numerik binar është dhënë në tabelën 4.4a.Dy
numra shumëshifror binar mblidhen sipas procedurës si në vazhdim:
1) mblidhen dy shifrat me peshë më të vogël; nëse ekziston njishi për batje mbahet
mend në pozicionin tjetër më të lartë;
2) mblidhen dy shifrat të pozicionit tjetër më të lartë dhe shifra e bartjes nga pozicioni i
më parshëm më i ultë. Bartja e re mahet mend te pozicioni për pozicionin tjetër më
të lartë;
3) nëse ekzistojnë akoma pozicione në të cilat nuk është kryer mbledhja, veprojmë
sipas hapit 2;
4) nëse është kryer mblidhja e shifrave në të gjitha pozicionet dhe nuk ekziston bartje,
procedura e mblidhjes ka përfunduar. Nëse ekziston bartje shkruhet 1 në pozicionin
tjetër më të lartë, me çka dhe procedura e mblidhjes përfundon.
Tabela:4.4 Tabela për mbledhjen dhe shumzimin në sistemin numerik binar
a)Tabela e mledhjes b) tabela e shumëzimit
+ 0 1 * 0 1
O 0 1 0 0 0
1 1 10 1 0 1

Shembull: mbledhni numrat binar 1100111(BIN) dhe 110110(BIN)


1100111 (BIN)
+ 110110 (BIN)
1 0 0 1 1 1 0 1 (BIN)
nëse numrat të cilët duhet mblidhen janë me pjesë thysore, spari duhet duhet që
spari pika binare e mbledhjes të vendoset sipas të njejtës vertikale si te sistemi dekad.

Mbledhësi binar
Mbledhsi binar i plot (ang. FA- full adder) paraqet rrjetën e kombinuar të realizuar me
qarqe të elementeve logjikë të cilat shërbejn për mblidhjen e të dy numrave njëshifror
binar ose të dy shifrave në klasën e i-të të numrit shumëshifror binar dhe të bartjes prej
klasës së mëparshme më të ultë. Tabela e saktësisë e cila përshkruan punën e mbledhsit të
plotë është dhënë në fig 4.18a ndërsa paraqitja grafike në fig 4.18b.

Për vitin e IV-të elektroteknik i kompjuterëve 99


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

ai bi pi-1 si pi

0 0 0 0 0
0 0 1 0 1 ai
FA si
0 1 0 0 1 bi
pi
0 1 1 1 0 pi-1
1 0 0 0 1
1 0 1 1 0 b) paraqitja grafike
1 1 0 1 0
1 1 1 1 1

a) Tabela e saktësisë

Fig. 4.18.- Mbledhësi i plot

Përmes mbledhësit të plot mund të realizohen mbledhsi binar shumëklasësh, i cili


mund të jetë:
mbledhësi shumëklasësh serik dhe
mbledhësi shumëklasësh paralel
le të jenë dhënë dy numra binar n-në shifror të formës a dhe b
a = an-1 an-2... a1 a0
b= bn-1 bn-2... b1 b0
Mbledhësi shumëklasësh serik paraqet rrjetën në të cilën mundsohet mbledhja e dy
numrave binar n shifror në n takt intervale duke filluar nga pozicioni i kalasës me peshë
më të vogël(fig 4.19a). Te ky rast për mbatje mend të përkoshme të bartjes për klasën e
ardhshëme më të lartë nevolitet elemet kujtese.

Për vitin e IV-të elektroteknik i kompjuterëve 100


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

bn-1 an-1
b1 a1 b0 a0 0
ai
FA si
bi
pi FA
pi-1 FA FA

EK
pn-1 sn-1 pn-2
p1 s1 p0 s0
Mbledhisi shumë-
Mbledhisi shumëklasësh Paralel
klasësh serik

Fig. 4.19.- Mbledhësi shumëklasësh

Mbledhsi binar shumëklasësh paralel paraqet rrjetën e kombinuar e cila mundëson


mblidhjen e dy numrave binar n shifror në një takt interval. Njëra prej mënyrave për
realizimin e mbledhsit binar shumëklasësh paralel është dhënë në fig.4.19.b

Zbritja binare
Numrat në sistemin numerik binar zbriten sipas rregullit i cili përdoret në sistemin
numerik dekad. Në këtë rast me rastin e punës me numra me pikë shkruhet në të njejtin
pozicion sipas vertikales.
Shembull: në sistemin numerik binar prej numrit binar 10101.11 zbritet numri
binar 1001.001.
10101.110 (BIN)
-1001.001 (BIN)
1100.101 (BIN)
Ngjajshëm si te mbledhja një klasëshe mund të definohet dhe zbritsi i plot
njëkasësh i cili përdoret për zbritjen e dy numrave binar një shifror. Me zbritsin e plot
njëklasësh mund të realizohet zbritsi binar shumëklasësh.Megjithat, për realizimin e
zbritsit në kompjuter për në vend të procedurës së përshkruar përdoret paraqitja përmes
komplimentit. Mund të vëtetohet se përmes komplimentit operacioni i zbritjes
zëvendsohet me ate te mbledhjes të komplimetit të zvogluar.
Shembull: zbritja nga shembulli i mëparshëm me përdorimin e komplimentit të dytë
zavendsohet me mbledhje dhe ka formën:

Për vitin e IV-të elektroteknik i kompjuterëve 101


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

0 0 0 0 0 0 0 0 1 0 1 0 1. 1 1 0 (BIN)
+1 1 1 1 1 1 1 1 1 0 1 1 0. 1 1 1 (BIN)
1 0 0 0 0 0 0 0 0 0 1 1 0 0. 1 0 1( BIN)
Sipas rregullit të përdorimit të komplimenteve të dysheve njëshi për bartje në
pozicionin më të lartë hudhet (injorohet) dhe fitohet rezullti përfundimtar
0 0 0 0 0 0 0 0 0 1 1 0 0. 1 0 1, dmth 1 1 0 0. 1 0 1.

Shumëzimi binar

Rregulla e njohur e cila përdoret për sistemin numerik dekad përdoret dhe për
shumëzimin e dy numrave në sistemin numerik binar. Dallimi qëndron në ate se me
rastin e shumëzimit dhe mbledhjes tani përdoren tabelat e shumzimit në këtë sistem
numerik.
Tabela 4.4b jep shumëzimin për sistemin numerik binar. Numrat binar
shumëshifror shumëzohen ashtu që i shumzueshmi shumëzohet me shifren e nga secili
pozicion të shumzuesit, duke filluar nga shifra e peshës më të vogël, dhe prodhimet
partciale shkruhen njëri nën tjetrin të zhvendosur majtë për një vend, dhe më pas
mblidhen.
Shembull: shumëzoni në sistemin numerik binar numrat 1011.1 (BIN) dhe 110.1 (BIN)
1011.1
X 110.1
10111
10111
10111
1001010.11
Realizimi i shumëzimit në kompjuter bazohet në të njejtën rregull, por se
përdoret një procedur e modifikuar e cila ka formën si në fig 4.20;
1) Vendoset (AK)=0 , pra regjistri i akumulatorit në zero (vlerat fillestare mblidhen me
prodhimet parciale dhe (M)=n (numri i klasëve të shumzuesit);
2) Nëse shifra e shumëzuesit në pozicionin më me peshë më të vogël b0 e barabart me
një(b0=1), shto shumës prodhimin parcial të shumzuesit, nëse është zerro, mos e
shto;
3) Shumën e prodhimit parcial dhe shumzuesin zavendosni për një vend djathtë (në
këtë rastë shifra me peshë më vogël e shumëzuesit humb)
4) Zvoglo përmbatjen e regjistrit (M) për 1, d.m.th (M):=(M)-1
5) Nëse përmbatja e regjistrit (M) >0, kthehu në hapin 2, përdryshe përfundo
ekzekutimin e algoritmit.
Në fig 4.20 regjistrit AK iu është shtuar si zgjerim regjistri RQ. Me përfundimin e
procedurës së shumzimit prodhimi do të gjindet në kombinim regjistrave AK+RQ, pasi
dihet se me shumzimin e dy nunrave n-shifror mund të fitohet produkti i cili ka 2n
shifra. Duhet vrejtur se zhvendosja e prodhimit parcial djatht në regjistrin RQ nuk ka
ndikim në prodhmin parcial, pasi këto shifra janë me peshë më të ultë në të cilat shtimi
të shuzueshmit më tutje nuk ka ndikim.

Për vitin e IV-të elektroteknik i kompjuterëve 102


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Regjistri i shumzuaesshmit-RP Ishumzueshmi

Dhënja të shumëzueshmit
ALU
+
M n
AK 0 Shumzuesi b0 RQ

Zhvendosja djatht
për një vend
Fig.4.20.-Realizimi i shumëzimit

Shembull: Shumëzoni në sistemin numerik binar numrin 11001 (BIN) me numrin 110
(BIN).
Ishumëzueshmi :11001
Shuma parciale e prodhimit shumëzuesi
0000000000 110
0000000000
+ 11001 11
0000110010
00000110010
+ 11001 1
0 0 0 1 0 0 1 0 1 1 0 = Rezulltati
Nga procedura themelore e shumëzimit shihet se realizimi i shumëzimit binar në
kompjuter kryhet vetëm me mbledhjen e shumëfisht binare dhe zhvendosje për një
pozicion binar. Në këtë mënyrë është e mjaftueshme që në njësin aritmetike të ketë vetëm
mbledhës dhe qarqe për zhvendosje, të cilët mundësojnë që përmes instruksionit të
posaqëm për zhvendosje në njësin aritmetiko-logjike të realizohet zhvendosja.
Te prezentimi (paraqitja) me kompliment të numrave negativ ekzistojn algoritme
të posaqëm për shumëzim të numrave binar. Këtu shifra binare e shenjës trajtohet si të
tjerat, dhe për këtë duhet kryhet një koreksion i konsiderueshëm i rezulltatit.

Pjesëtimi binar
Pjestimi në sistemin binar kryhet sipas të njëjtës rregull si dhe në sistemin
numerik dekad, por duhet përdorur tabelën e mbledhjes dhe të shumëzimit për sistemin
numerik binar. Realizimi i operacionit të pjesëtimit në kompjuter kryhet diçka me një
procedur të modifikuar, dhe konsiton në zbritjen suksesive të pjestuesit nga i
pjestueshmi. Do të përshkruajm procedurën për pjestimin binar:

Për vitin e IV-të elektroteknik i kompjuterëve 103


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

1. vendoset herësi barazi me 0;


2. zhvendosim zbritësin majtë për n vende binare ndërsa shifrat të ndryshme nga
zero në pozicionet më të larta të pjestuesit të mos jenë në të njejtin vend sipas
vertikales me shifren të ndryshëm prej zerros në pozicionn më të lartë të të
pjestueshmit;
3. nëse pjestuesi i zhvendosur mund të zbritet prej të zbritshmit, kryhet zbritja dhe
shkruhet 1 në pozicionin e n-të të hersit. Nëse zbritja nuk është e mundshme,
zhvendoset pjestuesi për një vend djatht, ndrohet n me n-1 dhe procedura
përsëritet.
Numri i hapave të pjestimit është i kufizuar me numrin e pozicioneve për hersin, për
këtë arsye më së shpeshti pjestimi kryhet me përafrim, d.m.th. përafërsisht.
Procdura e përshkruar e pjestimit kërkon vetëm operacionin binar të zbritjes dhe të
zhvendosjes të numrave binar për një vend majt apo djathtë.

Shembull: Pjesëtoni në sistemin numrik binar numrin 1111101 (BIN) me numrin


101(BIN)
Hersi
Ipjesëtueshmi 1 1 1 1 1 0 1 000000
Pjesëtuesi 1010000
Pjesëtuesi 0101101 010000
Pjestëuesi 10 1 0 0 0
Pjestëuesi 000101 011000
Pjestëuesi 101
000 011001
Operacioni i pjesëtimit i numrave binar pozitiv mund të realizohet me të njëjtit
regjistra si në fig 4.20.

Pytje dhe detyra:


1. Ç’farë përshkruan arkitektura dhe ç’farë struktura e sistemit kompjuterik?
2. Cilat janë funksionet themelore të procesorit?
3. Prej cilalave aktivitete përbëhet ekzekutimi i programit?
4. Përmendni komponentet kryesore të procesorve?
5. Përshkruani skemën kryesore strukturorre të procesorit?
6. Përshkruani konfigurimin e kompjuterit personal?
7. Përshkruani arkitekturën e mikrroprocesorit i8086?
8. Përmendni regjistrat kryesorë kontrollues të procesorve dhe funksionet e tyre?
9. Përshkruani si zhvilohet procesi i shkrimit në kujtesë dhe leximit nga kujtesa ?

Për vitin e IV-të elektroteknik i kompjuterëve 104


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

10. Si zhvillohet thirrja e instruksionit nga kujtesa dhe vendosja e saj dhe regjistëri i
instruksioneve RI?
11. Cilët bita përmban regjistri i kushteve?
12. Cilët regjistra i përmban mikrroprocesori i 8086?
13. Cilat bita i përmban regjistri i kushteve i mkrroprocesorit i8086?
14. përmendni cilat dy funksone kryesore i kryen njësia kontrolluese?
15. Cilat lloje të ndërprerjeve ekzistojnë te mikrroprocesori i8086?
16. Përmes cilave sinjale dhe si zhvillohen ndërprerjet te mikrroprocesori i8086?
17. Si kryhet qasja direkte te mikroprocesori i8086?
18. Ç’farë është instruksion dhe cilat informacione duhet t’i përmbajë?
19. Ç’farë është mikrroinstruksion?
20. Ç’farë është adesim i kompjuterit dhe si në bazë të saj ndahet instruksionet?
21. Përshkruani formatet të cilat mund ti kenë instruksionet e mikrroprocesorit i8086?
22. Ç’farë është cklusi i ekzekutimit të instruksioneve dhe cilat faza i përmban?
23. Si rrjedhë faza e pregaditjes(thirrjes) së instruksineve?
24. Cilat janë karakteristikat themelore të arkitekturave RISK dhe CISK?
25. Në cilat faza ndahet cikli punues i procesorit te përpunimi tubacion (pipeline)?
26. Ç’farë janë mënyrat e adresimit dhe si formohen adresat efektive?
27. përmendni mënyrat kryesore të adresimit?
28. Cilat mënyra të adresimit përdoren te mikrroprocesori i80866?
29. Si formohet adresa efektive te adresimi drejtëpërdrejt, direkt dhe adresimi me
regjistra?
30. Si formohet adresa efektive te adresimi regjitër indirekt, bazik dhe indeks?
31. Cilat mënyra të adresimit ekzistojnë te mikrroprocesori i8086?
32. Për ç’farë shërben njësia aritmetiko-logjike dhe si realizohet?
33. Si ndahet bashkësia e instruksioneve të procesorit?
34. Çfarë është operacion unar dhe çfarë është operacion binar?
35. Ç’farë opracion njëklasësh dhe shumëklasësh?
36. Si bëhet mbledhja binare?
37. Si realizohet mbledhësi shumëklasësh binar?
38. Si bëhet zbritja binare?
39. Si zhvillohet procesi i shumëzimit të numrave pa shenjë dhe si realizohet?
40. Si zhvillohet procesi i pjetëmit i numrave pa shenjë?

Për vitin e IV-të elektroteknik i kompjuterëve 105


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

5. Asembler

5.1. Programimi sismbolik i makinës


Programi i makinës
Programi në kujtesën e kompjuterit vendoset në formën e koduar binare. Kjo
formë është e vetmja formë të cilën mund ta pranoj njësia kontrolluese(drejtuese) e
kompjuterit dhe ta ekzekutoj këtë.
Që një program për zgjidhjen e ndonjë problemi dhe ai të mund të jetë i
ekzekutuar në kompjuter, lypset që ai të pregaditet në formën e koduar binare. Megjithat,
shkrimi i programit në këtë formë është i vështirë dhe punё e mundimshme për shumë
arsye:
1) duhet ditë përmendsh të gjitha kodet e operacioneve;
2) duhet njohur përpara vendet në kujtesë në të cilat vendosen, pasi të gjitha
adresat shkruhen me vlera absolute;
3) duket shkruar numër shumë të madhë të shifrave binare.
Programet në kompjuterët e parë ishin shkruar në mënyrë që u përmend pasi në
atë kohë nuk kishte mjete të tjera. Por programerët filluan shumë shpejtë që vetës t’ju
lehtsojnë punën me rastin e shkrimit të programeve. Mundësia e tillë e parë e përmisimit
ishte shkrimi në vend të atij binar si heksadecimal. Për shkak të lidhjes së thjesht të
formës binare dhe heksadecimale përkthimi në formë binare kryhej para pregaditjes së
programit për futje, por shumë shpejt kjo detyrë iu besua programit të posaqëm i cili vetë
kryen përkthimin në formë binare. Në këtë rast në instruksione kodi i operacioneve është
nda nga pjesa adresuese e instruksionit për qëllim të përcjelljes më të leht.
Diçka pak më ndryshe shkrimi i programit, por mjaf i ngjashëm me atë paraprak,
është përbër në shkrimin e kodit të operacionit dhe adresave në formë decimale. Sipas
rëndësis kjo është e njejt, ndërsa përkthimi ishe diçka më vështirë, pase tani duhej kryhet
përkthimi nga forma decimale në formë binare.
Të metat më të rëndësishme të shkrimit të programit në formë binare ose
heksadecimale janë këto:
1) përcaktimi i adresave të vërteta. Para fillimit të shkrimit të programit duhet
ditur se sa hapsirë kujtese do ze programi, dhe sa të dhënat. Megjithat, këtu
akoma nuk ka informacione mbi ate se sa konstante ka në program., sa
kujtesë do të novojitet për mes rezulltate, sa do të jetë i gjat vetë programi.
2) Futja e ndryshimeve. Nëse programi është i shkruar, por duhet bërë
ndryshime, e posaqërisht nëse duhet shtuar instruksione, paraqitet nevoja
të bëhen ndryshime për instruksionet dhe të dhënat e shkruara, çka kërkon
dhe ndryshime në adresat e shumë instruksioneve.
3) Përcellja e programit. Programi i shkruar në formën (e koduar) shifrore
është i paprcjellshëm pasi nuk është i leht të përcjellet dhe të kuptohet. Kjo
është shumë e rёndsishme posaqërisht kur duhet bërë përmisime në
programin e shkruar ose të bëhen modifikime në te.

Për vitin e IV-të elektroteknik i kompjuterëve 106


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

4) Mbajtja mend e kodeve. Kjo mënyrë e pregaditjes së programit kërkon që të


mahen mend kodet shifrore të të gjitha operacioneve të cilët nganjëherë
janë disa qindra.
Zgjidhja e të metave që u dhanë në pregaditjen e programit është gjetur në paraqitjen
simbolike të adresave sipas të cilave vendosen instruksionet, si dhe në paraqitjen
simbolike të të gjitha pjesёve të instruksioneve.

Emrat simbolik
Emri simbolik(titulli simbolik, identifikator) paraqet vargun e përbër prej
germave të alfabetit dhe të shifrave decimale të cilat fillojnë me germё ndërsa shërbejn
për të shёnuar ndojë nocion ose objekt. Përdorimi i emrave simbolik në jetën e
përditshme është një metod shumë e përhapur dhe për këtë dhe është arsyeja e futjes së
tyre në programim.
Kodet e operacioneve dhe instruksioneve shkruhen me emra simbolik e cila në të
njejtën kohë paraqesin dhe shenja mneomike( emrat e zgjedhur kështu ndimojnë që më
leht të mbahen mend dhe nocione përkatëse në të cilën ajo ka të bëj ). P.sh. shenja
mneomike për zbritje(në gj.shqipe) mund të jetë ZB, zhvendosaja e akumulatorit
ZHAK, etj. Konsiderohet se është më mirë të përdoren shenjat mneoteknike prej 2, 3 ose
4 simbole (germa dhe shifra) dhe praktikisht ky numër sillet nga 1 deri në 6 ose 7
simbole.
Për shёnim simbolikë të operacioneve të realizuar në kompjuter ne do të
përdorim emra simbolik të cilat paraqesin shenja mnemonike(mneomoteknikës) të
emrave të këtyre operacioneve në gjuhën angleze, në të ardhmën pothuejse të gjithë
kompjuterët të cilët ne i përdorim janë të prodhuar në mjediset ku dhe flitet anglishtja.
Adresat e operandёve dhe adresën e pjesës së instruksionit gjithashtu shenohen
me emra simbolik. Ku është përvetsuar principi që emrat simbolik të adresave të
operandve paraqesin emrat e këtyre operandve. P.sh nëse shkruajmë LD X, atëhere X
paraqet emër simbolik të lokacionit të kujtesës në të cilën do të jetë e vendosur vlera për
variablën të cilën e kemi emёrtuar me X. Në vend të emrave simbolik dikur është lejuar
që për shenim të adresave për operand të përdoren shprehjet aritmetike në cilat figurojn
adresat dhe konstantat numra të plot, të ashtuquajturat shprehje adresuese. Në pjesën
adresuese të instruksionit përdoret nganjëherë emrat simbolik dhe në pjesën modifikatorit
të adresës.
Në program shpesh nevojitet që të thёrrasim ndonjë instruksion në te. Në këtë
rast nevojitet të futet emri simbolik për instruksion në tërsin të cilën tani e quajm shenja
ose emri i instruksionit (dikur është përdor termi llabela e instruksioni, etiketa). Shenja e
instruksionit faktikisht paraqet emër simbolik për adresën e lokacionit të kujtesës në të
cilën do të vendoset ai instruksion.

Forma simbolike e instruksionit


Pasi përdoren emrat simbolik për ti shёnuar elemente të veçanta të instruksionit,
pason forma e përgjithshme e instruksionit të kompjuterit menjë adres.
[<labela>:] <oper.>[<modifikator>][<pje.adr>] [;<komenti>]

Për vitin e IV-të elektroteknik i kompjuterëve 107


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Ky lloj i paraqitjes së instruksionit quhet instruksioni simbolik (i makinës). Emrat


e vendosur në kllapa katrore nuk janë gjithëmon të detyrueshme. Elementi <labela>
paraqet emrin e instrulsionit, d.m.th. labelën simbolike të adresës së lokacionit të
adresës, Në të cilën instruksioni do të vendoset. Labela e instruksionit përdoret vetëm në
rastet kur në ndonjë instruksion e thёrrasim në program. Elementi <modifikator>
shërben për specifikimin e më shumë të dhënave të cilat para së gjithash përdoren të
tregojn në modifikim të adresës gjat adresimit por mund të paraqesin dhe të dhёna të tjera
të domosdoshme për definim të sakt të operacionit. Elementi <pje.adr> paraqet emrin
simbolik të lokacionit të kujtesës në të cilën është i vendosur operandi. Te disa
instruksione në vend të adresës të operandit mund të ndodhet ndonjë e dhënë tjetër.
Elementi <koment>, cili nuk është i detyrueshëm dhe nuk është pjesë përbërse e
instruksionit, shërben që me fjalë detajisht të specifikohet se çka realizohet me atë
instruksion.
Shembull: Instruksioni i shkruar në formë simbolike do të duket kështu:

FILL: MOV AX, ADR; Bartja e të dhënave nga adresa ADR në


; regjistrin AX
Shkrimi i programit në mënyrë që instruksionet paraqiten në formën simbolike quhen
programimi simbolik i makinës ose programimi në asembler. Me këtë janë zgjidhur
shumë të meta të cilat ishin lajmruar gjat shkrimit të instruksionit në formën (e koduar)
shifrore.

Gjuha asembler
Gjuhët programuese te të cilat instruksionet në program paraqiten me
instruksione simbolike të makinës quhen gjuhë simbolike të makinës ose gjuhë asembler.
Karakterizohen me ate se janë shumë të ngjajshme me gjuhën e makinës së kompjuterit
konkret dhe me to qëndrojn në raport 1:1, d.m.th. secilit instruksion simbolik i përgjigjet
një instruksion i makinës. Kodi burimor i shkruar në gjuhën asembler përmban:
-instruksione asembler- instruksione që i shërbejn mikrroprocesorit,
-direktiva asembler (pseudoinstruksione)- instruksione që i shërbejn asemblerit
Gjuha simbolike e makinës krahas këtyre përmban dhe një varg mundësish shtesë
për shkrim, modifikime dhe pregaditje të programit.
Shembull:
;
push ds
mov ax,0
push ax
mov bx,dseg
mov ds,bx
mov es,bx
;
mov dx,offset mesazh1
call prints
mov dx,offset varg

Për vitin e IV-të elektroteknik i kompjuterëve 108


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

call inputs
call newline
;
Fig 5.1 Forma simbolke e programit
Përdorimi i gjuhës asembler për programim kërkon që kompjuteri të ketë një
program të posaqëm me të cilin programi simbolik të përkthehet në program makine,
d.m.th. në kodin binar.

Asembleri
Asembler paraqet program të posaqëm i cili i përket grupës të programeve të
sistemit me emrin përkthyes programi dhe shërben për përkthimin e programit simbolik
në program makine. Ku elementi labela përkthehet në adresën e lokacionit të kujtesës ku
instruksioni do të vendoset, operacionet përkthehen në kodin binar të operacionit, ndërsa
adresa e operandit në adresën ku është vendosur e dhëna mbi të cilën kryhet operacioni.
Modifikatori përkthehet në bita të posaqëm ose grup bitash të cilat specifikojn
informacione shtesë për ekzekutim të instruksionit. Me komponimin e elementeve :
operand, modifikator, adresa e operacionit, formohet kodi binar i instruksionit.
Që të mundet asembleri të bëjë përkthimin, novojitet me ia dhënë adresën
fillestare në kujtesë nga e cila fillon vondosja e programit. Te kompjuterët bashkёkohor
kjo punë bëhet me program të posaqëm sistemi, përkthimi nga gjuha asemblerike bëhet
në adresat relative duke filluar nga adresa 0. Adresat e vërteta formohon në çastin e futjes
së programit në kujtesё para ekzekutimit.

5. 2 Gjuha asembler e mikrroprocesorit i8086

Programi i shkruar në gjuhën asembler të mikrroprocesorit i8086 paraqet


programin asembler burimor dhe përbëhet prej urdhërave të cilat mund të jenë:
1)instruksionit në asembler dhe
2) direktivave asembler.
Instruksionet asemblerike në programin asembler burimor kanë rrolin të definojnë
se çka procesori duhet të bëjë. Secilit instruksion në asembler i përgjigjet një ose më
shumë insruksione në gjuhen e makinës.
Në shtesën në fund të librit janë tregur të gjitha instruksionet për mikrroprocesorin
i8086.
Direktivat asembler përdoren që të përcaktohet se çka asembleri duhet të bëjë.
D.m.th. se si në pocesin e përkthimit trajtohen instruksionet asembler dhe të dhënat në
programin e dhënë burimor.
Si dhe tek gjuhët e larta programuese, dhe në gjuhën asembler në secilën urdhëres
përmban variabla, llabela(etiketa), konstanta dhe operator.

Për vitin e IV-të elektroteknik i kompjuterëve 109


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Variablat
Variablat paraqesin shenjën(llabelën) për të dhënat e veçanta., d.m.th. për
lokacione kujtesash të caktuara në të cilat vendoset vlerat e këtyre të dhënave. Munden në
program të definohen në dy mënyra.:
-me direktivën për definim të të dhënave dhe
-LABEL-direktivën
Secila varibël është e përcaktuar me këto atribute:
-segment- segmenti i kujtesës në të cilën ndodhen vlerat e variablave.
-zhvendosja – distanca në bajta nga fillimi i segmentit deri te fillimi variblës të
lokacionit të kujtesës në kuadër të segmentit;.
-tip-gjatësia e variblës në bajt.

Në asembler-in për i8086, janë të definuara tipet si në vazhdim të variablave:

-BYTE-për variablat e gjatësis prej 1 bajt;


-WORD-për varibla të gjatësisë prej 2 bajta;
-DWORD-për variabla të gjatësisë prej 4 bajta.

Labelat
Labelat paraqesin shenja(etiketa) për pjesë të progarameve në të cilët mund të
“kalohet” ose të “kapërcehet” ose për pjesë të programeve ose për pjesë të programeve të
cilat mund thirren siç janë nënprogramet. Si dhe variablat, dhe labelat përmbajn tre
atribute : segment, zhvendosje dhe tip. Segmenti dhe zhvendosja kanë të njejtin kuptim
si dhe tek variablat, gjersa tip specifikon tipin e instruksionit e cila do të ekzekutohet në
lokacionin e dhënë në program. Për labelat janë të definuara dy tipet në vazhdim.
-NEAR- shenja për label të cilës iu qaset prej të njejtit sigment fizik dhe
-FAR- shenja për label të cilës të cilës iu qaset nga sgmenti i tjetër fizik.

Konstantet
Konstantet të cilat mund të përdoren në gjuhën asembler të mikrroprocesorit
i8086 mund të jenë :
-numra ,
-shenja ose germa.
Konstantat numra mund të jenë :
-binare,
-decimale dhe
-heksadecimale.
Konstantet numra përbëhen prej shifrave binare (njishe dhe zero) në fund të të
cilave duhet të jetë shenja se punohet me sistemin numerik binar p.sh germa B:
1100101B.
Konstantet decimale përbëhen prej vargut të shifrave arabe (0 deri 9) në fund të
vargut me shifra vendoset shenja për sistemin numerik dekad : germa D. Për dallim prej
konstanteve binare, konstantet decimale s’është e thënun të mbajnë shenjë për sistem
numerik dekad.

Për vitin e IV-të elektroteknik i kompjuterëve 110


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Konstanet heksadecimale përbëhen prej vargut të shifrave hesadecimale (0 deri 9,


a-f). në fund të vargut ndodhet germa H, si shenjë për sistemin numerik dekad p.sh.140H,
A0F3H.
Konstantet shenja përbëhen prej vargut të germave, shifrave dhe të simboleve
grafike ose shenjave speciale të cilat shkruhen ndërmjet të thonjëzave ose shenjave të
apostrofave “konstantet shenja” dhe ‘ ky eshte shembull’ janë shenja konstante të
shkruara drejt.

Operatorët
Operatoret kan rrol që të modifikojn operandët e instruksionit të gjuhës asembler.
Ekzistojnë:
-operator aritmetik: +, -, *, /, Mod, SHL, SHR;
-operator logjik: AND, OR, XOR, NOT
-operatorët relacional: EQ, NE, LT, GT, LE, GE;
-operator vlerë-kthyes: $, SEG, OFFSET, LENGTH, TYPE, SIZE.
-Atribute: PTR, SHORT, THIS, HIGH, LOW;
Përdormi i operatorve të veçant do të spjegohen në shembujt konkret.

5.3 Direktivat në asembler


krahas instruksioneve simbolike të makinës, gjuha asembler përmban dhe një
numër të caktuar të urdhëresave të posaqme të cilat nuk përkthehen në kodin e makinës.
Por vetëm shërbejn të japin informacione të caktura asemblerit(program përkthyes) gjatë
kohës së vetë përkthimit. Informacionet me të cilat barten udhëzimet asemblerit se çka të
punoj me instruksionet dhe të dhënat e caktura. Këto instruksione quhen urdhëresa
asamblerit, pseudourdhëresa ose direktiva të asemblerit. Formati i përgjithshëm i
shenimt të direktivës së asembleri është:
[emri] <direktiva > [< fusha me operande>] [;< komenti>]
Direktivat asembler mund të ndahen në katër grupe:
1) direktivat për përkrahje të punës me segmente të mikrroprocesorit i 8086;
2) direktiva për definim të simboleve, labelave dhe të inicilalizimit të programit.
3) Direktiva tё lidhura për informacionet mbi locimin e programit
4) Direktivat të cilat japin informacione gjat lidhjes së programit.

Direktivat për përkrahjen e punës segmentore të mikrroprocesorit i8086


SEGMENTS/ENDS- mundëson definimin e segmentëve logjik;
ASSUME – definon përmbatjen e segmenteve të regjistrave;
GROUP-mundëson kombinimin e segmentëve të ndryshëm logjik në një segment fizik..
Direktivat për definim simboleve, labelave dhe inicializimin e variablave:
EQU -mundëson definimin e simboleve;
= -mundëson definim e simboleve vetëm në shprehjet numerike;
DB -definon variblën e tipit BYTE;
DW -deifinon variblën e tipit WORD;
DD -definon variblën e tipit DWORD;

Për vitin e IV-të elektroteknik i kompjuterëve 111


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

PROC -definon labelën për grupën e urdhëresave e cila paraqet nënprogram;


LABEL-definon emrin e lokacionit aktual e cili asemblohet.

DIREKTIVAT që kanë të bëjnë me informacionet mbi locimin e programit


ORG -vendoset numruesi i instruksionit në vlerën e dëshiruar.
EVEN-vendoset instruksioni mbas kësaj direktive në lokacionet çifte në kujtesë.

Direktivat të cilat japin informacione gjat lidhjes (linkimit) të programit.


PUBLIC-definon se cilat janë konstantat, variblat ose labelat prej moduleve të
tjerë programues janë të qasshme me rastin e lidhjes.;
EXTERN-definon ato variabla ose labela të cilat në modulin e dhënë përdoren,
dhe se cilat janë si PUBLIC të deklarura në ndonjë modul tjetër të programit;
NAME-definon emrin e modulit object;
END-Urdhëri i fundit në modul e cila shenon përfundimn e procesit të asemblerit.

5.4. Tipet e instruksioneve asembler


Numri dhe tipi i instruksionit të realizur në ndonjë kompjuter varet nga qëllimi
dhe madhësia e kompjuterit. Nga kjo, praktika tregon se varsisht prej aplikimit mund të
përcaktohet bashkësia më ekonomike e instruksioneve, klasifikimi i instruksionev dhe
grupa e instruksionev të natyrës së njetë nuk është gjithmon e thjesht. Ne të gjitha
instruksionet në asembler për i8086 do ti rangojmë në klasët si në vazhdim:
1) instruksionet për bartje të të dhënave,
2) instruksionet aritmetike,
3) instruksionet logjike,
4) instruksione zhvendose dhe rrotulluese,
5) instruksione kontrolluese me rrjedhën e ekzekutimit të programit,
a)instruksionet për degëzim
b)instruksionet për kapërcim dhe
c)instruksionet për cikluse programuse.
6) instruksionet hyrëse dalëse
7) instruksionet për punë me nënprograme
8) instruksione të tjera.
Instruksionet për bartje të të dhënave bëjn thirrjen e përmbatjes së kujtesës në
akumulator AK ose të ndonjë regjistri tjetër të procesorit, dërgimi i përmbatjes së
akumulatorit ose të ndonjë regjistri tjetër në kujtesë, dërgimin nga njëri regjistër në tjetër,
dërgimin nga njëri lokacion i kujtesë në tjetrin, puna me magaciën(stekun) etj.
Operacionet aritmetike shërbejn për ekzekutimin të operacioneve themelore aritmetike:
të mbledhjes, zbritjes, shumzimin dhe pjestimin, më tutje krahasimin e përmbatjeve,
komplementimin, krahasimin ose zvoglimin e përmbatjes për ndonjë vlerë të dhënë etj.
Instruksionet për operacione logjike realizojnë operacione të algjebrës së bulit
(ndërpresve): AND, OR, XOR dhe NOT.
Instruksionet për zhvendoseje bëjnë zhvendosjen e përmbatjes binare të ndonjë regjistri
në procesor, më së shpeshti të akumulatorit, për një numër të caktuar të pozicioneve

Për vitin e IV-të elektroteknik i kompjuterëve 112


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

majtë ose djathtë. Këtu ekziston variante të ndryshme, varsisht se a është zhvendosja
rrotulluse apo jo.
Instruksionet për kontrollë të rrjedhës së ekzekutimit të programit ose instruksionet
për degëzim mundësojnë që të ekzekutohet njëra ose tjera pjesë e programit varsisht prej
ndonjë kushti të dhënë(të marrë) gjatë rrjedhës së punës së programit.për këtë këto
ndikojnë në rradhën e ekzekutimit të instruksioneve.
Instruksionet hyrëse/dalëse shërbejn për bartjen e të dhënave nga procesori në ndonjë
pajisje periferike ose të leximit nga pajisja pariferike në procesor, gjthashtu të testimit,
fshirjes ose vendosjen e indikatorve të gjendjes në pajisjet periferike.
Në grupën e instruksioneve me emrin instruksione të tjera përfshhihen instruksionet
të cilat nuk mund të rangohen në asnjërn prej grupave që i përshkruam. Ne këtu do ti
shqyrtojmë instruksionet pa veprime (s’kan operacione), ndalja ose ndërprerja e
ekzekutimit të programit, pritjet në ndonjë kusht, ndalimi ose lejimi të ndërprerjes së
programit etj.

5.5. instruksionet për bartje të të dhënave


Istruksionet për bartje të të dhënave mund të ndahen në katër grupe:
1) instruksionet për qëllime të përgjthshme
2) instruksionet hyrëse-dalëse
3) instruksionet për barte të adresave
4) instruksionet për bartje të indikatorve (flegeve-ang flags)

Instruksionet për qëllime të përgjithshme


Grupën e instruksioneve për bartje të të dhënave për qëllime të përgjithshme e
përbëjnë këto instruksione:
a) MOV CAK, BURIM
Me këtë instruksion operandi i djathtë(burimor) (BURIM), kopjohet në
oprandin e dytë (Cak ose destinues) (CAK), ku në këtë rast operandi i djathtë
dhe bit-et e regjistrit të kushtit mbeten të pandryshuara., mundësohet bartja e
të dhënave ndërmjet dy regjistrave, kujtesës dhe regjistrave dhe anasjelltas,
shkrimi i konstantave në regjistër ose në lokacionin e kujtesës. Instruksioni
MOV nuk lejon bartjen e të dhënave ndërmjet dy lokacioneve të kujtesës dhe
shkrimin direkt të të dhënave në segmentet e regjistrit, çka është si pasoj e
kufizimit të vetë mikrroprocesorit i8086.
Shembuj:
MOV CX, DX; përmbatja e rgjistrit DX kopjohet në regjistrin CX
MOV CIFR 9 ; shkruhet në lokacionin e kujtesës numër 9
MOV AL, 33 ; shkruan konstanten (numrin 33) në regjister
MOVE VENDI, AX; shkruan përmbatjen e regjistrit AX në lokacioninin

; e kujtesës VENDI
b) PUSH BURIM
Me këtë i instruksion përmbatja e operandit burimor BURIM shkruhet në

Për vitin e IV-të elektroteknik i kompjuterëve 113


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

kujtesën stek (magacin). Gjatë ekzekutimit të instruksionit PUSH, përmbatja


e treguesit të stekut dekriminohet (zvoglohet ) për dy, ndërsa më pas në kokë
të stekut bartet përmbatja e operandit burim BURIM. Operandi BURIM
duhet të jetë i gjatësisë dy bajta dhe mund të mos jetë oprand direkt.
forma e përgjishme
PUSH regjistër 16 bitësh
PUSH regjistër segment
PUSH regjistër lokacion 16 bitësh i kujtesës

Shembuj:
PUSH AX
PUSH DX
PUSH WORD PTR[SI+2000]
PUSH [F0F0]
PUSH BX ;(UM:=(BX); UM:=(UM)+1
PUSH AX ;përmbatja e regjistrit AX shkruhet në kokë të stekut
Në procesorin 8086/88 mund ti vejmë/hjekim në/nga stek të gjitha regjistrat 16
bitësh(CS,DS,SS,ES,F dhe IP)

0000 2A
0001 3A Gjendja e stekut para
0002 5C urdhëresës PUSH Nga fig shihet se SP ka vleren 0005
0003 4D ndersa BX=ab02 kur te ekzekutohet
udhresa PUSH BX, SP do te zvoglohet
0004 FA <== SP=0005 per 2
0005 2C BX=AB02 per kete ne adresen ne te cilin tani tregon
0006 3D per mbatja e bx do te duket si me fig
0007 4C
0008 15
0009 ED

Për vitin e IV-të elektroteknik i kompjuterëve 114


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

 
0000 2A Gjendja e stekut para
0001 3A urdhëresës PUSH
0002 5C
0003 02 <== SP=0003
0004 AB BX=AB02
0005 2C
0006 3D
0007 4C
0008 15
0009 ED

c) POP CAK
Me këtë instruksion realizohet leximi të përmbatjes të kujtesës stek,
d.m.th.bartja e të dhënave nga koka e stekut në operandin CAK. Pas
ekzekutimit të këtij instruksioni treguesi i stekut inkrimentohet (rritet) për dy
dhe me këtë tregon në kokën e re të stekut.
Shembuj:
POP BX ;(UM):=(UM)-1; (BX):=((UM))
POP AX ; kopjohet përmbatja nga koka e stekut në AX
shembull :
POP CX
POP[FFFF]
POP DC
POP CS –është shpesh e ndalueme per pune (shih fig)
le ta vëzhgojmë situatën si në fig e më parshme e cila tregon gjendjen e stekut
pas instruksioni PUSH BX. Tani le ta japim POP DX , steku do te duket
keshtu:

0000 2A
0001 3A Gjendja e stekut pas
0002 5C urdhëresës POP DX
0003 02
0004 AB <== SP=0005
0005 2C BX=AB02,
0006 3D DX=AB02
0007 4C

Për vitin e IV-të elektroteknik i kompjuterëve 115


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

0008 15
0009 ED
d)
e) XCHG CAK, BURIM
Me këtë instruksion shkëmehen përmbatjet e operandit BURIM dhe CAK.
Gjatë ekzekutimit të këtij instruksioni së paku një operand duhet të jetë
regjistër, por regjitrat segment nuk mund të përdoren si operanda.
Shembuj:
XCHG AX, DX ; këmbehet përmbatja AX dhe DX
p.sh përmes instruksionit MOV do të dukej kështu:
MOV CX, DX
MOV DX,AX
MOV AX, CX (Siç shihet duhen tre instruksione dhe një regjister me hargju
ma tepër);
XCHG VAR, AX ;regjistri AX mbushet me vlerën e variablës VAR të
tipit ;DW dhe në të njetën kohë variabla VAR merr vlerën e përmbatjes së
;regjistrit AX
f) XLAT
Ky instruksion bart anëtar të caktuar të vargut (tabelës) në AL. Përdoret
kryesisht për adresim indirekt, për çka është e domosdoshme se para thirrjes të
këtij instruksioni inicializohet regjistri bazor BX në vlerën e zhvendosjes të të
dhënave e cila bartet.
p.sh përmes mov do të ishte kështu: MOV AL, [BX,AL]

Instruksionet për bartje të adresave


Grupës të instruksioneve për bartje të adresave i karakterizon vetia se me to
zhvendosen adresat efektive, e jo variablat. përbëhet prej instruksioneve në vazhdim.
a) LDS REG, BURIM
Ky instruksion bartë të dhënën (32 bita) nga lokacioni i kujtesës BURIM
dhe 16 bitat e ult (të poshtëm) i bart në regjistrin REG, nëdrsa 16 bitat e lart i
bart në regjistrin DS
b) LES REG, BURIM
Ky instruksion prodhon të njejtin efekt si dhe instruksioni LDS, vetëm se në
vend të regjistrit DS mbushtet segmenti i regjistrit ES.
c) LEA REG, BURIM
Me këtë instruksion kryhet barja në kuadër të të njejti adresë të segmentit
BURIM prej 16 bitave në regjistrin REG. Të njejtin efekt e prodhonë dhe
instruksioni në vazhdim:
MOV REG, OFFSET BURM; BURIM është emri i variblës.
Shembuj:
LEA BX, EDHANA ;bartet adresa EDHANA në regjistrin BX
LDS CX, SIMBOLI ; Në regjistrin CX bartet vargu 16 bita, gjerësa
; në regjistrin DS barten 16 bitat e lartë adresës së
;lokacionit të kujtesës SIMBOLI

Për vitin e IV-të elektroteknik i kompjuterëve 116


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Instruksionet Për bartje të indikatorve (flegeve)


Regjistri i gjendjeve ( REGJISTRI PSW) është 16 bitësh, dhe secili bitë quhet
indikator, fleg ose marker. Instruksionet për bartje të indikatoreve ose instruksionet e
markerve përdoren pa operand dhe kanë rrolin të bartin të dhëna në regjistrat e gjendjeve
ose nga regjistri i gjendjeve. Këtë grup të instruksioneve e përbëjnë këto instruksione.
a) LAHF
Me këtë instruksion bartet bajti i ultë i regjistrit të gjendjes dhe bajti i lart i
regjistrit AX
b) SAHF
Me këtë instruksion barten bajtat e regjistrit AH në bajt të ulët të regjistrit të
gjendjes.
c) POPF
Me këtë instruksion bëhet bartja e përmbatjes të regjistrit të kushtit (regjistrit
të gjendjes) në stek.
d) PUSHF
me këtë instruksion kthehet përmbatja e regjistrit të kushtit nga steku.

5.6. Instruksionet aritmetike


Instruksionet aretmitikore të realizuara në mikrroprocesorin i 8086 mund të
ndahen në tre grupe, varsisht prej tipeve të operandve të cilët përdoren:
1. instruksione të cilat përdorin operand në formë binare,
2. instruksione të cilat përdorin operande në kodin e paketuar BCD dhe
3. instruksione të cilat nuk përdorin kodin paket BCD
Instruksionet aritmetike mund të ndahen dhe sipas operacioneve të cilat realizohen
mbi operandët. Sipas kësaj ndarje ekzistojn grupet si në vazhdim të instruksioneve:
1. instruksione për mbledhje ,
2. instruksione për zbritje ,
3. instruksione për shumëzim dhe
4. instruksione për pjestim.

Instruksiont për mbledhje


Për realizimin e mbledhës të të dhënave binare ekzistojnë pesë instruksione
a) ADD CAK, BURIM
Me këtë instruksion përmbatja e operandit BURIM i jipet përmbatjes cak CAK.
Si operande mund të lajmrohen:
-regjistrat;
-regjistri dhe lokacioni i kujtesës
-lokacioni i kujtesës dhe regjistëri
-operandi i drejtëpërderejt dhe lokacioni i kujtesës
-operandi i drejtëpërderejt dhe regjistri
Shembuj:
ADD BX,CX ;Përmbatja e regjistrit CX i shtohet regjistrit BX d.m.th.
;(BX):=(BX)+(CX)

Për vitin e IV-të elektroteknik i kompjuterëve 117


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

ADD CL, 22H; bajti i ultë i regjistrit CX rritet për 22H


ADD CH,DL; (CH):=(CH)+(DL)
b) ADC CAK, BURIM
Me këtë instruksion realizohet operacioni i mbledhjes me bartje, d.m.th. mbledhet
përmbatja e operandit BURIM dhe CAK, i shtohet përmbatja e indikatorit CF , ndërasa
shuma shkruhet në operandin CAK. Si operande mund të lajmrohen të gjitha tipet të
cilaët përdoren te mbledhësi binar.
c) AAA (ASCII adjust for addition)
Me këtë instruksion korigjihet rezulltati i mbledhjes të dy shifrave jopaket BCD.
Supozohet se rezulltati ndodhet në bajtin e ultë të regjistrit AX.
ç) DAA (decimal adjust for addition)
Me këtë instruksion korigjohet rezulltatit i mbledhjes së dy bajtave të cilët
përmbajnë nga dy shifra BCD paket. Përdoret kur pasë mbledhjes të dy numrave paket
dhe rezulltati duhet të shëndrrohet në numrët paket decimal.
Shembull:
MOV AL, 0111 0111B ; (77) AL=0111 0111
ADD AL, 0001 0111B ; (17) AL=1000 1110 ???
DAA ; AL=1001 0100(94 BCD)
d) INC CAK (increment-rritje për një)
Me këtë instruksion oprandi inkrimentohet, d.m.th. oprandit CAK i shtohet numri
1 dhe rezulltati shkruhet në të njejtin vend. Si operandë mund të përdoren regjistrat dhe
lokacionet e kujtesave.
Shembuj:
INC DX ; përmbatja e regjistrit DX rritet për 1
INC MEM ; përmbatja e lokacionit të kujtesës rritet për 1

Instruksionet për zbritje


Për realizimin e zbritjes në asembler ekzistojnë shtatë instruksione:
a) SUB CAK, BURIM
Me këtë instruksion zbritet operand i djatht nga operandi i majt dhe rezulltati
vendoset në operandin e majtë –CAK
Shembuj:
SUB AL, DL ;nga përmbatja e regjistrit AL, zbritet përmbatja e regjistrit DL
; dhe rezulltati vendoset përsëri në regjistrin AL
SUB CX,BX ; Përmbatja e regjistrit CX zvoglohet për përmbatjen e regjistrit
BX
SUB DX, 35 ; Përmbatja e e regjistrit DX zvoglohet për 35
SUB NEN, BX; përmbatja e lokacionit të kujtesës në adresën NEN zvoglohet
për përmbatjen e regjistrit BX
b) SBB CAK, BURIM
Me këtë instruksion realizohet operacioni i zbritjes të operandit të djathtë
(BURIM) dhe përmbatja e indikatorit CF nga operandi i majtë (CAK) . Operandët që
mund të përdoren janë të të njetit tip si dhe për instruksionin SUB.

Për vitin e IV-të elektroteknik i kompjuterëve 118


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

c) DEC CAK (decrement- zvoglim për një)


Me këtë instruksion vlera e operandit CAK zvoglohet për 1. Si operandë mund të
përdoren regjistrat dhe lokacionet e kujtesave.
ç) NEG CAK
Me këtë instruksion formohet komplimenti i plotë(i dytë) i operandit CAK, d
.m.th ndron shenja e operandit CAK. Si operand mund të pordoret regjistri si dhe
lokacioni i kujtesës
d) CMC CAK, BURIM
Me këtë instruksion realizohet operacioni i zbritjes, por se në operandin CAK nuk
shkruhet rezulltati. Ky instruksion vetëm ndikon në indikatorët të regjistrit të kushtit dhe
përdoret gjatë realizimit të degzimeve me kushtë.
e) ASS (Asscii adjust for substraction)
Ky instruksion korigjon rezulltatin në regjistrin AL pas zbritjes së dy shifrave jo
paket BCD.
ë ) DAS (Decimal adjust for substraction)
ky instruksion korigjon rezulltatin e zbritjes së dy bajtave të cilët përmbajnë dy
shifra BCD paket. Instruksioni ASS dhe DAS kanë efekt analog me instruksionet AAA
dhe DAA tek mbledhja

Instruksioni për shumëzim


Për realizimin e operacionit të shumzimit përdoren tre instruksione :
a) MUL BURIM
Ky instruksion përdoret për shumzimin e numarave shenuar. Përmbatja e
regjistrit AL , shumzohet me operandin burim dhe rezulltati vendoset në regjistrin AX.
Operandi burim mund të jetë regjistër tetëbitësh ose lokacion kujtese. Nëse operandët
janë gjashtmbëdhjetbitësh , atëhere rezulltati vendoset në çiftin e regjistrave DX, AX
b) IMUL CAK (integer multiplacation)
Ky instruksion shumzon numrat e shënuar. Operandët dhe rezulltati i operacionit
ndahen njejtë si dhe te instruksioni MUL
c) AAM (ascII adjust for multiplacation) ky instruksion përdoret pas shumzimit
të numrave decimal jo paket, ashtu që shifara e parë(më e ulta) shkon në AL , ndëra e
dyta (e larta) vendoset në AH

Instruksionet për pjestim


Ngjajshëm si dhe te operacioni i shumzimit , për realizimin e operacionit të
pjestimit përdoren tre instuksione: për numra të pa shenuar(emëruar) dhe numra të
shenuar dhe për rregullimin e operandve jo paket
a) DIV BURIM
Me këtë instruksion pjestohen dy numa të pa shenuar ( me operandin tetëbitësh
dhe gjashtëmbdhjetëbitësh):
- nëse operandi BURIM (i cili mund të jetë regjistër ose lokacion kujtese ) është
tetëbitësh , atëhere përmbatja e regjistrit AX ndahet me përmbatjen e operandit dhe
rezulltati vendoset në regjistrin AL, ndërsa mbetja e pjestimit në regjistrin AH;

Për vitin e IV-të elektroteknik i kompjuterëve 119


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

-nëse operandi është gjashtëmbdhjetëbitësh , atëhere përmbatja e çiftit të


regjistrave DX dhe AX paarqet të pjesueshmin , hersi pas operacionit vendoset në
regjistrin AX , ndërsa mbetja në regjistrin DX
b) IDIV BURIM (integer division)
Ky instruksion kryn të njetin vprim si dhe instruksioni DIV ,vetëm se ajo e bënë
me numra të shenuar.
c) AAD (ASCII adjust for division)
Ky instruksion pregadit dy numra jo paket BCD të të pjestueshmit në regjistrin
AX për operacionin e pjestimit

Për vitin e IV-të elektroteknik i kompjuterëve 120


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Për vitin e IV-të elektroteknik i kompjuterëve 121


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

5.7. Instruksionet logjike


Operacionet logjike
Për kryerjen e përpunimeve të ndryshme mbi të dhëna krahas operacioneve
aritmetike shpesh përdoren dhe disa operacione të tjera. Një grup të tillë të operacioneve
e përbëjnë operacionet logjike të cilat ekzekutohen paralelisht mbi mbi vlerat binare 0
dhe 1 në pozicionet përkatëse (të njejta) të fjalëve të makinës . Rregulla për operacione
logjike është dhënë në tabelën 5.2
Tabela 5.2.- operacionet logjike
O 1 0 1 0 1
AN OR XOR
D
O 0 0 0 0 1 0 0 1
1 0 1 1 1 1 1 1 0

Instruksiontet për Operacionet logjike


Këtë grup e përbëjnë instruksionet dyoperandësh :AND, OR, XOR, TEST dhe
instruksioni një operandësh NOT. Si operandë në instruksionet logjike mund të lajmrohen
regjistrat , lokacionet e kujtesave dhe konstantat , të gjatësisë së fjalës ose të bajtave.
a) AND CAK, BURIM
Me këtë instruksion kryhet operacioni logjik “DHE” mbi operandët CAK dhe
BURIM , ndërsa rezulltati vendoset në operandin CAK.
b) OR CAK, BURIM
Me këtë instruksion kryhet operacioni logjik “OSE Ekskuzive” mbi operandët
CAK dhe BURIM , ndërsa rezulltati vendoset në operandin CAK.
c) XOR CAK, BURIM
Me këtë instruksion kryhet operacioni logjik “OSE” mbi operandët CAK dhe
BURIM , ndërsa rezulltati vendoset në operandin CAK.
ç) TEST CAK, BURIM
Me këtë instruksion kryhet operacioni logjik “DHE” mbi operandët CAK dhe
BURIM , ndërsa rezulltati askund nuk shkruhet (ngjajshëm si dhe te instruksoni CMC).
Qëllimi kryesor i këtij instruksioni është vendosja e bitave të regjistrit të kushtit (kodit të
gjendjeve). Më së shpeshtë pas këtij instruksioni në program pason ndonjëra prej
instruksioneve të degzimit me kusht.
d) NOT CAK
Ky instruksion kryen inverzionin e bitave në operand ,d.m.th.kryen komplementin
e parë. Si operand mund të përdoret regjistrat ose lokacionet e kujtesës.
Operacionet e tjera logjike mund të realizohen me përdorimin e këtyre
instruksioneve në bazë të lidhjeve të cilat janë mësuar në algjebrën e ndërprersve
(BULIT).

Për vitin e IV-të elektroteknik i kompjuterëve 122


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Përdorimi i operacioneve logjike


Më së shpeshti operacionet logjike përdoren për ndarjen e pjesve të veçanta të
fjalëve të makinës (maskimi përmes operacionit AND), lidhja e grupës së bitave në një
fjalë (paketimi përmes operacionit logjik OR) ose krahasimi se a janë dy përmbatje të
njeta (përdorimi i operacionit logjik XOR ose TEST).
Nëse ISO 7 (ASCII) janë kode të vendosur në lokacion 16-bitësh të kujtesës ,
atëhere kodet për simbole të veçanta ndahen me zbatimin e operacionit të maskimit në
mënyrën si në vazhdim:
0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 përmbatja fillestare
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 maska
AND
0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ndarja e kodit të simbolit të majtë
Operacioni logjik OR mund të përdoret për procedurë të kundërt –“ Paketimi” të
dy vargjeve binar të ndryshëm në një fjalë , në mënyrën si në vazhdim:
0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 përmbatja 1
0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 përmbatja 2
OR
0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 rezulltati

Operacioni XOR mund të përdoret për krahasim (komperacion), ashtu që në


rastin e dy përmbatjeve të njejta përfitohet rezulltati 00 . . . 00.
Për krahasim e dy përmbatjeve të njeta mund të përdoret dhe operacioni i zbritjes
ose operacioni i komperaciont CMP. Pasi procesori e ka të realizuar operacionin CMP,
nganjëher më mirë është që ky të përdoret, pasi dhe ky vendos indikator në regjistrin e
kushtit. Me instruksionet e degëzimit menjëher pas instruksionit CMP vazhdon
programi në njërën ose tjetrën kahje.

5.8. Instruksionet e zhvendosjes dhe rrotullimit

Operacioni i zhvendosjes
Me operacionin e zhvendosjes përbatja binare i ndonjë regjistri të procesorit
qendror zhvendoset për një apo më shumë pozicione binare majtë ose djathtë. Zhvendosja
majtë për një vend përcakton se shifra binare ngo pozicioni i i-të zhvendoset në
pozicionin e i+1. P.sh. përmbatja e 00110101 e zhvendosër majtë për një vend merr
formën 01101010. Varsisht nga mënyra në të cilën punohet me bita në pozicionet e larta
dhe të ulta dallohen zhvendosjet logjike , zhvendosjet aritmetike dhe rrotullimi.
Zhvendosja e përmbatjes binare për një vend majtë është ekujvalente me
shumzimin e asaj përmbatje me 2. zhvendosja djathtë për një vend është ekujvalent me
pjestimin e përmbatjes për 2.
Operacioni i zhvendosjes përdoret më së shumti me rastin e realizimit të
operacioneve aritmetike të shumzimit dhe pjestimit , por ka dhe shumë zbatime të tjera
praktike. P.sh , për paketimin e kodeve të simboleve të cilët ndodhen në dy regjistra të
ndryshëm ose në lokacionin e kërkesës spari zhvendoset njëri prej tyre për 8 pozicione.

Për vitin e IV-të elektroteknik i kompjuterëve 123


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Instruksoni për zhvendosje logjike


Gjatë zhvendosjes logjike për një vend majt bit-i me pesh më të lartë humb,
ndërsa në pozicionin me peshë më të vogël shkruhet 0. gjatë zhvendosjes logjike për një
vend djathtë bit-i me pesh më të ultë humb ndërsa në pozicionin me peshë më të lartë
shkruhet 0.
Shembull:
1001110101100011 përmbatja fillestare

1110101100011000 gjendja pas zhvendosjes për tre vende majt (bit-ët 100
humbin)
0010011101011000 gjendja pas zhvendosjes logjike për dy vende djathtë (bit-ët
11 humbin)
instruksionet për zhvendosje logjike majtë dhe djathtë kanë format si në vazhdim:
a)SHL CAK, K
SHL
CF (shift left)

Me këtë instruksion realizohet zhvendosja në të majtë e përmbatjes AK për k


vende. Operandi k mund të jetë numri 1 ose regjistri CL. Nëqoftëse operandi k është
regjistri CL, atëhere zhvendosja në të majtë bëhet për aq vende sa dhe numri është i
shkruar në regjistër. Për procesorin i80286 dhe më të rinjë , si operand k mund të
lajmrohet konstanta dhe më e madhe se 1.
b) SHR CAK, K
SHR
(Shift right) CF

Me këtë instruksion realizohet zhvendosja në të djathtë e përmbatjes AK për k


vende. Operandi k ka të njetin rrol si dhe te instruksioni SHL.
Me këtë instruksion regjistri përmbatja e të cilit zhvendoset zgjerohet me bitin e
bartjes CF (sikur të ishte biti i nëntë në regjistër ). Në këtë rastë , gjat zhvendosjes majtë,
biti me peshë më të lartë bartet në CF , gjendja e vjetër e bitit CF humb, ndërsa në
pozicionin me pesh më të ulët shkruhet 0. me rastin e zhvendosjes djathtë bartja CF
trajtohet si sikur të ndodhet para pozicionit me peshë më të ultë , dhe se në te shkruhet
biti nga pozicioni më i ulët, ndërsa në pozicionin me peshë më të vogël shkruhet 0

Për vitin e IV-të elektroteknik i kompjuterëve 124


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Instuksionet për zhvendosje aritmetike


Zhvendosja aritmetike bëhet në të djathtë për numrin e nevojshëm të vendeve, dhe
qëllimi kryesor që këtu realizohet është të mbajturit e shenjës nga pozicioni më i lartë.
Gjat zhvendosjes aritmetike të numrit pozitiv djathtë, në pozicionin më të larë mbahet 0
për shenjë dhe në të njejtënkohë shkruhet zorro në pozicionin e djathtë fqinjë. Gjatë
zhvendosjes aritmetike të numrit negativ në pozicionin më të lartë mbahet 1, por në të
njetën kohë në pozicionin e djathtë fqinjë gjithashtu shkruhet 1. me çka me zhvendosjen e
numrit negativ djathtë përfitohet sërisht numri negativ.
Instruksioni për zhvendosje aritmetike ka formën:
SAR CAK, k (shift arithmetic right)
Me këtë instrusion realizohet zhvendoja aritmetike djathtë e përmbatjes CAK për
k vende.
SAR
(Shift arithmetic right) CF

Shembull:
1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 përmbatja fillestare
1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 përmbatja pas zhvendosjes aritmetike për tre vende
djathtë

Instruksionet për rrotullim


Gjatë ekzekutimit të operacionit të zhvendosjes të cilin e quajmë rrotullim ose
zhvendosja ciklike paramendojmë që biti i peshës më të lartë dhe atij më të ultë janë
fqinjë. Në këtë rastë qarkimi djathtë bitit me peshë më të vogël nuk humbë, por se bartet
në pozicionin me peshë më të lartë.Gjatë qarkimit majtë biti me peshë më lartë bartet në
pozicionin me peshë më të vogël. Instruksionet rrotulluese kanë format si në vazhdim.
a)ROR CAK, k (rotate right)
me këtë instruksion realizohet rrotullimi djathtë për k vende
ROR
Rotate right CF

b) ROL CAK, k (rotate left)


Me këtë instruksion realizohet rrotullimi majtë për k vende.

Për vitin e IV-të elektroteknik i kompjuterëve 125


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

ROL
CF Rotate left

Shembull:

0 1 0 1 1 1 1 0 0 0 0 1 1 0 11 përmbatja fillestare
0 1 1 0 1 0 1 1 1 1 0 0 0 0 11 përmbatja pas rrotullimit djathtë për tre vende
0 1 1 1 1 0 0 0 0 1 1 0 1 1 01 përmbatja pas rrotullimit majtë për dy vende.
Opetacioni i rrotullimit shpesh realizohet zbashku me bitin e bartjes CF. Në këtë rastë
gjatë rrotullimit djathtë biti me pesh më të vogël bartet në CF ,ndërsa përmbatja e CF në
poziconin me peshë më të lartë. Instruksionet kanë format si në vazhdim:
c)RCR CAK,K (rotate through carry right)
Me këtë instruksion realizohet rrotullimi djathtë e operandit CAK dhe CF për k
vende
RCR
Rotate through carry right CF

d)RCL CAK, K (rotate through carry left)


Me këtë instruksion realizohet rrotullimi majtë i CAK dhe CF për k vende.

RCL
CF (Rotate left throug carry left)

5.9 Instruksionet e hyrje daljeve


Instruksionet e hyrje daljeve iu shërbejnë komunikimit për portet hyrëse dalëse.
Është i mundshëm adresimi direkt , me dhënjen e adresës në vetë instruksionin , ku në
këtë rastë adresat e porteve të hyrje daljeve mund të marrin adresat në brezin 00H deri
FFH. Komunikimi zhvillohet eksluzivisht përmes akumulatorit , dhe se në këto

Për vitin e IV-të elektroteknik i kompjuterëve 126


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

instruksione akumulatori gjithmon lajmrohet si njëri nga operandët. Në vend të adresës të


portitit hyrës-dalës mund të përdoret dhe regjistri DX dhe kjo është adresim indirekt,
pasi në te ruhen adresat për hyrje-dalje. Këtë grup të instruksioneve e përbëjn
instruksionet si në vazhdim.
a) IN CAK , BURIM
Me këtë instruksion të dhënat nga porti hyrës –BURIM kalohen në akunulator.
Nëqoftëse fjala bartet , atëhere përdoret i tërë akumulatori , ndërse nëse bartet e dhëna
njëbajtshe ,përdoret bajti i ultë i akumulatorit (AL).
Shembuj:
IN AX, PORT16; bartet fjala nga PORT16 në akumulator
IN AL, PORT8; bartet bajti nga PORT18 në akumulator
b) OUT CAK, BURIM
me këtë instruksion përmbatja e akumulatorit dërgohet në portin dalës.
Shembuj:
OUT PORT8, AL ; Bartja e bajtit nga akumulatori në PORT8
OUT PORT16, AL ; Bartja e fjalës nga akumulatori në PORT16
OUT DX, AL ; Bartja e bajtit nga akumulatori në regjistrin hyrës-dalës adresa e
të cilit është në regjistrin DX

5.10 Instruksionet për punë me vargje


Vargu ose stringu paraqet bashkësi të të dhënave të tipit bajt ose fjalë, të cilat
ndodhen në lokacionet suksesive në kujtesën e kompjuterit. Gjatësia maksimale e vargut
mund të jetë 64 [Kb ].
Instuksionet për punë me vargje mundësojnë operaconet si në vazhdim:
-kopjimi (bartja) e të dhënave nga njëri bllok i kujtesës në tjetrin.
-gjetjen e vlerës së caktuar në varg me të dhëna (kërkimi)
-krahasimi i dy vlerave të vargjeve ,
-inicializimin e lokacioneve të njëpasnjëshme të kujtesës
formati i instruksionit për punë me vargje mund të ketë njërë prej këtyre formave:
a) OPERACIONI OPERAND(NUMRI)
b) OPERACIONIB ; Përdoret për tipin e të dhënave-bajt
c) OPERACIONIW ; Përdoret për tipin e të dhënave-fjalë

Instruksionet për bartje


a) MOVS CAK, BURIM
Me këtë instruksion antarë të caktuar të vargut burim i cili është i adresuar me
çiftin e regjistrave DS:SI, kopjohet në antëarin e caktuar të vargut të adresuar me çiftin e
regjistrave ES:DI.
b)MOVSB
c) MOVSW
Këto instruksione përdoren pa operand. Këto mundësojnë kopjimin e antarëve të
vektorit burim në vargun cak. Në regjistrin CX ndodhet numri i përsëritjes së

Për vitin e IV-të elektroteknik i kompjuterëve 127


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

instruksioneve .d.mth. se sa elemente duhet kopjuar; regjistri i indekseve përmban adresat


e operandëve burim dhe cak sipas regullit si në vazhdim:
-regjistri SI tregon në vargun burim,
-regjistri DI tregon në vargun cak
çfarë në të vërtet bën MOVSB
1. bartë bajtin nga adresa DS:[SI] në adresën ES:[DI]
2. nëse direction flag është i vendosur në 1 zvoglohet SI dhe DI, dhe nëse
është zerro , rritet SI dhe DI për një
3. zvoglohet CX për 1
Shembull: programi i cili kopjon bllokun prej 1CA bajtave nga adresa 3E20 (në DS) në
2E40 (në ES):
CLD
LEA SI,[3E20]
ES:LEA DI,[2E40]
MOV CX,1CA
REP MOVSB
bartja( kapërcimi) i i tërë bllokut të kujtesës ka zbatim shum të madhë te animacionet në
ekran

instruksionet e krahasimit
CMPS CAK,BURIM
a)CMPB
b)CMPW
Operandët për këto instruksione mirren prej të njetiv regjistra si dhe te
instruksioni për bartje. Me këtë instruksion krahasohen anëtarët e vargut. Efekti i
instruksionit është i njejtë si dhe te instruksioni CMP, vetëm se mekëtë instruksion
punohet me vargje.
Programi në vazhdim bënë krahasimin e blloqeve që fillojnë me adresat DS:3E20
dhe ES:2E40 në gjerësin të njetë prej 1CA bajtave.
CLD
LEA SI,[3E20]
ES: LEA DI, [2E40]
MOV CX,1CA
REPE CMPSB

Instruksionet kërkuese
Instruksioni për kërkim të vargjeve janë të ngjajshme me instruksionet për
krahasim. Dallim është në ate se instruksioni krahason të dhënën e lexuar me përmbatjen
e akumulatorit. Rezulltati i krahasimit përdoret për vendosjen e indikatorve në regjistrin e
kushtit. Formati i shkrimit të këtyre instruksioneve është si në vazhdim:
a)SCAS CAK
b)SCASB
c)SCASW

Për vitin e IV-të elektroteknik i kompjuterëve 128


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Operandët te këto instruksione janë të përcaktuar me përmbatjen e regjistrave


indeks.
Programi në vazhdim kërkon bllokun me gjatësi 3E bajata i cili fillon me adresën
SE:5000,bajti i parë është indryshëm prej përmbatjes së regjistrit AL
CLD
ES:LEA DI,[5000]
MOV CX, 3E
REPE SCASB

Instruksionet e mbushjes
Këtë grup e përbëjnë instruksionet si në vazhdim
a)LODS BURIM
b) LOADSB
c) LOADSW
Me këto instruksion anëtari i vargut burim kopjohet në akumulator. Si dhe në
instruksionet paraprake, adresa e antarit të vargut burim ndodhet në çiftin e regjisrave
DS:SI. Pas kopjimit regjistri i indekseve azhurohet.

Instruksionet e vendosjes
Me instruksione të vendosjes kopjohet përmbatja e akumulatorit në anëtarin e
caktuar të vargut. Adresa e anëtarit të vargut në të cilën do të jetë i kopjuar përmbtja e
akumulatorit ndodhet në çiftin e regjistrave ES:DI. Formati dhënjes së këti instruksioni
nga kjo grup është:
a)STOS CAK
b) STOSB
c) STOSW
Siç dhe vrehet instruksionet e vendosjes kanë veprim të kundërt nga instruksioni i
mbushjes.
Programi i cili fshin ekranin me rezulucion të lartë, pra mbush bllokun i cili fillon
në B800:0000 ME gjerësi 4000 Bajta
MOV AX,B800
MOV ES,AX
CLD
MOV AL,0
ES: LEA DI,0000
MOV CX,4000
REP STOSB

Instruksionet e përsëritjeve
Instrusionet për punë me vargun e shenjave operojnë me të dhënat veç e veç.
Mirpo , më së shpeshti paraqitet nevoja që operacionet mbi vargjet të zbatohen në më
shumë antarë të vargut në mënyrë suksesive. Kjo zgjidhet me instruksionet e përsëritjeve.
Instruksionet e përsëritjeve iu vendosen si prefiks instruksioneve të tjera për punë me

Për vitin e IV-të elektroteknik i kompjuterëve 129


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

vargje dhe mundësojnë përsëritjen të instruksionit të caktuar derisa përmbatja e regjistrit


CX të mos bëhet 0. Në këtë mënyrë efektivisht përpunohen të dhënat të cilat i përkasin
një blloku në kujtesë.
Këtij grupi i takojnë instrusionet si në vazhdim:
a)REP < instruksioni i vargut>
Ky prefiks –instruksion kushtëzon përsëritjen e instruksionit të vargut përderisa
përmbatja e regjistrit CX të mos bëhet 0.
b)REPZ < instruksioni >
Ky prefiks –instruksion kushtëzon ekzekutimin e instruksioni të përsëritjes ose të
analizës përderisa të mos plotësohet kushti që (CX)=0 ose (ZF)=0
c)REPNZ < instruksioni >
Ky prefiks –instruksion kushtëzon ekzekutimin e instruksioni të krahasimit
përderisa të mos plotësohet kushti që (CX)=0 ose (ZF)=1.
Instruksionet REPZ dhe REPNZ , në të vërtet realizojnë unaza(cikle) e cila bënë
krahasimin përderisa të mosë vie deri te vlera e caktuar ose fundi i vargut.

Instruksionet e për vendosjen e drejtimit


Gjatë përpunimit të vargjeve në unazë, anëtarët e vargut mund të numrohen në
mënyrë rritëse apo zbritëse, varsisht prej përmbatjes së indikatorit DF (bitit të regjistrit të
kushtit). Nëse DF=0 , atëhere pas ekxekutimit të ndonjë prej instruksionit të vargjeve
treguesi (regjistrat RI dhe DI ) rriten për 1 ( respektivisht 2 , nëse bëhet fjalë për fjalët),
d.m.th. bëhet inkrimentimi. Nëse DF =1 , bëhet dekremntimi. Instruksioni për vendosjen
e drejtimit në të vërtet ,vendos indikatorin DF në 1 ose 0
a)CLD (clear direction)
me këtë instruksion indikatori DF vendoset në 0
b) STD (direction flag (DF)
me këtë instruksion indikatori DF vendoset në 1

5.11. instruksionet për kontrollim me rrjedhën e


programit
Instruksionet për udhëheqjen (kontrollimin) e rrjedhës së programit mundësojnë
që ekzekutimi i programit të vazhdoj nga lokacioni i kujtesës e cila nuk pason pas
instuksionit të ekzekutuar. Këto në të vërtet , ndrrojnë përmbatjen e regjistrit i cili bartë
adresën të instruksionit tjetër: IP dhe CS. Mund të ndahen në grupet si në vazhdim:
a) instruksioni i kapërcimit me kusht dhe pakusht dhe
b) instruksini për organizim të cikluesit

Instruksionet e kapërcimit me kusht dhe pakusht


Në këtë grup të instruksioneve i takojnë këto instruksione:

Për vitin e IV-të elektroteknik i kompjuterëve 130


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

a) JMP CAK
Ky instruksion realizon kapërcimin pakusht në labelën e caktuar ose lokacionin e
kujetsës të përcaktuar me operatorin CAK. Labela mund të jetë FAR ose NEAR. Nëse
punohet me NEAR labelën është e mundshme të realizohet këcimi vetëm në kuadër të
segmentit, ndërsa me FAR labelën mund të kcehet ndërmjet segmenteve.
1. JMP SHORT adresa direkte/relative
adresa instruksioni
C000 JMP SHORT 05
C002 ...
... ...
C007 MOV AX,8
Por thjesht
C000 JMP SHORT C007
C002 ...
... ...
C007 MOV AX,8
2.JMP NEAR adresa direkte
JMP NEAR 2CAE-shkakton kcimin në 2cae në kudër të segmentit të definuem
në regjistrin CS
JMP NEAR 2CAE~MOV IP,2CAE
3.JMP FAR
JMP FFFF:0000 është ekujvalent
MOV CS, FFFF
MOV IP, 0000
Në debung ky kcim nuk do të ishte plotësisht i shfrytëzueshëm me përjashtim për
kcimet në kujtesën ROM
Ky shembull shkaton veprimin sikurse të kyçim dhe çkyçim kompjuterin.
Përdorimi më i shpeshtë i kësaj forme është në programet COM
4. JMP regjistër 16 bitësh
Nganjëher gjatë kohës së shkrimit të programit nuk dimë sak se në cilin lokacion
duhet me kapërcy, këtë duhet ta dimë më pasë. Në këtë rastë këtë duhet shkruar në vend

MOV IP,AX si
Jmp ax. Në vend të regjistrit AX mund të shkruhet cilido regjistër
5 JMP lokacinion kujtese 16 bitshe
kur ekziston kcimi indirekt përmes regjistrit pse të mos ekzistoj edhe në ndonjë lokacion
kujetse . Paraqitja fiktive do të duket kështu:
MOV IP,[3A2E]- Pra sintaksa është
JMP [3A2E] ose
JMP WORD PTR[3A2E]
6 JMP LOKACION 32 Bitësht kujtese
JMP IP,[2E00] mund të kuptohet si
MOV IP,[2E00]
MOV CS,[2E02]- më së shumti shfrytëzohet në interrupt rutinat

Për vitin e IV-të elektroteknik i kompjuterëve 131


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Nëse JMP SHORT ose JMP NEAR harrom short ose near debungi në vend të
vlerës së operandit vetë përcakton optimumin e instruksionit JMP. P.sh nëse në program
shtypim segmentin123A dhe shtypim JMP FAR 1AEF , kjo do të transformohet në
JMP 123A:1AEF (pra segmenti në të cilin në atë çastë punohet nunëkuptohet)

b) JA LABELA- (jump if above)


Realizohet kapërcimi me kusht nëqoftëse është CF=0 dhe ZF=0. Për instruksionet
e kapërcimit me kusht vlenë rregulla që labela mund të jetë eksluzivisht e tipit NEAR.
c) JAE LABELA -(jump if above or equal)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse CF=0
ç) JB LABELA -(jump if below)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse CF=1
d) JBE LABELA (jump if below or equal)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse CF=1 dhe ZF=1
e) JCXZ LABELA (jump if CX is zero)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse (CX)=0
ë) JE LABELA- (Jump if equal)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse ZF=1
f) JG LABELA -(jump if greater)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse ZF=0 dhe SF=OF
g) JGE LABELA -(jump if greater or equal)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse SF=OF
h) JL LABELA (jump if less)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse SF<>OF
i) JLE LABELA (jump if less or equal)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse SF<>0 ose ZF=1
j) JNC LABELA (jump if not carry)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse CF=0
k) JNO LABELA (jump if not overflow)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse OF=0
l) JNP LABELA (jump if not parity)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse PF=0
m) JNS LABELA (jump if not sign)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse SF=0
n) JO LABELA (jump if overflow)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse OF=1
o) JP LABELA (jump if parity)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse PF=1
r) JS LABELA (jump if sign)
Instruksioni i kapërcimit me kusht. Kcimi në labelë nëqftëse SF=0

Për vitin e IV-të elektroteknik i kompjuterëve 132


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Instruksionet për organizim të cikluseve


Me këtë instruksion mund të organizohen unaza numruse, ngjashëm si dhe te
gjuhat e larta. Me këto atumatikisht bëhet:
-dekrementimi i numruesit ,
-testimi i kushteve për dalje prej unazës,
-degëzimi kur plotësohet kushti
Si numrues përdoret regjistri CX. Secilën herë kur të përfundoj një ciklus
përmbatja e regjistrit CX zvoglohet për 1
Kësaj grupe i takojnë instruksionet si në vazhdim:
a)LOOP LABELA
Me këtë instruksion organizohet ciklusi ashtu që trupi i ciklusit ekzekutohet derisa
është (CX)<>0. Pas secilit ciklus përmbatja e regjistrit CX dekrementohet.
b) LOOPE LABELA (loop if equal)
Ky instruksion është e ngjajshme me ate paraprake ,vetëm se këtu analizohet dhe
indikatori ZF. Ciklusi përsëritet derisa të jetë ZF=1 dhe (CF)<>0.
c)LOOPNE LABELA-(loop if not equal)

Ky instruksion mundëson ekzekutimin e trupit të cilusit përderisa të jetë ZF=0 dhe


(CX)<>0

5.12. Nënprogramet

Nocioni nënprogram
Në nënprograme shpeshë takohen grup të instruksioneve të cilat paraqesin tërsi
logjike ose kanë domethënje të pavarura dhe përsëriten në shumë vende. Pjesët e tilla të
programit përshkruajnë më shumë ose më pak etapën vetijake të ndonjë procesi llogaritar,

Për vitin e IV-të elektroteknik i kompjuterëve 133


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

ndësa mund të ekkzistojnë pos gjatë zgjidhje së një detyre konkrete dhe në zgjidhjen e të
më shumë të dyterave të ndryshme. Pas kësaj ,në secilën degë të shkencës dhe teknikës
ekzistojn vartësi funksionale të cilat shumë shpeshë përdoren. Ky është rast te llogaritjet e
funksioneve elemntare matematikore, zhjidhjet e ekuacineve , shëndrimin e ndonjërit kod
në tjetrin dhe të shumë përpunimeve të tjera tipike. Për qëllim të programit më të leht
dhe më të shpejt këta pjesë të programit ndahen në tërsi të pavaruar të programit të cilat
posaqërisht shkruhen, testohen dhe shfrytëzohen.
Programet të cilët janë të organizuar në mënyrë të tillë në të cilët mund të
zbatohet kontrolllimi(udhëheqja) nga ndonjë program tjetër dhe me përfundimin e
përpunimit kthehet përsëri në atë program quhet nënprogram. Me “bartje të kontrollës”
nënkuptohet marrja e instruksioneve të tjera për ekzekutim nga lokacionet e kujtesës në
cilën ndodhet instruksioni i parë ekzekutues i nënprogramit. Programi nga i cili thirret
nënprogrami quhet program kryeor ose bazë.
Nënprogramet paraqesin njësi të pavaruara të programit të cilat shkruhen vetëm
njëher ,ndërsa mund të përdoren kurdoher që të jetë nevoja për ta ,në një ose në më
shumë programe. Secili nënpërogram ka emër të posaqëm dhe thirret në mënyrë të njejtë
si të instruksioneve të veçanta të kompjuterit. Sipas natyrës të nënprogramit mund të
konsiderohen si dhe procedura për llogaritjen e ndonjë funksioni ose të më shumë
variablave ose për ekzekutimin e të një grupi të operacioneve të përbashkët dhe tipike për
shumë programe.

Foramat e nënprogrameve
Zbashku me përsëritjet në program nënprogramet përbëjnë teknikën bazë të
programimit te kompjuterët bashkëkohor. Sistemi i shkrimit të nënprogrameve mundëson
që vetëm një kopje e nënprogramit mund të thirret sipas dëpshirës herësh. Pos
programimit më të lehtë arrihet dhe ekonimicitet i konsiderueshëm i kujtesës.
Nënprogrami mund të shkruhet me shkallë të lartë të pavarsisë logjike nga
programi kryesor ose nënprogramit tjetër. Kjo mundëson që lehtë ti bëjmë modifikimet
në programin kryesor pasi lehtë mund të përcillen rrugët të këtyre modifikimeve dhe
ndikimet e tyre
Pavarsia logjike ka ndikim të konsiderueshëm dhe ate njerëz të ndryshëm ose
grup njerzish mund të shkruajnë pjesë të një programi të madhë. Mekanizmi i lidhjes të
programit kryesor dhe të nënprogrameve dhe mënyra e bartjes(përcilljes) së parametrave
të nënprogrameve definojnë në mënyrë precize se si këto grupe mund të komunikojnë
njëri me tjetrin.
Te shumica e kompjuterëve është e mundshme të shkruhen nënprograme në më
shumë gjuhë të ndyshme burimore dhe të lidhen në të njejtin program. Kjo ka randësi të
posame kur njëra prej këtyre gjuhëve është gjuhë simbolike e makinës ,ndërsa të tjerat të
larata programuese.

Struktura e nënprogramit
Krahas pjesës kryesore të nënprogramit në të cilën kryhet përpunimi, e
ashtuquajtura trupi i nënprogramit, në secilin nënprogram ekzistojnë dhe pjesë të tjera .

Për vitin e IV-të elektroteknik i kompjuterëve 134


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

për kalim në nënprogram (d.m.th. hyrje në nënprogram) përdoret sekuenca thirrëse (vargu
thirrës) i instruksioneve në të cilat në asembler ose në gjuhë të lartë programuese jepet
emri i nënprogramit me instruksion të posaqëm për thirrje të nënprogramit në formën:
CALL <emri i nënprogramit>
Secilën herë kur hyjet në nënprogram nevojitet ti jepen vlerat hyrëse të
domosdoshme për punë të nënprogramit. Në të njetën kohë nevojitet, pasë përpunimit , të
sigurohen dhe kthimi i rezulltatit në programin kryesor. Të dhënat të cilat futen në
nënprogram dhe rezulltatet dalëse nga nënprogrami quhen me një emër të përgjithshëm
parametrat hyrës dalës të nënprogramit. Për qasje të parametrave nganjëher formohen
pjesë të posaqme të nënprogrameve.
Në rrjedhën e ekzekutimit të programit lajmrohet nevoja për shfrytëzimin e
regjistrave të caktuar të procesorit qendror. Duke pasur parasyshë që përmbatjet e
mëparshme të këtyre regjistrave mund të jenë të nevojshëm për punën e më tutjeme të
programit kryesor, anulimi (fshiraja) e e tyre në nënprogram do të shkaktonte deri te puna
e mëtutjeme jo e drejtë e programit kryesor. Për këtë arsye nevojitet që në fillim të
nënprogramit të parashihet ruatja e përkohshme në vetë nënprogramin përmbatjet e të
gjitha regjistrave të procesorit qendror të cilët përdor në atë nënprogram. Kjo pjesë
zakonisht quhet mbajtja mend e gjendjes së procesorit ose mbatja mend e gjendjes së
nënprogramit. Pas përfundimit të përpunimit në nënprogram dhe para kthimit në
programin kryesor, lypset që përmbatja e këtyre regjistrave të përtrihet(rigjenorohet, të
rivendosen përsëri), d.m.th, të kthehet procesori në në gjendjen të parahyrjes në
nënprogram.
Në fig 5.2 është paraqitur struktura e nënprogramit
Hyrja në nënprogram
Mbatja mend e gjendjes së procesorit
Pregaditja për qasje të parametrave të nënprogramit
Trupi i nënprogramit(përpunimi)
Pregaditja e informacionit mbi rezulltatin
Ripërtritja e gjendjesë së procesorit (rigjenirimi)
Kthimi(dalja) nga nënprogrami
Domeni i punës së nënprogramit (mbatja mend e variablave)
Fig 5.2. struktura e nënprogramit

Tipet e nënprogrameve
Varsisht prej mënyrës në të cilën nënprogrami përfshihet(kyçet) në program,
dalohen dy nënprograme:
-nënprogramet e hapura dhe
-nënprogramet e mbyllura.
Nënprogarmi i hapur paraqet varg instruksionesh të cilët futen në programin
kryesor. Para secilit drejtim në nënprogramin e tillë në programin krysor ndërfutet
“kopja”të këtij vargu të instruksioneve , d.m.th një vargë i tillë i instruksioneve iu
bashkangjitet programit dhe ate aq herë sa dhe kryhet drejtimi në te (fig 5.3). Emetë
kryesore e nënprogrameve të hapur është përsëritja e të gjtha instruksioneve gjatë secilit
drejtim çka dhe kërkon më shumë kujtesë.

Për vitin e IV-të elektroteknik i kompjuterëve 135


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Prog rami
Nënprogrami i P –rami
Nënprog
Hapur n
S s
s
Nënprogrami
i hapur
S
ss

5.45.3Përdorimi
mënyra ei përdorimit të nënprogramit
nënprogrameve të mbylluara

Përdorimi i nënprogrameve në gjuhët e larta programuese , ku akoma quhen


funksione të brendshme , është e kufizuar në një numër të vogël nënprogrameve të cilët
përbëhen nga një numër i vogël i instruksioneve të makinës. Këto p.sh janë nënprograme
ABS, IABS, MOD,AMOD,FLOAT,IFIX,SIGN,ISIGN dhe të tjerë. Program i mbyllur
paraqet vargu i instruksioneve të cilat formohen dhe përkthehen si një tërsi e posaçme
dhe mund të përdoren shumë herë në një ose më shumë programe dhe nënprograme.
Gjatë thirrje nuk kopjohen ,ndërsa vendoset jashtë programit krysor.(fig 5.4)

Thirja e nënprogrameve të mbyllura realizohet me instruksione të posaqme të


kompjuterit për punë me nënprograme. Me thirrjen e nënprogramit ekzekutimi i
matutjeshëm i instruksioneve vazhdon nga instruksioni i parë i nënprogramit. Pas
përfundimit të nënprogramit kontrolla (udhëheqja ) kthehet në vendin në të cilin ka qen i
ndërprer programi kryesor.

Për vitin e IV-të elektroteknik i kompjuterëve 136


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Instruksionet për punë me nënprograme


Për thirrjen e nënprogrameve dhe kthimi në programin kryesor përdoren
instruksionet CALL dhe RET. Këto instruksione mundësojnë:
-mbatjen mend e adresës kthyese(adresën e instruksionit në të cilën bëhet kthimi
nga nënprogrami),
-kthimi në instruksionin e parë të nënprogramit,
-kthimi nga nënprogrami.

Instruksioni CALL
Formati i shkrimit të instruksionit CALL është:
CALL procedura_ere ; kalimi në procedur procedura_ere
Ky instruksion adresën kthyese e shkruan në stek dhe kontrollën(udhëheqjen) e
bartë instruksionit të par të procedurës (proceduara_ere). Procedura mund të jetë e tipit
NEAR ose FAR . Nëqoftëse procedura është e tipit NEAR , në stek shkruhet përmbatja e
numruesit të instruksionit (IP), ndëra për procedurat e tipit FAR nevojitet që në stek të
shkruhet përmbatja e numruesit të instruksionit dhe përmbatja e regjistrit segment CS
1. CALL adrresa direkte –thirrja e nënprogramit të afërt
p.sh nëse në programin ton kemi CALL 2FEC kompjuteri do të sillet kështu
-zvoglon SP për 2
-në adresën e re në adresën në të cilën tregon SP vendos vlerën IP
-vazhdon kryerjen e instruksionit i cili gjindet në adresën 3FEC
2. CALL adresa direkte – thirrja e nënprogramit të largët
ngjajshëm si dhe në instruksionin e mëparshëm me një ndryshim se në stek
vendoset adresa e plotë(segment dhe offset) dhe SP zvoglohet për 4
CALL 3A00:2E4C
PUSH IP
PUSH CS
MOV CS ,3A00
MOV IP,2E4C (Asnëri prej instruksioneve nuk ekziton pos PUSH CS
3 CALL Lokacion i kujtesës 16bitshe
edhe nënprogarmet mund ti thrrasim në mënyr indirekte. P.sh thirre nënprogramin
i cili ndodhet në ndonjë adresë
CALL WORD PTR[3E02] ose
CALL [3E02]
Kjo është diçka si :
PUSH IP
MOV IP,[3E02]

Instruksioni RET
Instruksioni RET merrë përmbatjen e kokës së stekut dhe vendos atë në
numruesin e instruksionit , me çka bartë dhe kontrollën në adresën kthyese të programit
kryesor. Përdoret pa operand dhe formati i saj i shkrimit është:
RET ; kthimi nga nënprogrami
Shembull:

Për vitin e IV-të elektroteknik i kompjuterëve 137


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Thirrja e procedurës ERE dhe kthimi në programin kryeor:

... ;instruksionet e programit kryesor


CALL ERE ; thirret procedura ERE
TUTJE: . . . ; instruksioni kthyes
... ; instruksionet e tjera të programit kryesor
...
ERE: PROC ; fillimi i procedurës ERE
... ; instruksioni i parë i procedurës ERE
... ; instruksionet e tjera të procedurës
RET ; Kthimi në program
ERE: ENDP ; Fundi i procedurës ERE
NëNPROGRAMET në ASM dhe MASM
Nëqoftëse shfrytëzoni ndonjërin prej ktyre dy asamblerve MASM në esencë është
ASM i zgjeruar. Pra duhet të njiheni me specifikat e këtyre në lidhje me kcimet dhe
nënprogramet.
a)në vendë të kcimit absolut , shfrytëzohet kcimi në lebel e cila detyrimisht kryhet me dy
pika . P.sh
JMP PESHKU
...
....
PESHKU: MOV AX,5
Nëse i ka dy pikat ,kcimi e ka kuptimin si indirekt . Ashtu që
PESHKU DD 200
...
...
JMP PESHKU
E ka domethënjen si JMP FAR[35E4] nën supozimin se gjatë asemblimit të Label
PESHLU e ka marrë vlerën 35E4
b) kret çka vlen për JMP vlen dhe për CALL, vetëm se gjërat janë më të komplikueme .
Në ASM nuk bëhet thirrja me adresa por në të ashtuqujturat procedura
...
CALL LAPSI
...
LAPSI PROC NEAR
........; instruksionet e nëprogramit
RET
LAPSI ENDP

Makrourdhëresat
Makrrourdhëresat paraqesin emra simbolik të gjuhës burim(asembler) me të cilat
që më parë është e definuar vargu i instruksioneve të makinës. Makrrourdhëri paraqet
nënprogram të hapur dhe me rastin e thirrjes së tijë në programin kryesor ndërfutet i tërë
vargu i instruksioneve të makinës.

Për vitin e IV-të elektroteknik i kompjuterëve 138


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Pjesë të programit të cilët shpesh përdoren definohen(përkufizohen) vetëm njëher


në form të makrro urdhërit i cili ka emrin dhe parametrat. Thirret me dhënjen e emrit të
makrrourdhërit dhe parametrave. Qëllimi kryesor i makrrourdhërave është shkurtimi i
programit burimor. Makrrourdhërat në gjuhën asembler paraqesin mjete të nivelit më të
lartë me çka shkurtohet dhe lehtësohet programimi.

5.13. Problemet e përdorimit të nënprogrameve


Mardhënja program-nënprogram
Programi kryesor dhe nënprogrami i cili përdoret në te paraqesin paraqesin tërsi të
pavarura të programit. Secila njësi si e pavarur shkruhet , shqyrtohet (testohet),
përkthehet dhe vendoset në kujtesën e jashtme në formën e ashtuquajtër të modulit
objekt. Para ekzekutimit të programit me program të posaqëm të sistemit për lidhje lidhen
modulet objekt dhe modulet e mbushjes. Programi i sistemit operativ i cili quhet
mbushës fut modulin e mbushjes në zonën(domenin) e lirë të kujtesës operative dhe e
starton ekzekutimin.
Shfrytëzimi i nënprogramit ka të bëjë me ate se në vendin ku iu duhet shërbimi i
nënprogramit kalohet në nënprogram. Me përfundimin e përpunimit në nënprogram
kthehet sërisht në programin kryesor në vendin në të cilin ka qenë dhe i ndërprer.

Kalimi në nënprogram

Kalimi në nënprogram konsiston në bartjen e kontrollës nga programi kryesor në


nënprogram. Kjo ka domethënjn që pas ekzektutimit të instruksionit të programit kryesor
me adresë A (fig 5.5) instruksioni i tjetër për ekzekuutim mirret sipas adresës NP ku dhe
ndodhet instruksioni i parë ekzekutues i nënprogramit.

Me kalimin në nënprogram prishet rradha natyrale e ekzekutimit të instruksioneve


të programit. Duke i pasur parasysh ate se ruetjen (mbatjen mend) në kujtesë të

Për vitin e IV-të elektroteknik i kompjuterëve 139


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

kompjuterit ekzekutimi i instruksioneve të programit bëhet nën kontrollën e numruesit të


instruksioneve (të numruesit të programit) , kjo në momenetin e ekzekutimit të
instruksionit me adresë A me të cilën kalohet në nënprogram , në numruesin e
instruksionit do të jetë e shkruar përmbatja e re e NP

Kthimi nga nënprogrami


Kthimi nga nënprogrami konsiston në bartjen e kontrollës nga nënprogrami në
programin kryesor.Kthimi(dalja) dalja nga nënprogrami kryhet nga ekzekutimi i fundit të
instruksionit të nënprogramit në adresën A+1 (fig.5.5a) ose adresën A+D+1 të
programit kryeor (fig 5.5b). Kjo adresë quhet adresë Kthyese ose adresë lidhëse dhe është
e ndryshme për secilin vend në programin kryesor nga i cili thirret nënprogrami .
Kalimi nga programi kryesor në nënprogram në rastin më të thjeshtën mund të
organizohet me vendosjen në lokacioninin e kujtesës me adresë A të instruksionit me
kapërcim pa kusht në adresën NP. Megjithatë, në këtë rastë humb informacioni mbi
vendin se ku duhet me u kthy nga nënprogrami në programin kryesor ,pasi humbë
përmbatja e mëparshme e numruesit të instruksioneve .
Për qëllim të sigurimit të kthimit nga nënprogrami në programin kryesor duhet që
adresën e kthimit të bahet mend në ndonjë vendë që më parë të paraparë drejtëpërdrej(aty
për aty) para kalimit në nënprogram ose në momentin e kalimit në nënprogram. Ky
problem në kompjuterët bashkohor zgjidhet ose me metoda të posaqme ose ,më së
shpeshti , me ekzistimin e instruksioneve rë posame CALL dhe RET për punë me
nënprograme.

Bartja e paramerave
Krahas zhgjidhjes së problemit të kthimit nga nënprogrami, problem tjetër me
randësi në përdorimin e nënprogrameve paraqet mënyra e bartjes të vlerave hyrëse ose të
ndonjë informacioni mbi to nga programi kryesor në nënprogram dhe bartja e rezulltateve
ose të informacioneve mbi to nga nënprogrami në programin kryesor. Këto pyetje
nganjëher quhen dhe pregaditja(dërgimi) i të dhënave për nënprogram.

Nënprogrami në nënprogram
Në praktik shpesh nevojitet që nga një nënprogram të thirrit si dhe nga programi
kryesor. Në këso raste ne themi se kemi strukturën e nënprogramit në nënprogram, dhe
ajo grafikisht është e paraqitur në fig 5.6.

Për vitin e IV-të elektroteknik i kompjuterëve 140


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Kodi i posaqëm i këtyre strukturave është për shkak të nevojës që në të njejtën


kohë të mahen mend shumë adresa khyese në programin thirrës(kryesor). Për këtë te
instruksioni i kalimit në nënprogram i cili nuk mundëson që automatikisht një strukturë të
tillë duhet që në mënyrë programore të sigurohet lirmi i regjistrave të posaqëm duke
ruajtur përmbatjen e tyre. Pas kthimit në nënprogram këto përmbatje përtrihen.

.14. instruksionet e ndërprerjes


Instruksionet e ndërprerjes janë karakteristike për gjuhët me orjentim makinë. Për
realizimin e ndërprerjeve përdoret instruksioni INT. Formati i këtij instruksioni është :
INT numri_ndërprerjes ; inicimi i ndërprerjes
Me ekzekutimin e këtij instruksioni zhvillohen këto procese:
-përmbatja e regjistrit të kushtit shkruhet në stek;
-bitet kontrollues të regjistrit të kushtit –IF (interrupt Flag) dhe TF (trap Flag)
vendosen në 0 që të parandalojn pranimin e kërkesës të ndonjë ndërprerje tjetër të
makinës;
-përmbatja e regjistrit CS shkruhet në stek;
-në bazë të numrit të ndërprejeve formohet adresa e vektorit të ndërprerjeve e
gjatësisë dy fjalë;
-fjala e dytë e vektorit shkruhet në regjistrin CS;
-përmbatja e numruesit të instruksioneve (IP) përshkruhet në stek;
-fjala e parë e vektorit të ndërprerjes shkruhet në numruesin e instruksioneve (IP)
-kalohet në ekzekutimin e rutinës për përpunim të ndërprerjes.

Për vitin e IV-të elektroteknik i kompjuterëve 141


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

5.15. instruksionet e tjera


Operacionet pa veprim
Pothuajse të gjithë procesorët kanë instruksionin NOP (pa operacion) me
ekzekutimin e të cilit procesori hargjon në një cikël makine dhe nuk kryen asnjë aktivetet
tjetër kontrollues. Forma e instruksionit :
NOP ;procesori në kryen asnjë veprom por vetëm prit
; një cikël makine dhe kalon në instruksionin tjetër

Instruksioni NOP përdoret me rastin e testimit të programeve, kur instruksioni i


cili duhet të largohet(hudhet) thjesht ndërrohet me instruksionin NOP pa kurfar
modifikime të tjera në program. Te mikrroprocesorët ky instruksion përdoret në
përsëritje(unaza) për qëllim të arritjes së vonesës së caktuar kohore.

Ndalja e ekzekutimit të programit


Për ndaljen e ekzekutimit të programit përdoren instruksionet HALT dhe WAIT
në formën:
HALT ;procesori ndërpren ekzekutimin e mëtutjem të programit
;procesori aktivizohet edhe më tutje nga pulti ose të ndonjë
; ndërpreje tjetër nga jashtë
WAIT ;procesori ndërpret ekzekutimin e programit dhe pret derisa
; të mos vjen ndonjë kusht i brendshëm ose i jashtëm, kur
; vazhdohet puna e mëtutjeme automatikisht.
Instruksioni HALT përfundon me ekzekutimin e programit dhe nganjëher bartë
kontrollën në pultin e makinës., nga mundet që në mënyrë manuele të aktivizohet
programi i ri. Instruksioni WAIT pret ndonjë kusht dhe automatikisht vazhdon
ekzekutimin e matutjem të programit kur ky kushtë të jetë i plotësuar.

5.16 Shembuj të programeve në asembler


Shembujt në vazhdim përmbajn, krahas kodit kryesor, thirrjet e nënprogrameve
për futjen dhe shfaqjen e të dhënave. Bashkësia e programeve për futjen dhe tregimin e të
dhënave ndodhet në fajllin e posaqëm –IO.ASM. secili fajll me kodin burim mundet
posaqërisht të përkthehet në asemblerin përkatës (P.sh .MASM SH1.ASM). Për
përfitimin e verzionit përfundimtar – verzionin ekzekutiv të programit nevojitet që gjatë
lidhjes( linkimit) të jepen të gjitha fajllat e domosdoshëm (përfshirës). P.sh. procedura
komplete për shembullin e parë do të duket:
MASM IO.ASM
MASM SH1.ASM
LINK SH1+IO

Bashkësia e nënprogrameve për shkrimin e të dhënave në ekran


Title input_output_funcionet

Për vitin e IV-të elektroteknik i kompjuterëve 142


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

; printc -shtyp ASCCII karakterin nga DL


; newline - zhvendos kursorin në rreshtë të ri
; prints - shtypet vargu i cili tregon DS:DX dhe që përfundon me ‘$’
; printint - shtyp integerin me shenjë nga DX
; inputc - në AL kthehet vlera e ASCII të tastut të shtypër, shenja testohet
; inputs - lexohet vargu i shenjave dhe ato shkruhen në DS:DX dhe vargu
përfundon me $
;inputint- në AX kthehet vlera e numrit me shenjë të lexuar
dseg segment
numri db 6 dup(?),’$’
inpnumri db 9 dup(?)
dseg ends
cseg segment
assume cs:cseg
public prints,newline,printc, printint,inputc,inputs,inputint
prints proc
push ax ; ruhet regjistri i shfrytëzuar
xor ax, ax ;AX=0
mov ah, 09h ; zgjidhet funksioni i DOS-it 09h dhe ekzekutohet
int 21h ;interapt 21h i cili e siguron këtë funksion
pop ax ; kthet gjendja e mëparshme e regjistrit
ret
prints endp

Për vitin e IV-të elektroteknik i kompjuterëve 143


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

newline proc
push dx ; ruhet regjistrat e shfrytëzuar
push ax;
mov dl, 0ah ; shtypet karakteri line Feed(LF) (
call printc ; kalimi në rresht të ri)
mov dl,0dh ; shtypet Cariage Return(CR)
call printc ; karakteri për fillim të rreshtit
pop ax ; kthehen vlerat e mëparshme
pop dx ; te regjistrave
ret
newline endp

printc proc
push ax ;
mov ah, 02h ; zgjidhet funksioni i DOS-it 02h
int 21h ; thirret interrrapti 21h
pop ax
ret
printc endp

printint proc
push ds ;
push di ; ruhet përmbatja
push ax ; e regjistrit të shfrytëzuar
push bx ;
push cx ;
push dx ;
mov ax,dseg ;
mov ds,ax ; inicializohet DS
assume ds:dseg DS tani mund të shfrytëzohet
mov di ,offset numri ; DI inicializohet të tregoj në adresë
add di,5 ; ku duhet të vendoset shifra e fundit
mov cx,10 ; pjestuesi =10
mov ax, dx ; numri i cili shtypet tani është në AX
mov bx,dx ; A gjithashu dhe në BX
cmp ax,0 ; krahasojmë AX dhe 0
jge pers ; nëse AX>0 shkojmë në pon a nese nuk është
neg ax ; AX=-AX gjithashtu AX është sigurisht poziitiv
pers :xor dx,dx ; DX=0
div cx ;AX=AX div 10 ,DX=AX mod 10
add dl,’0’ ; formojmë ascII kodin e shifrës dhe
mov [di],dl vendosim në adresën në të cilën tregon DI
dec di ; DI=Di-1
cmp ax,0 ; ai kemi përpunuar të gjitha shifrat?

Për vitin e IV-të elektroteknik i kompjuterëve 144


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Jne pers ; nëse shkojm para nga fillimi


cmp bx,0 ;krahasojmë BX me zerron (pasi në BX
jge fund ; gjindet numri origjinal) nëse BX >0 shkojmë në
mov byte ptr[di],45 ; fund në të kundrtën shtojmë shenjën ‘-‘
dec di ; zvoglohet DI
fund :inc di ; rritet DI
mov dx,di ; dx=di
call prints ; shtypet numri
pop dx ; kthejmë vlerën fillestare të regjistrit
pop cx ;
pop bx ;
pop ax ;
pop di ;
pop ds ;
ret
printint endp

inputc proc
mov ah,01h ; zgjedhet funksioni i DOS-it 01h
int 21h ; ekzekutohet interrapti 21h
ret ; kthimi ne programin kryesor
Inputc endp

inputs proc
push ax ; ruhen regjistrat e shfrytëzuar
push di;
mov di,dx ; OFFSET adresa e vargut shkon në DI
cik : call inputc ; lexohet karakteri në AL
cmp al,13 ; a është i shtypër ENTER
je fundi1 ; nëse po përfundon
mov [di],al ; nëse nuk është vendosur karakteri në varg
inc di ; dhe rrisim treguesin për 1
jmp short cik ; dhe e gjitha nga fillimi
fundi1: mov byte ptr[di],’$’ ; në fund japim shenjën për fund të vargut
pop di ; kthejm regjistrat e shfrytëzuar;
pop ax;
ret ; kthimi në programin kryesor
inputs endp

inputint proc
push di
push dx ; ruhen regjistrat e shfrytëzuar
push ds ;
push bx ;

Për vitin e IV-të elektroteknik i kompjuterëve 145


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

push cx ;
mov dx,dseg ;
mov ds,dx ;
assueme ds:dseg;
xor dx,dx ; DX=0
mov di, offset inpnumri; OFFSET i vargut të shfrytëzuar shkon në DI
mov byte ptr[di], 07 ; MAX numri i karakterit të lexuar është 7
mov dx,di ; DX=DI (offseti i vargut)
mov ah,0ah ; zgjedhet funksioni i Dos-it 0ah dhe thirret INT21h ashtu
int 21h ; që në vargun innumri ndodhen shifrat e numrit të lexuar
xor cx,cx ; CX=0
mov bx,10 ; konstanta për shumzim
xor ax,ax ; AX=0
add di,2 ; di tregon në në shiofrën e parë të lexuar
xor dx,dx ; Dx=0
per : mov dl,byte ptr[di]; karakteri i par shkon në dl
cmp dl,13 ; a është prezente enter-i?
je fu ; nëse po përfundojmë punën
cmp dl’-‘ ; a është prezente shnja ?
je negt ; nëse po CH=1 , që më pas të ndrrojm shenjën
mov cl,dl ; rujmë (për shkak të shumzimit) DL në CL
imul bx ; shumzojmë Ax me BX
xor dx,dx ; pastrojmë DX
mov dl, cl ; kthejmë karakterin e lexuar në DL
sub dl,’0’ ; nga ascii kodi i shifres formojmë vetë shifrën
add ax,dx ; dhe i shtojmë AX=AX+DX
jmp per1 ; kalojm në per1
Negt: mov ch,1 ;CH=1 , me çka ruajmë se a është numri i lexuar negativ
per1 : inc di ; DI= DI+1pra tregon në shifren tjetër të lexuar
Jmp short per ; sërisht krejt prej fillimit
fu : cmp ch,1 ; a është CH=1
jne fun ; nëse jo dmth numri i lexuar nuk është negativ
neg ax ; në të kundërtën Ax=-ax
fun : pop cx ; kthejmë përmbatjen e regjistrit të shfrytzuar
pop bx ;
pop ds ;
pop dx ;
pop di ;
ret
inputint endp
Cseg ends
end

Për vitin e IV-të elektroteknik i kompjuterëve 146


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shembulli 1 . zbritja dhe mbledhja e numrave


fillimi Title Mbledhja_dhe_Zbritja
sseg segment stack
Db 256 dup(?);Rezervojm 256 bajta për stek
Mesazhi 1

sseg ends
dseg segment
ipari
ipari dw ? ; variablat te cilat
idyti dw ? ;perdoren ne program
Mesazhi 1 shum dw ?
ndrysh dw?
mesazhi1 db ’Jepni numrin:$’ ; mesazhe të cilët
idyti mesazhi2 db ’shuma eshte:$’ ;shtypen
mesashi3 db ‘ndryshimi eshte:$’;
Dseg ends
ax=ipari
Cseg segment
ax=ax+idyti Assume cs:cseg, ss:sseg, ds:dseg, es:dseg
Extrn prints:near,newline:near,printc:near,printint:near
Extrn inputs:near,inputc:near;inputint:near
shum=ax
main proc far
push ds
ax=idyti mov ax,0
push ax
ax=ax-ipari mov bx,dseg
mov ds,bx
ndrysh=ax mov es,bx
;
mov dx,offset mesazhi1;offseti i mesazhit shkon në DX
Mesazhi 2

call prints; shtypet mesazhi perkatës


call inputint ;lexojm numrin e parë
dx=shuma mov ipari ,ax; vlera e lexuar shkon në variblën IPARI
call newline ; kalojm ne rresht te ri
shuma call prints ; serisht shtypt mesazhi;
call inputint ; lexohet numri i dytë
mov idyti ,ax ;që vendoset ne variablën përkatse
dx=ndrysh call newline
Ndryshimi ;
mov ax,ipari ;AX=IPARI
add ax,idyti ; AX=AX+IDYTi
mov shum,ax ; rezulltati vendoset në SHUM
fund

Për vitin e IV-të elektroteknik i kompjuterëve 147


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

;
mov ax,idyti ;AX=IDYTI
mov ax, ipari ; AX=AX-ipari
mov ndrysh, ax ; Rezulltati vendoset në NDRYSH
;

mov dx,offset meazhi2 ; offseti(zhvendosja) e mesazhit shkon ne DX


call prints ; shtypet mesazhi
mov dx,shum ;DX=SHUM
call printint ; shtypet shuma
call newline ; kalojmë në rresht të ri
mov dx, offset mesazhi3 ;
call printints
mov dx, ndrysh ; DX=ndryshimi
call printint ; shtypet ndryshimi
ret ; programi përfundon punën
main endp
cseg ends
end main

Për vitin e IV-të elektroteknik i kompjuterëve 148


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shembulli2:shumzimi dhe pjestimi i numrave


Title shumzimi _dhe_pjestimi

Sseg segment stack


Db 256 dup (?)
Sseg ends

Dseg segment
ipari dw ? ; variablat te cilat
idyti dw ? ;perdoren ne program
prodh dw ?
hers dw ?
mesazhi1 db ’Jepni numrin:$’
mesazhi2 db ’prodh ështe:$’
mesashi3 db ‘hersi është:$’
mesashi4 db ‘ndërsa mbatja është:$’
Dseg ends

Cseg segment
Assume cs:cseg, ss:sseg, ds:dseg, es:dseg
Extrn prins:near,newline:near,printc:near,printint:near
Extrn inputs:near,inputc:near;inputint:near
main proc far
push ds
mov ax,0
push ax
mov bx,dseg
mov ds,bx
mov es,bx
;

Për vitin e IV-të elektroteknik i kompjuterëve 149


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

fillimi mov dx,offset mesazhi1


call prints
call inputint
Mesazhi 1

mov ipari ,ax


call newline
ipari
call prints
call inputint
Mesazhi 1 mov idyti ,ax
;
mov ax, ipari
idyti mov bx, idyti
imul bx
ax=ipari
mov prodh,ax
;
mov ax, ipari
bx=idyti
mov bx, idyti
cwd
prodh=ax * bx
idiv bx
mov hersi,ax
hersi=ax/bx mov mbetja,dx
Mesazhi 2 ;
call newline
mov dx, offset mesazhi2
dx=prodh call prints
mov dx, prodh
call printinit
call newline
prodh

mov dx, offset mesazhi3


Mesazhi3 call prints
mov dx , hersi
call printint
dx=hersi mov dx, offset mesazhi4
call prints
hersi mov dx, mbetja
call printint
Mesazhi4 ret
main endp
cseg ends
end main
Dx=mbetja

mbetja

fund

Për vitin e IV-të elektroteknik i kompjuterëve 150


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shembulli3:Shtypja e të gjitha numrave të plotë më të vegjël se numri i dhënë


fillimi
title shtypja prej 1 ..N
Mesazhi 1 sseg segment stack
db 256 dup(?)
sseg ends
N
dseg segment
dx=1 mesazhi1 db ’jepni numrin N:$’
dseg ends
cseg segment
po Assume cs:cseg, ds:dseg, ss:seg, es:dseg
dx>N extrn prints:near, newline:near, printc:near, printint:near
extern inputs:near, inputc:near,inputint:near
dx main proc far
push ds
mov ax,0
Dx=dx+1 push ax
mov bx,dseg
mov ds,bx
mov es,bx
fund ;

mov dx,offset mesazhi1 ;


call prints ; shtypim mesazhin për futje të numrit N
call inputint ; lexojmë numrin N
call newline ; kalojmë në rreshtë të ri
mov dx,1 ;fillojmë prej 1
pers: cmp dx,ax ; a është DX më e madhe se Ax?
jg fund ; nëse po i shkruajmë të gjitha numrat
call printint ; nëse jo shtypim numrin e çastit
call newline ; kalojmë në rreshtë të ri
inc dx ;rrisim numrin për një;
jmp short pers ; përsëritim tërë procesin
fund: ret ; kthehemi në DOS
main endp
cseg ends
end main

Shembulli4 : Mesi aritmetik i vargut

Për vitin e IV-të elektroteknik i kompjuterëve 151


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

fillimi
Titlle Vargu
1 mesazhi sseg segment stack
db 256 dup(?)
sseg ends
numri
dseg segment
numri dw ?
cx=0 varg dw 50 dup(?)
mesazhi1 db ’shkruni numrin e anëtarve të vargut:$’
dx=0 mesazhi2 db ’mesi aritmetik është:$’
po dseg ends
dx>numri

ax cseg segment
assume cs:cseg, ds:dseg, ss:seg, es:dseg
cx=cx+ax extrn prints:near, newline:near, printc:near, printint:near
extern inputs:near, inputc:near, inputint:near
main proc far
push ds
dx=dx+1 mov ax,0
push ax
ax=cx/numri mov bx,dseg
mov ds,bx
mov es,bx
;
mesazhi2

ax

fund

mov dx,offset mesazhi1;


call prints ; shtypet MESAZHI1
call inputint ; lexojmë numrin e anëtarve të vargut
mov numri, ax ; ruajm numri
mov dx,1 ; DX=1- fillojmë prej 1
mov di, offset varg ; DI tregon ku do ti vendosmi numrat
xor cx,cx ; CX=0
call newline ; kalojmë në rreshtë të ri
pers: cmp dx,numri ; a është DX> NUMRI
jg vazhd ; nëse po vazhdo në vazhd
call inputint ; nëse jo lexojmë anëtarin tjetër të vargut

Për vitin e IV-të elektroteknik i kompjuterëve 152


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

call newline;
mov [di],ax ; vendosim antrain e lexuar në VARG
add cx,ax ; CX=CX+AX
add di,2 ; DI=DI+2 (operojmë me fjalë)
inc dx ; DX=DX+1
jmp short pers;
vazhd: mov ax,1 ; AX=1
mov di, offset varg ; DI tregon në numrin e parë për shtypje
pers1: cmp ax, numri ; a është AX> NUMRI
jg fund ; nëse po përfundojmë
mov dx,[di] ; nëse jo DX=Antari aktual i vargut
call newline
call printint ; shtypet anëtari aktual i vargut
add di,2 ; DI=DI+2 ( tregon në anëtarin e dytë të vargut)
inc ax ; AX=AX+1
jmp short pers1;
fund: mov ax,cx ; AX=CX
cwd ; pregaditja për pjestim
idiv numri ; AX=DX:AX/NUMRI
mov dx, offset mesazhi 2;
call newline ;
call prints ; shtypet MESAZHI2

mov dx,ax ; DX=AX(mesi aritmetik)


call printint ; Shtypet mesi aritmetik
ret
main endp
cseg ends
end main

Shembulli5: Numri më i vogël dhe më i madhë në vargun e numrave


title meivogli_dhe_meimadhi
sseg segment stack
db 256 dup(?)
sseg ends

dseg segment
varg dw 50 dup(?)
maimadhi dw -32768
maivogli dw 32767
mesazhi1 db ’jepni numrin e anëtarve të vargut:$’
mesazhi2 db ’anëtari më i madhë i vargut është numri:$’
mesazhi3 db ’anëtari më i vogël i vargut është numri:$’
dseg ends

Për vitin e IV-të elektroteknik i kompjuterëve 153


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Cseg segment
assume cs:cseg, ds:dseg, ss:seg, es:dseg
extrn prints:near, newline:near, printc:near, printint:near
extern inputs:near, inputc:near, inputint:near
main proc far
push ds
mov ax,0
push ax
mov bx,dseg
mov ds,bx
mov es,bx
;
mov dx,offset mesazhi1 ;
call prints ; shtypet MESAZHI1
call inputint ;
call newline
mov di, offset varg ;
mov bx,ax
mov cx,1
pers: comp cx,bx
jg vazhd
call inputint
mov [di],ax
call newline
cmp ax,maimadhi
jng vazh1
mov maimadhi,ax
vazh1: cmp ax,maivogli
jnl vazh2
mov maivogli ,ax
vazh2: add di ,2
inc cx
jmp short pers
vazhd: mov cx,1
call newline
mov di,offset varg
cak: cmp cx,bx
jg fund
mov dx,[di]
call printint
call newline
add di,2
inc cx

Për vitin e IV-të elektroteknik i kompjuterëve 154


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

jmp short cak


fund: mov dx, offset mesazhi2
call newline
call prints
mov dx, meimadhi
call printint
mov dx,offset mesazhi3
call newline
call prints
mov dx, ma i vogli
call printint
ret
main endp
cseg ends
end main

Shembulli6: Shëndrrimi i germave të mëdha në të vogla dhe anasjelltas


title shendrrimi i shkronjave te mdha ne te vogla dhe anasjelltas
sseg segment stack
db 256 dup(?)
sseg ends

dseg segment
varg dw 50,51 dup(?) ; bajti i parë i vargut përmban gjatësin e vargut
nvarg db 51 dup(?) ; gjatësia e vargut =50 +’$’ në fund
mesazhi1 db ’jepni vargutfillestar:$’
mesazhi2 db ’vargu i ndryshur është:$’
dseg ends

cseg segment
assume cs:cseg, ds:dseg, ss:seg, es:dseg
extrn prints:near, newline:near, printc:near, printint:near
extern inputs:near, inputc:near, inputint:near
main proc far
push ds
mov ax,0
push ax
mov bx,dseg
mov ds,bx
mov es,bx
;
mov dx,offset mesazhi1;
call prints ;
mov di, offset varg;

Për vitin e IV-të elektroteknik i kompjuterëve 155


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

call inputs;
call newline
cld ; DF=0 dhe se DI dhe SI rriten te LODS,STOS
mov di, offset varg+2 ; nga bajti i dytë gjindet vargu i lexur
mov di,offset nvarg;
xor cx,cx ;CX=0
mov cl,[si-1] ; në bajtin e parë të vargut është numri i karakterit të lexuar
pers: lodsb ;Al=[DS:SI], SI=SI+1
cmp al,’a’ ; a është AL <’a’
jb tjeter ; nëse po kcjmë në Tjetër
cmp al,’z’ ; a është AL>’z’
ja tjeter ; nëse po shkojmë në tjetër
sub al,32 ; në të kundërtën prej të voglave formjmë germa të mëdha
jmp short incizo ; këcejmë në incizo
tjeter: al,’A’ ; a është AL<’A’
jb incizo ; nëse po përfundojmë
cmp al,’Z’ ; a është AL>’Z’
ja incizo ; nëse po përfundojmë
add al,32 ; nga shkronjat e mëdha formojmë të voglat
incizo: stosb ; [ES:DI]=AL,DI=DI+1
loop pers ;CX=CX-1, nese është CX<> 0 kcejmë ne pers
mov byte ptr[di],’$’ ;përcaktojm fundin e vargut nvarg
mov dx,offset mesazhi2 ; pregditemi per shtypje
call prints ; shtypim mesazhin përkatës
mov dx, offset nvarg ;pregaditemi për shtypjen e vargut të ri
call prints ; shtypin vargun e ri të përfituar
ret
main endp
cseg ends
end main

Shembulli 7 operacionet logjike


title operacionet logjike
sseg segment stack
db 256 dup(?)
sseg ends
dseg segment
numri1 dw ?
numri2 dw ?
mesazhi1 db ‘ jepni numer:$’
mesazhi2 db ‘ Numri1 $’
mesazhi3 db ‘numri2 $’
rezdb’..........................$’
dhe db ‘ and $’

Për vitin e IV-të elektroteknik i kompjuterëve 156


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

ose db ‘or $’
eose db ‘xor $’
negac db ‘not nr1 $’
dsed ends

Cseg segment
assume cs:cseg,ds:dseg,ss:seg,es:dseg
extrn prints:near,newline:near,printc:near, printint:near
extern inputs:near, inputc:near,inputint:near
main proc far
push ds
mov ax,0
push ax
mov bx,dseg
mov ds,bx
mov es,bx
;
mov dx,offset mesazhi1 ;DX=OFFSET mesazhi1
call prints ;shtypet mesazhi1
call inputint ; dhe lexohet numriprej tastierës
mov numri1 ,ax ; i cili vendoset në lokacionin përkatës
call newline ; kalojmë në rreshtë të ri
call prints ; sërisht shtypim mesazhin 1
call inputint ; lexojmë numrin nga tastiera
mov numri2 ,ax ; dhe e vendosim në lokacionin përkatës
;
call newline ; kalojmnë rreshtë të ri
mov dx,offset mesazhi2 ;DX=OFFSET MESAZHI2
call prints; shtypet mesazhi2
mov dx, numri1 ; DX=numri1
call printbin ; shtypet Numri1 në binar
call newline ; kalojmë në rreshtë të ri
mov dx,offset mesazhi3 ; DX=OFFSET mesazhi3
call prints; shtypim mesazhin 3
mov dx,numri2 ; DX=NUMRI2
call printbin ; shtypim NUMRIN2 në binar
call newline ; kalojmë në rresht të ri
;
mov dx,offset rez ; DX=OFFSET rez
call prints ; shtypim minuset (duket me mire:)
call newline ; kalojme në rresht të ri
mov dx,offset i ;DX=OFFSET mesazhi i
call prints ; shtypet mesazhi
mov dx,numri1 ;DX=NUMRI2

Për vitin e IV-të elektroteknik i kompjuterëve 157


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

mov dx,numri2 ; DX=DX and numri2


call printbin ; shtimin në binar DX
call newline ; kalojmë në rreshtë të ri
;
mov dx,offset rez ;
call prints ; sërisht minusat;
call newline;
mov dx,offset ose ;DX=OFFSET mesazhi ose
call prints ; shtypet mesazhi
mov dx,numri1 ;DX=NUMRI1
or dx,numri2 ; DX=DX or numri2
call printbin ; shtypim në binar DX
call newline ; kalojmë në rreshtë të ri
;
mov dx, offset rez;
call prints;
call newline;
mov dx,offset eose ;DX=OFFSET eose
call prints ; shtypet mesazhi
mov dx,numri1 ; DX=NUMRI1
xor dx,numri1 ; DX=DX or numri2
call printbin ; shtypim DX në binar
call newline ; kalojmë në rreshtë të ri
;
mov dx,offset rez;
call prints;
call new line;
mov dx, offset negac ;DX=OFFSET i meszhit negc
call prints ; shtypet ky mesazh
mov dx,numri1 ;DX=NUMRI1
not dx ; DX=not(DX)
call printbin ; shtypim DX

ret
main endp
cseg ends
end main

Shembulli8 zhvendosja
title shiftimi

sseg segment stack


db 256 dup(?)
sseg ends

Për vitin e IV-të elektroteknik i kompjuterëve 158


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

dseg segment
numri dw ?
n dw ?
mesazhi1 db ‘ jepni numer:$’
mesazhi2 db ‘ jepni numerin n:$’
mesazhi3 db ‘ numer=$’
shle db ‘SHL 1=$’
shl1 db ‘SHL n=$’
shri db ‘SHR 1=$’
shr1 db ‘SHR n=$’
carry db ‘CF=$’
dseg ends

Cseg segment
assume cs:cseg,ds:dseg,ss:seg,es:dseg
extrn prints:near,newline:near,printc:near, printint:near
extern inputs:near, inputc:near,inputint:near
main proc far
push ds
mov ax,0
push ax
mov bx,dseg
mov ds,bx
mov es,bx
;
mov dx,offset mesazhi1 ;DX=OFFSET mesazhi1
call prints ;shtypet mesazhi1
call inputint ; dhe lexohet numri prej tastierës
mov numri,ax ; i cili vendoset në lokacionin përkatës
call newline ; kalojmë në rreshtë të ri
mov dx,offset mesazhi2 ; DX=OFFSET i meszhit2
call prints ; shtypim mesazhin
call inputint ; lexojmë numrin N nga tastiera
mov n,ax ; dhe e vendosim në lokacionin përkatës
call newline ; kalojmnë rreshtë të ri
;
mov dx,offset mesazhi3 ;DX=OFFSET mesazhi3
call prints ; shtypet mesazhi
mov dx, numri ; DX=NUMRI
call printbin ; shtypet Numri në binar
call newline ; kalojmë në rreshtë të ri

; Pjesë e programit i cili ka të bëjë me funksionin SHL d,1

Për vitin e IV-të elektroteknik i kompjuterëve 159


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

mov dx,offset shle ; DX=OFFSET i vargut shle


call prints ; shtypim vargun
mov dx,numri ; DX=NUMRI
shl dx,1 ;DX shiftohet majtë për një
pushf ; fleg-ët shkojnë në stek (do të duhen më vonë)
call printbin ; shtypim NUMRIN në binar nga DX
mov dx, offset carry ; DX =OFFSET mesazhi carry
call prints ; e cila shtypet
mov dx,0 ; DX=0
popf ; kthejmë përmbarjen e flegeve nga steku
jnc nas1 ; nëse sështë vendosur e flegu CF shkojmë në nas1
mov dx,1 ; nëse është DX=1
nas1; call printint ; shtypet DX
call newline ; kalojme në rresht të ri
; Pjesë e programit i cili është i angazhuar për funksionin SHL d,CL
mov dx,offset shl1 ;DX=OFFSET mesazhi shl1
call prints ;
mov dx,numri ;DX=NUMRI
mov cx,n ; CX=n(shfrytëzohet vetëm CL, bitet më të lart
shl dx,cl ; hudhen )-Dx shiftohet për CL venda majtë
pushf ; ruajmë përmbatjen e flegave
call printbin ; shtypin numrin në binar nga DX
mov dx, offset carry ; DX=OFFSET mesazhi carry
call prints
mov dx,0 ; DX=0
popf ; kthejmë përmbatjen e flegave
jnc nas2 ; nëse nuk ësht vendosur CF shkojmë në nas2
mov dx,1 ; nëse po atëhere dx=1
nas2: call printint ; shtypim DX
call newline;

;pjesë e programit i cili është i angazhuar me funksionin SHR d,1


mov dx,offset shri ;DX=OFFSET mesazhi shri
call prints ;
mov dx,numri ;DX=NUMRI
shr dx,l ; Dx shiftohet për njëvend majtë
pushf ; ruajmë përmbatjen e flegave të shfrytëzuar
call printbin ; shtypin numrin në binar nga DX
mov dx, offset carry ; DX=OFFSET mesazhi carry
call prints
mov dx,0 ; DX=0
popf ; kthejmë përmbatjen e flegave
jnc nas3 ; nëse nuk ësht vendosur CF shkojmë në nas3
mov dx,1 ; nëse po atëhere dx=1

Për vitin e IV-të elektroteknik i kompjuterëve 160


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

nas3: call printint ; shtypim numrin nga DX


call newline;
;
;pjesë e programit i cili është i angazhuar me funksionin SHR d,n
mov dx,offset shr1 ;DX=OFFSET mesazhi shri
call prints ;
mov dx,numri ;DX=NUMRI
shr cx,n ; CX=n (numri i shiftimit)
shr dx,cl ; shiftohet DX pë CL vende djathtë
pushf ; ruajmë përmbatjen e flegave të shfrytëzuar
call printbin ; shtypin numrin në binar nga DX
mov dx, offset carry ; DX=OFFSET mesazhi carry
call prints
mov dx,0 ; DX=0
popf ; kthejmë përmbatjen e flegave
jnc nas4 ; nëse nuk ësht vendosur CF shkojmë në nas4
mov dx,1 ; nëse po atëhere DX=1
nas4: call printint ; shtypim numrin nga DX
ret
main endp
cseg ends
end main

Pytje dhe detyra


1. Në ç’farë forme është i vendosur programi në kujtesën e kompjuterit?
2. Ç’farë janë shenjat mnomoteknike(mneomike)?
3. Ç’farë përmban kodi burim i shkruar në gjuhën asambler?
4. Çfarë janë asamblerët?
5. Prej çfarë përbëhet teksti i shkruar në gjuhën asambler?
6. Si mund të bëhet definimi i variblave në program?
7. Cilat tipe të variablave ekzistojnënë asamblerin i8086?
8. Çfarë është llabel (shenjë, etiket)?
9. Çfarë lloje të konstantave përdoren në asemblerin për i8086?
10. Çfarë mund të jenë konstantet numruese/
11. Cili është rrolli i operatorit ?
12. Çfarë janë direktivat në asamblerë?
13. Numroni grupat e direktivave në asamblerë?
14. Numroni tipet e instruksioneve në asamblerë?
15. Nuroni grupat e instruksioneve për bartje të të dhënave?
16. Me çfarë instruksione mund të realizohet mbledhja e dy numrave?
17. Numroni instruksionet për operacione logjike?
18. Çfarë arrihet me instruksione të zhvendosjes dhe rotorimit?

Për vitin e IV-të elektroteknik i kompjuterëve 161


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

19. Ç’farë është rroli i instruksione të hyrje daljeve?


20. Numroni grupat e instruksioneve për punë me vargje?
21. Numroni grup të instruksionev për drejtim me rrjedhë të programit?
22. Përshkruani strukturën e nënprogrameve?
23. Cillat lloje të nënprogrameve ekzistojnë?
24. Çfarë procese zhvillohen me ekzekutimin e instruksionit INT?
25. Me cilat instruksione bëhet ndalja e ekzekutimit të programit?

Për vitin e IV-të elektroteknik i kompjuterëve 162


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

6.Softveri sistemor
6.1. Nocioni dhe ndarja e softverit sitemor
Sistemi i kompjuterik është kombinimi i hardverit dhe softverit (fig 6.1a ).
Hardveri (përkrahja teknike, pajisja makinerike ) ka të bëjë me pajisjen e cila paraqet
komponentet fizike të cilit do sistem të cilat kryejn funksione të caktura. Hardveri
përfshin komponentet elektrike, elektromekanike, elektronike dhe mekanike të
kompjuterit.
Termi softver ose përkrahja programore përdoret për ato komponente të sistemit
të cilat nuk janë fizike. Në kuptim më të përgjithshëm termi softver përkundër termit
hardver, tregon të gjitha programet të cilat mund të përdoren në një sistem kompjuterik.
Ndarja themelore e softverit është treguar në fig 6.1b ). Termi softwere sistemi
përdoret në të gjitha programet të cilët në ndonjë mënyrë iu ndimojn të gjithë
shfrytëzuesve të tipit të caktuar të kompjuterit që sa më mirë ta shfrytëzojnë kompjuterin.
Softwere aplikativ, për dallim nga softvere të sistemit, përmbajn programe që shërbejnë
për zgjidhje të problemeve të shfrytëzuesit.

Kompjuteri =
Hardver +Softver

a) komponentet kompjuterit
Softevri (përkrahaja programore)
- Softvere sistemi
- Softvere aplikative

b) ndarja e softverit

Fig. 6.1- Komponentet krysore të kompjuterit

Softveret e sistemit përmbajn programe të cilët kanë të bëjnë me organizimin dhe


kontrollimin e punës së sistemit kompjuterik dhe automatizimin e zhvillimit dhe
mirmbatjen e programeve. Këto programe quhen dhe programe kontrollues(udhëheqës
,drejtues).
Komponentet të cilat i takojnë softvere-ve të sistemit janë: sistemi operativ,
programe të sistemit, softveri komunikues, softveri për administrim të bazave të të
dhënave dhe softveri për grafik kompjuterike (fig 6.2a). Nganjëherë në këtë rangohen
dhe programet për përkrahje teknike të cilët përmbajn:

Për vitin e IV-të elektroteknik i kompjuterëve 163


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

a) test-programe për preventiva periodike të testimit të funksionimit të drejt të


blloqeve, njësive, pajisjeve dhe kompjuterit në tërsi dhe
b) programe diagnoztifikimi të cilët lokalizojn vendin e mosfunksionimit(keq
funksionimin) .

Softvere të sistemit Softvere komunikues


-Sitemi operativ -monitori komunikues

-programe të sistemit -udhëheqës i protokoleve

-Softveri komunikues -kontrelleri i rrjetës

-Sistemi për menagjim(udhëheqje) me -përkrahja e terminaleve të largëta


baza të të dhënave
-Softveri për grafikën e kompjuterit -monitori konvertues
-Programet për përkrahje teknike

a) ndarja e softverit të sistemit b) ndarja e softverit komunikues


Fig. 6.2 kompontet e softverit të sistemit dhe komunikues

Programimi i cili përfshin projektimin, realizimin dhe mirmbatjen e programeve


të sistemit, d.m.th. programeve të cilët sigurojn kushte për shfrytëzim të kompjuterit,
quhet programime të sistemit. Në përkrahje të softverit sistemor qëndron programimi
aplikativ esenca e sëcilit është në projektimin, realizimin dhe mirmbatjen e programeve
të cilët shërbejn për zgjidhje konkrete të problemeve të shfrytëzuesit.
Dy komponentet e para të softverit sistemor, d.m.th për sistemin operativ dhe
programe të sistemit më vonë do ti spjegojm detajisht.

Softveri komunikues
Softveri komunikues përmban programe funksionet e së cilëve janë administrimi i
komunikimit të kompjuterit me terminal të largët ose me kompjutër tjetër. Komponentet
themelore të softverit komunikues janë treguar në fig (6.2b)
Detyra kryesore e softverit komunikues është administrimi i fuksionimit dhe të
komunikimit të të gjitha pajisjeve të lidhur në rrjetën e kompjuterve, ndërsa posaqërisht :
kontrollës reciproke të veprimit të proceseve në rrjetë, adminstrimin e vetë rrjetës,
administrimin e shërbimeve të rrjetës. Grupa e parë dhe e tretë e detyrave kontrolluese
janë karakteristike për të gjitha llojet e rrjetave, ndërsa grupa e dytë është karakteristikë e
sistemeve distributive.

Për vitin e IV-të elektroteknik i kompjuterëve 164


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Sistemi për administrim me baza të të dhënave


Softweri sistemor i cili siguron punë me bazë të të dhënave quhet sistem për
adminstim me bazë të të dhënave. Ka filluar si rezulltat i zhvillimit të sistemit me punë
me fajlla si pjesë e secilit sistem operativ i cili siguron depozitimin (memorizimin) të
fajllave në bartës të jashtëm dhe qasje në shenimet e fajllave. Sistemi për adminstrim të
bazave të të dhënave shërben për shkrim(regjistrim) në bazë, kontrollimin e të dhënave
dhe manipulimin(punën) me të dhëna. Ky sistem siguron: krijimin dhe drejtimin e bazës
të të dhënave, centralizimin e kontrolimit me të dhëna, vendosjen e redudancës së të
dhënave, mundësin e eleminimit të shënimeve kundërthënse të tërsisë së bazës së të
dhënave, shfrytëzim të përbashkët të të dhënave prej bazave të ndryshëme të të dhënave,
qasje në të dhëna nga progme të të ndryshëm shfrytëzues, pavartësi të të dhënave. Ky
gjithashtu përmban skemën e bazës të të dhënave dhe operacionet të cilët mund të
shfrytëzohen për transformim të bazës së të dhënave.
Për realizim të qasjes në bazë të të dhënave formohet përshkrimi i bazës së të
dhënave i cili përbëhet prej:
a) mënyrës në të cilën baza është e vendosur në disqe;
b) mënyrës për qasje në baza të të dhënave;
c) përshkrimit të bazës së të dhënave ashtu si dhe e sheh programi aplikativ;
d) identifikimi i të dhënave të cilave programi mundet t’ju qaset;
e) bashkësisë së operacioneve të lejushme mbi të dhëna.
Secili sistem për administrim me baza të të dhënave përmban tre komponentet si në
vijim:
Gjuha për përshkrim të të dhënave(ang DDL- Data Definition Language)
gjuha për manipulim (punë) me të dhëna (ang. Data Manipulation Language) dhe
mjete speciale programuese.

Softweri për grafik kompjuterike


Duke pasur parasysh natyrën e të dhënave si dhe sasin e tyre, efikasitetin më të
madhë që arrihet në komunikimit të njeriut me kompjuterin me shfrytëzimin e fotografisë
ose të vizatimit si bartës i informacionit rrespektivisht të grafikës kompjuterike. Ky
efikasitet vjen në shprehje me rastin e projktimit me ndimën e kompjuterit
Grafika kompjuterike është pjesë e softverit sistemor i cili shërben për vizatimin
e fotografisë dhe shfaqjen e të dhënave grafike. Përmban metoda për futje, përpunim
(transformim dhe editim) dhe prezentimin e objekteve grafike (fotografisë dhe
vizatimeve) me ndimën e kompjuterit.
Nëse informacionet Grafike mund të ndryshohen si përgjigjje në hyrje të cilat
viejn nga operaori i terminalit, atëhere kjo është grafikë interaktive kompjuterike. Në
pajisjet e përshtashme për futje të të dhënave grafike grupohen miu, tabela grafike
(digjitalizotori) dhe lapsi ndriçues. Dalja mund të jepet përmes video-terminalit standard
aopo grafik ose shtypja kontinuale përmes shtyësit ose plloterit.
Funksionet kryesore të programit për grafik kompjuterike janë:
-puna me ekrane alfnumerikë ose grafik;
-metodat grafike për qasje;
-programimi grafik dhe

Për vitin e IV-të elektroteknik i kompjuterëve 165


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

-përdorimi i ekranit si konzollë.


Grafika kompjuterike aplikohet në shumë lëminjë, ndërsa më së shpeshti në
programimin e interfejsit me shfrytëzuesin, pregaditjen e vizatimeve të ndryshme,
konstruksionet në makineri, konstruktimin e qarqeve të integruara dhe të stampuara,
konstruksionet në ndërtimtari, ndërtimin e hartave dhe planeve urbanistike, ndërtimin dhe
kontrollimin e të shiritave udhëheqës për makinat me kontroll numerike, shtëpit
botuese(profesionale dhe të tjera) etj.

Për vitin e IV-të elektroteknik i kompjuterëve 166


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

6.2 Sistemi operativ


Sistemi operativ paraqet bashkësi programesh me të cilët organizohet puna e
kompjuterit, për shfrytzim sa më efikas të të gjitha resurseve të kompjuterit, si dhe
administrimin e ekzekutimit të programeve kompjuterike. Sistemi operativ është pjesë e
softverit sistemor i cili është më i afërt i hardverit të komjuterit. Ky paraqet ndimën bazë
në organizimin e punës dhe shfrytëzimin efikas të hardverit. Thënë më shkurt, sistemi
operativ ka dy rrole me rëndsi në një kompjuter:
1.kontrollon punën e tërë kompjuterit
2. siguron komunikimin ndërmjet njeriut dhe kompjuterit
Nëse sistemin kompjuterik e vëzhgojmë si një bashkësi e oranizuar hierarkike e
pajisjeve (hardverit) dhe programeve (softverit) të cilët s’bashku realizojnë përpunimin e
të dhënave atëhere sistemi operativ –pjesë e softwerit sistemor i cili është më i afërt i
harverit të kompjuterit (fig 6.3).

Fig.6.3 Modeli konceptual i sistemit kompjuterik

Për vitin e IV-të elektroteknik i kompjuterëve 167


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Puna dhe procesi (detyra)


Bashkësia e programeve me të cilët zgjidhet ndonjë problem i shfrytëzuesit,
organizohet si një tërsi e posaqme dhe quhet punë. Puna paraqet njësin themelore me të
cilën manipulon sistemi operativ. Gjatë planifikimit sistemi operativ nga puna formon
tërsi të posaçme më të vogla punuese- procese ose detyra. Proceset ekzekutohen
kontinualisht (“nëtë njejtën kohë”), kështu secili proces mundet si i pavarur të konkuroj
për marrjen të cilit do resurs të kompjuterit. Për secilin proces sistemi operativë posedon
dhe mban informacione të caktuara kontrolluese.
Ekzistojn një numër i madhë i sistemeve operative, nga të cilët më të përhapurit
janë sistemet operative për kompjuterët personal dhe stacone punuese,siç janë:
DOS, WINDOWS,OS/2, UNIX dhe të tjerë.

Resurset e sistemit kompjuterik


Njëra prej funksioneve më të rëndsishme të sistemit kompjuterik është
administrimi me resurse të kompjuterit. Administrimi me resurse ka ndikim në strukturën
pothuaje në të gjitha komponentet e sistemit operativ.
Sistemet kompjuterike posedojnë para së gjithash këto resurse: kohën e procesorit
qendror, kujtesën operative, pajisjet e hyrje daljeve, fajllave dhe softverin (programet).
Administrimi i resurseve përbëhet në ndarjen e këtyre resurseve programeve të cilët
konkurojn marrjen e tyre. Këtu përfshihen : radhitja e proceseve(detyrave), ndarja e
kujtesës operative, ndarja e pajisjeve hyrëse dalëse dhe kontrollimin e shfrytëzimit të
resurseve të programeve. Nga kjo që utha, nevoja për administrim lajmrohet për shkak të
konkurencës për të marrë resursin. Programet konkurojnë për të marrë kohën e procesorit
qendror, për shfrytëzimin e pajisjeve të veçanta të hyrje dhe daljeve, dhe gjithashtu për ta
marrë kujtesën operative dhe të jashtme. Kriterium për vlerësim të kualitetit të
administrimit me resusurse është efikasiteti i shfrytëzimit të resurseve në disponim,
prioritetin e detyrave të cilat konkurojn kërkesave për kohën e reaksionit te puna në kohë
reale, si dhe logjika e zgjidhjes së miratuar (harmonizuar).
Koha e procesorit qendror ndahet ndërmjet programeve konkurent me kyçjen
(kapërcimin) e proceseve sipas rregullave të caktuara. Kështu kur duhet lexuar të dhëna
të reja, procesi aktual ndalet që të presë bartjen e hyrje daljeve, ndërsa procesorit iu
ndahet procesi tjetër. Sistemi operativ edhe në situata të tjera mund ta ndërpres procesin
aktual. P.sh nëse i kaluar koha e ndarë, dhe aktivizon procesin tjetër.
Nevoja e administrimit të kujtesës operative paraqitet për shkak se nuk është e
mudshme që të gjitha programet aktive dhe të gjitha të dhënat të vendosen në të njejtën
kohë. Administrimi me kujtesën e jashtme është për shkakë të nevojës që të rezervohet
ose azhurohet hapsira për vendosjen e fajllave dhe të administrohet me bartjen e të
dhënave.
Admnistrimi i hyrje –daljeve është i nevoshëm për shkak të punës multiprogram
kur shumë programe kërkojn shfrytëzimin e pajisjeve periferike. Pos kësaj , bartjet hyrje-
dalje zhvillohen si të pavarura dhe paralelisht me punën e procesorit qendror ,ose me
ndarjen e pajisjes , pregaditjen e informacioneve për kontroller, aktivizimin e bartjes dhe

Për vitin e IV-të elektroteknik i kompjuterëve 168


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

përpunimin e ndërprerjeve me përfundimine bartjeve kërkojnë kërkojnë administrim nga


ana e sistemit operativ.
Administrimi me programe është i nevojshëm pasi të gjitha programet janë në
disponim të shfrytëzuesit të sistemit kompjuterik dhe gjithashtu paraqesin resurs. Në
secilin aplikacion mund të thirret nënprogrami i caktuar nga bibloteka e caktuar,
programet shërbyese ose programe të tjera për qëllim të shfrytëzimit në atë aplikacion.
Pos kësaj , disa programe mund të përdoren për më shumë detyra. Sistemi operativ ruan
informacionin mbi gjendjen e secilit program,qasshmërin, vendndodhejn , shfrytëzim
dhe të tjera.

Struktura e sistemit operativ


Funksioni i sistemit operativ mund të vështrohet nga dy kënd vështrime :
1. shfrytëzues
2. administrativ.
Nga kënd vështrimi shfrytëzues funksioni i sistemit operativ është që të lehtëson
(shpejton) përfitmin e zgjidhjes së problemeve të cilët iu interoson shfrytëzuesve duke iu
ofruar lloj-lloj shërbime. Nga kënd vështrimi administrativ i vështrimit, funksioni i
sistemit operativ është që të siguroj efikasitet të shfrytëzimit të resurseve të kompjuterit.
Edhe një mundësi, e ashtuquajtura dekompozimi kierarkik i sistemit operativ,
është ndarja në pjesë të tjera të cilat paraqesin shtresa(nivele) të sistemit operativ ( nga
posht lart) ( fig 6.4), ku çdo nivel shikon nivele më poshtë si një makinë virtuale që kryen
detyra të përcaktuara . Nukli shikon direkt Hardverin e sistemit

Për vitin e IV-të elektroteknik i kompjuterëve 169


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Fig.6.4 Struktura kiearikike e sistemit operativ

1. bërthama (nukëli, kerneli);


2. administruesi i kujtesës operative;
3. administruesi i pajisjve të hyrjeve dhe daljeve;
4. administruesi me të dhëna (fajlla);
5. planifikimi dhe evidentimi;
6. interpretimi i gjuhës së komandave.

Bërthama e sistemit operativ siguron udhëheqjen e ndërprerjeve sistemore dhe


përpunimin e ndërprerjeve, planifikimin e proceseve (të detyrave) të sistemit operativ,
manipulimin e proceseve (formimin e procesit, përfundimi i procesit etj.) dhe
komunikimi ndërmjet proceseve.
Adminstruesi i kujtesës operative kryen këto funksione: realizimin e strategjisë
së caktuar për ndarjen e kujtesës, ndarjen e kujtesës dhe realizimi i strategjisë së caktuar
për lirimin e kujtesës.

Për vitin e IV-të elektroteknik i kompjuterëve 170


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Në nivelin e udhëheqjes të pajisjeve të hyrje-daljeve realizon funksionet si në


vazhdim: siguron pavarsi të programit nga tipi i pajisjev , sigurimin e punës efikase të
pajisjes, realizimin e strategjisë të caktuar të ndarjes së pajisjes dhe të realizimit të
strategjisë së caktuar për lirimin e pajisjes.
Aminstruesi i të dhënave duhet të sigurojn mjetet softverike për organizimin dhe
qasjen në të dhëna në mënyrën që i përgjigjet shfrytëzuesit të sistemit kompjuterik. Në
këtë nivel realizohen funksionet si në vazhdim: formimi dhe fshirja e strukturës
themelore të të dhëna (fajllave). Leximi nga fajli dhe shkrimi në fajll, adminstrimi me
hapsirën e kujtesës së jashtme, sigurimi i kushteve për drejtim simbolik të fajllave,
mbrotja e të dhënave nga shkatrimi i qëllimshëm ose i pa qëllimshëm, mbrotja e të
dhënave nga qasja e pautorizur dhe shfrytëzimi, ndarja e fajllit ndërmjet shumë punëve
(të shfrytëzuesve).
Planifikimi përbëhet në futjen e punëve të reja në sistem dhe përcaktimin e
renditjes në të cilën këto do të kryhen (ekzekutohen). Funksionet të cilat realizohen në
kuadër të planifikimit janë: zgjedhja e punës së re për ekzekutim, ndarja e prioriteteve të
punëve, realizimi i strategjisë në ndarjen resurseve. Në realizimin e evidentimit dhe të
kontrollës së resurseve funksione themelore janë si në vazhdim: kufizimi në qasje të
resurseve, kufizimi i qasjes sistemit (p.sh ndonjë klase të shfrytëzuesve mund t’ju mirret
e drejta për qasje në se kërkon shumë resurse), mbatja e evidentimit llogaritës për
shfrytëzues, dhënja e llogarive shfrytëzuesve për hargjimin e resurseve etj.
Gjuha komanduese mundëson vendosje e lidhjes ndërmjet shfrytuzit dhe sistemit
dhe shfrytëzimit të resurseve. Kjo lidhje realizohet përmes interpretuesit të gjuhës
komanduse të sistemit operativë (te sistemi interaktiv ) ose të gjuhës për udhëheqje
(administrim) të punëve (ang. Job control language) (te sistemi për përpunim të
paketeve).

Për vitin e IV-të elektroteknik i kompjuterëve 171


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

6.3. Administrimi me punë


administrimi (udhëheqja, menagjimi) i punëve nënkupton zgjedhjen e punës
së caktuar dhe ekzekutimin e saj. Funksionet e udhëheqsit të punëve janë:
- planifikimi i punëve,
- intepretimi i komandave,
- ndarja e resurseve
- kontrollimi i hyrjeve-daljeve
- komunikimi me operatorin
- udhëheqja (mbatja ) e ditarit të sistemit

Planifikuesi i punëve
Planifikimi i punëve dhe ndarja e resurseve ekzekutohen(kryhen) në mënyra të
ndryshme në vartsi nga mënyra e përpunimit të të dhënave në kompjuter (regjimet
punues) :
- te regjimi monoprogram të punës udhëheqja me punë bëhet me formimin e
rradhitjes për kryerjen e punëve. Nëqoftse ndonjë program kompleks përbëhet
prej shumë programeve të moduleve objek (pjesë), atëhere përcaktohet se cili
modul do të jetë në çastin e caktuar në kujtesën operative dhe cili do të mbetet
në ate sekundare.
- Te regjimi multi-program i punës punët e arritura formojnë rendin pritës, të
cilat më pas, programi i posaqëm –planifikusi i punëve i zgjedhë sipas
përcaktimit të një kriterimi të dhënë. Punët e zgjedhura bëhen aktive. Se çfar
prioriteti do të kenë punët e caktuar varet prej qëllimit me të cilin dëshirohet të
arrihet. Qëllimet mund të jenë nga më të ndryshmet. Më së shpeshti është e
nevojshme të arrihet sa më e madhe fuqia lëshuese e kompjuterit (ekzekutimi i
numrit sa më të madhë të operacionev në periodën kohore sa më të shkurt )
ose të realizohet koha sa më e shkurtë e përgjigjjes (minimalizimi i kohës nga
pranimi i programit deri te marrja e rezulltateve).

Administruesi (menaxhusi) i hyrje daljeve


Menaxhimi i hyrje daljeve iu është besuar një moduli të posaçëm të sistemit operativ i
cili kryen këto funksione
- evidenton dhe mbikqyer të gjitha pajisjet hyrjeve daljave pa marrë parasysh se
a janë në atë çast aktive apo jo. Sistemi operativ për këtë qëllim përmanent
azhuron –fajllat e gjendjeve të cilat u mëndsojnë kontrollën mbi një numri të
madhë të pajisjeve të hyrje daljeve.
- Menaxhon me ndarjen e pajisjeve të hyrje daljeve të detyrave të veçanta
përpunuese;
- E liron pajisjen me përfundimin e detyrës (kur të përfundoj nevoja për këto).

Për vitin e IV-të elektroteknik i kompjuterëve 172


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Intepretusi i gjuhës komanduese


Me Interpretimin e komandave të gjuhës komanduese nënkoptojmë:
- analizën e të gjitha operatorëve të gjuhës komanduese,
- zbulimin e gabimeve eventuale ,
- pranimin e operatorëve dhe
- ekzekutimin e veprimeve të operatorve.

Ndarja e resurseve
Programet për ndarje të resurseve hyejn në kuadër të programeve të sistemit për
menaxhim të detyrave (supervizor), por në mënyrë të caktuar shërbejn për kontrollim të
punëve. Funksionet themelore të cilat këtu realizohen janë:
-rindarjen e pajisjeve periferike të cilat lirohen,
-rirradhitja e kujtesës operative me përfundimin e programit,
-rirradhitjen e çelsave brojtës të kujtesës,
-vërtetimi i ndarjes së kujtesës operative para fillimit të programit,
-formatizimi i zonave(domeneve) të kujtesës ,
-pregaditja për mbushjen (ngarkimin) e programit në kujtesën operative dhe
-bartja e kontrollës në program.

Komunikimi me operatorin (përdoruesin)


Funksioni i sistemit operativ: komunikimi me operaterin paraqet bazën për
interfejsin shfrytëzues të kompjuterit. Më së shpeshti komunikimi me operaterin
(shfrytëzuesin) realizohet në njërën nga dy mënyrat:

-me dhënjen e komandës sistemit operativ nga linja komanduese dhe


-me shfrytëzimin e interfesit grafik të shfrytëzuesit (përmes menyjave dhe
ikonave). Sistemet operative bashkohor gjithnë e më shumë përdorin këtë mënyrë të
komunikimit, duke përdor krahas tastierës, shumë pajisje të tjera për hedhje manuele të
të dhënave ( miu, digjitalizatori, miu-laps etj). Si dhe monitorët me ngjyra për tregim.

6.4. Menagjuesi i detyrave (supervizor-i)


Udhëheqsi i detyrave (supervizori) paraqet komponeneten e sistemit operativ që
shërben për kontrollimin e resurseve hardverike të kompjuterit, përmban funksionet si
në vazhdim:
- kontrollimin i ndërprerrjeve,
- kontrollimin (administrimin) e kohës së procesorit,
- administrimin e kujtesës operative ,
- sinkronizimin dhe shërbimin me detyra,
- organizimin e shërbimit kohor,
- administrimin e ngjarjeve të pa planifikuara.

Për vitin e IV-të elektroteknik i kompjuterëve 173


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Adminstruesi i ndërprerjeve
Siç është e njohur procesori shpesh punon me ndërprerje. Ndërprerja paraqet
përgjigjje në ngjarjet asinkrone ose sinkrone. Ndërprerjet përdoren për qëllim të rritjes së
efikasitetit, besushmërisë dhe të sinkronizimit të elementeve të procesorit. Mënyra të
ndryshme të punës të sistemeve operative kërkojn mekanizma për gjenerimin të një vargu
me sinjale ndërprerës që të mund ta realizojnë këtë. Njëashtu që sigurohet besushmëria e
sistemit, nëse kjo nuk është e rreguluar në mënyrë softverike në kuadër të sistemit
operativ, përdoret një hardver i posaçëm i cili teston se a kan dështuar pjesë të veçanta,
nëse dështimi zbulohet, procesori për këtë lajmrohet me sinjal të posaqëm
Funksioni i programit të sistemit operativ për administrim të ndërprerjeve
përmban këto aktivitete :
-zbulimin e kërkesës për ndërprerje ;
-përcaktimin e prioriteteve të ndërprerjeve;
-pregaditjen e ndërprerjeve;
-kthimin në programin e ndërprer.
Me sinjalin ndërpres kërkohet kalimi nga programi aktual në programin për
përpunimi të ndërprerjeve. Ekzistojnë lloje të ndryshme të ndërprerjeve të cilët kanë
prioritete të ndryshëm, dhe me marrjen e sinjalit për ndërprerje, programi i ndërprerjeve,
programi ndërprerës përkohsisht e lëshon dhe kur të krijohen kushtet, procesori përsi iu
ndahet. Që programi të mund të filloj normalisht të punoj, nevojitet të ruhen përmbatjet
aktuale(në rrjedhë) të disa regjistrave të procesorit (p.sh akumulatorit, numruesit të
instruksionit, regjistrit indeks, bazik dhe regjistrit të gjendjeve). Kur programi përsëri
aktivizohet, rexhistrat në fjalë mbushen me përmbatjet e ruajtura.

Administrimi me kohën e procesorit


Administrimi me kohën e procesorit bazohet në ndarjen e detyrës së dhënë
procesorit sipas një algoritmi të përcaktuar më parë(të strategjisë së planifikimit) në
rastin kur kërkohet më shumë detyra. Funksioni i sistemit operativ për administrimin me
kohën e procesorit (supervizor i procesorit), më së shpeshti nënkupton aktivitetet në
vazhdim:
-zgjidhja e problemit për ndarjen e kohës së procesorit
-ndarja dhe analiza e prioriteteve të detyrave dhe
-sigurimi i punës në kohë reale.
Kompjuterët bashkohor gjithnjë dhe më shumë posedojn më shumë procesor
(sistemet shumë procesorik), për këtë arsye administrimi me kohën e procesorit bëhet i
komplikuar. Në këtë rast përdoren algoritme të ndryshëm për ndarjen e detyrave te
sistemet operative multiprogram (shumëprogramësh), në mënyrë që të sigurohet fuqia sa
më e madhe lëshuese e sistemit, d.m.th. sa më shumë që të jetë e mundur të shkurtohet
koha jo produktive e procesorit. Në këtë rast, tek sistemi operativ unix, koha e
procesorit renditet me ndarjen e prioriteteve dinamike të detyrave, pos se detyrat e
sistemit kanë prioritet më të lart nga ato të shfrytëzuesit.

Për vitin e IV-të elektroteknik i kompjuterëve 174


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Administriuesi i kujtesës operative


Kompjuterët bashkohor 32 dhe 64 bitësh më së shpeshti punojnë në rexhimet
multi-program, çka d.m.th. shumë programe në të njejtën kohë ndodhen në kujtesën
operative. Lajmrohet nevoja për ndarjen e kujtesës operative në pjesë në të cilat vendosen
detyrat të cilave iu duhet koha e procesorit qendror.
Detyrat kryesore të programit të sistemit operativ për administrim të kujtesës janë:
-mbatja e evidentimit mbi pjesët e lira dhe të zëna të kujtesës operative;
-prurja e vendimeve mbi kërkesat e detyrave ose të punëve për ndarjen e kujtesës
operative
-ndarja e kujtesës operative detyrës dhe rindarja e hapsirës së kujetesës të lira
dhe të nxëna dhe
-lirimi i kujtesës operative pas shfrytëzimit të saj.

Sinkronizimi dhe shërbimi me detyra


Programet e sistemit operativ për sinkronizim dhe shërbim me detyra mbajn
llogarin mbi ate të mbrojnë konekzistencën e të dhënës dhe zvoglojë gjasën e lajmrimit të
gabimit me rastin e komunikimit ndërmjet veti të shumë detyrave. Gabimet më së
shpeshti shkaktohen kur shumë detyra iu qasen resursit të caktuar në të njejtën kohë, që
kjo të eleminohet, programi për sinkronizim të detyrave duhet të respektojnë rregullat si
në vazhdim :
- në çastin e dhënë resursi i caktuar mund të përdor vetëm një detyrë,
- nëse lajmrohen më shumë detyra për resurs të caktuar, ai iu ndahet njërës
prej detyrave në perioden e caktuar kohore,
- kur detyra ta merrë resursin, duhet ta jepë pas një kohe të caktuar dhe
- detyra derisa pret ndarjen e resursit nuk kërkon kohën e procesorit

Organizimi i shërbimit kohor


Funksioni themelor i organizimit të shërbimit kohor ka për qëllim të parandaloj
disa prej detyrave që të mbajn procesori pakufi gjatë dhe që ta shfaq(tregoj) kohën reale.
Për këtë qëllim në kompjuter ekziston ora e kohës reale e cila kryesisht përmban :
-osshilatorin e kristalit,
-numruesin dhe
-regjistrin e të dhënave.
Kurdoherë që programi për ndarje të kohës së procesorit qendror ia ndan
procesorin ndonjë detyrë, numruesi inicializohet në vlerën e kohës së ndarë duke kopjuar
përmbatjen e regjistrit me të dhëna në numrues oshilatori i kristalt i gjeneron impulset në
intervalin kohor, sinjali impulsiv bartet deri te numruesi i dekrementohet (zvoglohet për
1) kur numrusi arrin deri te zero, gjenerohet sinjali për ndërprerje programore.

Për vitin e IV-të elektroteknik i kompjuterëve 175


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

6.5. Administruesi i dhënave


Në kompjuterët bashkohor të dhënat të cilat përpunohen ruhen në formë të
fajllave dhe bazës të të dhënave në ndonjërin prej mediuemeve për ruatjen e të dhënave:
magnetik ose optik. Sistemi operativ mban evidentimin mbi të dhënat në disponim,
administron qasjen në të dhënat e caktuara dhe ndarjen e tyre programeve të cilët i
përpunojnë. Funksionet më të rëndësishëm të kësaj komponenete të sistemit operativ janë
-administrimi i periferive
-administrimi i fajllave;
-administrimi me ndarjen e kujtesës sekundare,
-shërbimi i katalogve (direktoriumeve ose emrororve)
-përpunimi i dështimeve të hyrje-daljeve

Administrimi(menaxhimi) i periferive
Sistemi operativ në një masë të caktuar kontrollon punën e pajisjeve periferike në
formën e përkrahjes programore. Për shkak të vetë specifikave të pajisjeve periferike, të
cilat janë kryesisht janë makina elektromekanike ( pra dhe dukshëm më të ngadalshme se
procesori), kontrollimi këtu zhvillohet në dy nivele kryesore: logjik dhe fizik.
Në nivelin logjik kontrollimi i periferive duhet të siguroj:
 detektimin e gabimit dhe koreksionin eventual ose tërhiqjen e vretjes,
 përshtatja e pajisjes periferike njësis qendrore të kompjuterit,
 sigurimin e punës me periferin, çka nënkupton dhe përkrahjen e standardit për
këmbimin e të dhënave.
Në nivelin fizik menagjimi me pajisje siguron:
- përcaktimin (ose ndarjen) e adresës kujtesës operative,
- formimin e vargut me shenja kontrolluese për vendosjen e komunikimit,
- sinkronizimin punës të më shumë pajisjeve periferike( p.sh monitorve dhe
tastierës),
- përshtatjen e shpejtësisë të rrjedhës së të dhënave nëpër pajisje të ndryshme
periferike.

Menaxhimi i fajllave
Etërë forma kryesore për ruatjen e të dhënave në kompjuter janë fajllat. Sistemi
operativ mban evidencën mbi fajllat kështu që ka një tabelë të posaqme në të cilën janë të
shkruara fajllat e të dhënave. Këto tabela ndodhen në kujtesën operative dhe më së
shpeshti përmbajnë:
-emrin, madhësin dhe kohën e ndyshimeve të fundit në fajlla,
-të dhënat mbi organizimin e saj,
-mënyrën për qasje në fajlla dhe
-gjendjen e fajllit.
Menaxhimi me fajlla paraqet në realitet, ndërlidhjen programit të shfrytëzuesit
(aplikativ) dhe funksionit të sistemit operativ për menaxhim me hyrje daljet (supervizorin
e hyrje daljeve). Krahas mbatjes së evidentimit mbi fajllat, funksionet e menaxhimit me
fajlla janë :

Për vitin e IV-të elektroteknik i kompjuterëve 176


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

-shndrrimi i kërkesës logjike të programit aplikativ mbi operacionet mbi


shenimeve të fajllit në kërkes fizike për operacionin e hurje-daljeve dhënjen e kërkesës
supervizorit të hyrje-daljeve;
-hapjen e fajllave, përcaktimi i vendeve se ku ndodhen informacionet mbi te,
shfrytëzimit të të dhënave nga katalogu i datotekave;
-ndarja e hapsirës së kujtesës në kujtesën sekundare.
-rregullimi i rregullave për qasje në fajlla
-mbyllja e fajllave pas përfundimit të punës- fshirja e baferve dhe laminjëve të
tjera punuese në kujtesën operative për punë me fajllin e dhënë.

6.6. Sistemi programues (zhvillues)


Programet e sistemit përmbajn programe të cilët shërbejnë për automatizimin të
pregaditjes dhe të testimit të programeve të shfrytëzuesit. Këto janë gjuhët e programimit,
programet përkthuese (asembler, kompilator dhe interpretator), editorët, bibloteka
nënprogramesh dhe programet shërbues. Ndarja themelore e programeve të sistemit është
në përkthuesit e programeve (gjuhëve të procesorëve) dhe programeve shërbuese (fig
6.5a), ndarja e mëtutjeme është treguar në fig 6.5bc,.
Termi përkthues i programit tregon gjuhët procesorike të cilët pranojn programe
të shkruar në ndonjë gjuhë të programimit dhe gjenerojnë programe ekujvalente
funksional në ndonjë gjuhë tjetër. Kompilatori është përkthues ku gjuha në hyrje e së cilit
është gjuha e lartë e gjuhës së programimit ndërsa gjuhë dalëse është gjuha e makinës.
Interpretatori është përkthyes ku gjuha hyrëse e së cilit është gjuha e lartë programimit
ndërsa gjuha dalëse është ndonjë formë ndërmjetsuese e cila interpretohet (ekzekutohet).
Për dallim prej asemblerit kompilatori dhe interpretitorit, sipas rregullit, për një urdhëres
të shkruar në gjuhë të lart gjeneron shumë instruksione në gjuhë të makinës. kompilatori
dhe interpritaori dallohen sipas asaj se kompilatori përkthen në gjuhë interne të makinës
të tërë programin dhe më pas iu qaset ekzekutimit të tijë, ndërsa interpritatori përkthen
një urdhëres nga gjuha e lartë e programimit në një varg të instruksioneve në gjuhë të
makinës, iu qaset ekzekutimit të këtyre instruksioneve dhe më pas kalon në përkthimin e
urdhëresës tjetër.
Sistemi i programimimit
-programet përkthyese(gjuhët e procesorit)
-programet shërbyese(programet servisues)
-mjetet për zhvillim të softverit (Veglat CASE)
a) ndarja kryeore e sistemit të programimit

Përkthyesit e programit Programet shërbysë


-asamblerët dhe makrroasemlerët -editor
-kompilatorët -lidhës
-interpritatorët -mjetet për testi dhe zbulime të

Për vitin e IV-të elektroteknik i kompjuterëve 177


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

-paraprocesorët gabimeve
-programe ndimëse

b)programet e përkthimit c) programet shërbyese


Fig 6.5 komponentet e sistemit të programimit

Kompilatori
Kompilimi mund të ndahet në dy detyra kryesore:
a) analizë –vërtetimi i strukturës të programit burim dhe
b) sintezë –gjenerimin (konstruksionin ) e programit objekt ekujvalent me
programin burimor.
Në procesin e analizës programi burimor konvertohet në formën apstrakte e cila
përmban të gjitha veçoritë me randësi të algoritmit. Analiza përfshin analizën leksikore
dhe analizës sintaksore. Në analizën leksikore renditën njësit hyrëse me kuptim të
caktuar, siç janë emrat, konstantat, fajalët e rezervuara dhe operatort. Analiza sematike
paraqet procesin e vendimarrjes se a është vargu i simboleve hyrëse fjali e gjuhës së
dhënë, dhe nëse është, përcaktimi i strukturës sintaksore të këtij vargu.
Procesi i sintezës përmban dy pjesë të posaqme: gjenerimi i kodit dhe asamblimit.
Gjenerimi i kodit transformon programin burim apstrakt në program ekujavalent të
makinës. Me asamblim bëhet konverzioni i urdhëresave të makinës në formatin përkatës
dalës dhe formohet moduli objekt i përshtatur përpunimt të lidhësit makinës cak.

Interpretatori
Mënyra interpretuese për realizim të përkthyesit më së shpeshti zbatohet te gjuhët
programuese interaktive, Siç është p.sh. bejzik (ang BASIC) dhe te gjuhët e ndryshme
komanduese. Kurdoherë që të arrijë rreshti i ri hyrës, aksionet e mëtutjem i ndërmerë
kontrolleri i përpunimit i cili i thërret:
a) programin homogjenozator për qëllim të konverzionit të rreshtit të programit
hyrës në ndonjë format standard intern ;
b) analizatorin sintaksor dhe gjeneratorin e kodit për qëllim të vërtetimit
sintaksor dhe gjenerimi i kodit të makinës;
c) procesori i komandave për qëllim të përpunimit të urdhërave
kontrollues(udhëheqës) p.sh.RUN, por jo dhe ekzekutimin e saj.

Për vitin e IV-të elektroteknik i kompjuterëve 178


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Ekzekutimi i programit të përkthyer i takon ekzekutuesit. Realizohet me leximin e


kodit përkatës të makinës dhe ekzekutimin e tij. Nga këto është krijuar ekzekutimi
i programit të përkthyer të përzier të kodit interpretues dhe të makinës, pos se
shumica e urdhërave ekzekutohen përmes kodit të makinës ndërsa kontrolla e
kalimit nga njëra urdhëres në tjetrën përkrahet në mënyrë interpretuese.

Paraprocesori
Paraprocesori është program i cili kryen ndonjë modifikim të programit burim që
ta bëjë atë të përshtashëm për hyrjen në kompilator. Modifikimet mund të jenë ndryshime
të thjeshta të formatit por më së shpeshti janë zgjerime( ekspanzione) të
makrrourdhërave të gjuhëve të larta programuese me të cilat zgjerohet gjuha për ndonjë
zbatim special.

6.7. Programet shërbuese


Editorët
Pregaditaja (futja ) e programit bëhet në fazën e posaqme të zhvilimit të programit
e cila quhet editim, ndërsa pjesa e softverit sistemor e cila realizohet këtë fazë quhet
editor programi ose editor teksti. Shërben për futjen dhe modifikimin e të dhënave
tekstuale, p.sh të programit në gjuhën e lartë programuese, të librave dhe të dokumenteve
të tjerë tekstual. Rezulltati i editorit të programit është programi burim.
Editorët e tekstit përbëjnë pjesën me randësi të interfejsit shfrytëzues dhe më së
shpeshti janë pjesët shfrytëzuese të softverit sistemor në sistemet interaktive komjuterike.
Për shumicën e shfrytëzuesve këto paraqesin ndërlidhjen kryesore me kompjuterin.
Mund të jenë editor reshti(linjor), kur teksti konsiderohet si një varg i rreshtave të ndarë
me shenjën kontrolluese për fund të rreshtit, ose editor ekranik. Te editorët ekranik
përmbatja e ekranit paraqet dritaren në tekst brenda të cilit kursori mund të sjellet në
vendin ku mund të bëhet ndërfutja, fshirja dhe funksione të tjera edituese.
Njëra prej detyrave karakteristike me randësi të editorit është bashkësia e
funksioneve edituese që iu lihen në disponim shfrytëzuesit. Taksonomia e mundësive të
editorit përfshin potencialisht më shumë se 200 funksione me të cilat mund të
ekzekutohet. Do ti përshkruajm vetëm disa më të rëndësishmet.dhe të cilat më së shpeshti
përdoren të funksioneve që përdoren mbi objektet tekstuale, ku me objekt nënkuptojm,
shenjë, fjalë, fjali, paragraf dhe seksioni i cili si tërsi i takon ndonjë operacioni të
caktuar të editorit:
-ndërfutja e objektit në tekst,
-largimi (fshirja) e objektit nga teksti,
-zavendsimi i objektit në tekst me objekt të ri
-zhvendosja(rivendosja e objektit nga njëri pozicion në tjetrin në tekst
-kopjimi i tekstit në pozicione të ndyshme në tekst
-lidhja e shumë objekteve në tekst në një objekt
-zbërthimi i objektit në tekst në më shumë pjesë
-seleksioni (markimi ) i pjesëve të veçanta të tekstit

Për vitin e IV-të elektroteknik i kompjuterëve 179


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

-kërkimi i objektit në tekst etj.


Programi për lidhje –lidhësit(linkerët)
Rezulltati i përkthimit të programit nuk fitohet direkt në formën e makinës por në
formën e cila quhet modul objektiv. Që të mundet programi të ekzekutohet në kompjuter,
është e domosdoshme të sillet ai në formën ekzekutueshme dhe të vendoset në kujtesën
operative. Forma ekzekutueshme e programit përfitohet me lidhjen e moduleve objekt në
një tërsi, i shtuquajturi moduli mbushës quarja e tijë në formën direkte të makinës (gjuhë
makine. E tërë puna rrethë gjenerimit në formën ekzekutuese dhe vendosen e sajë në
kujtesë operative bëhet në fazën e posaqme të zhvillimit të programit e cila quhet lidhje.
Kjo fazë pason pasë fazës së përkthimit. Pjesa e softverit të sistemit e cila realizon
funksionin e lidhjes quhet lidhës ose editor i lidhjes. Ekziston verzione të ndryshme të
lidhësve ndërsa nganjëher këto kryejn dhe mbushjen në formën ekzekutuese të programit
në kujtesën operative.

Mjetet për testim dhe eleminim të gabimeve


Zbulimi i gabimeve ose pastrimin e programeve paraqet procesin e identifikimit
dhe eleminimit të gabimeve lokal nga programi. Për kundër kësaj , testimi është që të
konstatoj se a ekzistojnë gabime, por nuk i izolon dhe asë eliminon .
Zbulimi i gabimeve në program paraqet proces të dyfisht i cili fillon me
idikacionin mbi ekzistimit të gabimit si rezulltat i testimit të sukseshëm dhe vazhdon me
aktivitet si në vazhdim:
a) përcaktimin precizë të natyrës së gabimit të vrejtur,
b) lokalizimi dhe eleminimi i gabimit.

Programet ndimëse
Programet ndimëse paraqesin bashkësi programesh të cilët nuk janë të natyrës
fundaamentale por me to zgjerohen mundësit e sitemit kompjuterik dhe këtë dhe
përmisohet kualiteti i shërbimit në shërbim të shfrytëzuesit. Numri dhe llojet të këtyre
programeve të cilët janë pjesëmarrës në softverin e sistemit dallojnë prej sistemit në
sistem. Në vazhdim i japin vetë disa tipe programesh ndimëse :
 formimimi i biblotekave të programeve,
 mirëmatja e fajllave: fshirja, formatizimi, lidhja, kopjimi, riemrimi etj.
 Shfrytëzimi i fajllave: modifikimi, azhurimi, leximi, prezentimi në ekran etj.
 Puna me katalogje (emror)
 Konvertimi i fajllit nga njëri format në tjetrin,
 Shtypja e përmbatjes të fajllit
 Krahasimi i përmabatje të dy fajllave etj.

Për vitin e IV-të elektroteknik i kompjuterëve 180


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

6.8 Sistemi operativ UNIX(juniks)


Sistemi operativ UNIX është zhvilluar në SHBA për kompjuterët e tipit PDP-7
dhe PDO-11. Në fillim është pranuar në mjediset universitare Amerikane, në mënyrë që
më vonë rrethi i shfrytëzuesve është zgjeruar, dhe vetë sistemi operativ zhvillohet dhe
për tip të tjerë të kompjuterëve. Në ditët e sotme UNIX është njëri prej sistemeve
operative më të shfrytëzuara dhe praktikisht paraqet standard i sistemeve operative për
shumë shfrytëzues. Pjesa më e madhe e tij është shkruar në gjuhën programuese C, çka
mundëson që të jetë i pavarur prej harduerit dhe rezistent për nga prodhuesit e ndryshëm
të harduerit dhe softuerit. Nuk janë shumë me rëndësi dallimet në tip të procesorit dhe
arkitektura e kompjuterit. Për këtë arsye përdoret në të gjithë kompjuterët bashkëkohor:
nga sistemet e mëdha kompjuterike, super kompjuterëve, stacioneve punuese grafike deri
te terminalet alfanumerik të kyçur në linjat serike në një kompjuter qendror. Për
kompjuterët pc është zhvilluar një version i posaçëm i unix-it me emrin XENIX.
Me zhvillimin e versioneve burimore të sistemeve operative, lajmërohen dhe
versione të reja të prodhuesve të ndryshëm. Megjithatë, për të gjitha versionet e UNIX-it
e përbashkët ishte modulariteti, sistem operativ shumë programesh i cili mundëson
punën me ndarje kohore. Nga ana tjetër, UNIX-i është i pavarur nga hardueri, i
përshtatshëm për zhvillim të programit dhe i lehtë për shfrytëzim
UNIX-si ka strukturë shtresore të sistemeve operative klasike dhe këtë e
formojnë;
 Pjesa qendrore-bërthama,
 Programet ndihmëse të sistemit- veglat dhe
 Përkthyesit e programeve dhe programi shfrytëzues
Elementet e strukturës së UNIX-it janë treguar në fig 6.6

Për vitin e IV-të elektroteknik i kompjuterëve 181


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Fig.6.6 -Struktura shtresore e UNIX-it

Pjesa qendrore e sistemit operativ quhet bërthamë, nukleus ose kernel, kjo pjesë
e sistemit operativ është e ngarkuar (angazhuar) për komunikim direkt me harduerin.
Udhëheqja me harduerin UNIX-i e realizon përmes fajllit special ( SPECIAL FILE). Për
komunikim me shtresat e larta përdor thirrjet sistemore(SYSTEM INTERFACE
CALL).
Komponentet kryesore të bërthamës janë:
-sistemi për udhëheqje me detyra,
-sistemi mbi mbajtjen e evidentimit mbi fajllat,
-sistemi për udhëheqje të hyrje-daljeve

Administrimi i detyrave
Sistemi për udhëheqje me detyra realizon:
-komunikimin ndërmjet detyrave,
-sinkronizimin ndërmjet detyrave
-planifikimin e detyrave
-administrimi i kujtesës.

Për vitin e IV-të elektroteknik i kompjuterëve 182


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Detyra ose procesi në UNIX paraqet programi i cili ekzekutohet. Ajo mund të
gjendet në dy regjimet kryesore punë;
-në sistemor-regjimin e favorizuar (system state) ose regjimin e bërthamës, kur
detyrën e ekzekuton bërthama dhe kur iu qaset segmenteve të dhënave të sistemit.
-në regjimin e shfrytëzuesit (user state), kur detyrat i kryen programet shfrytëzues
dhe iu qaset segmenteve të të dhënave të shfrytëzuesit.
Kalimi nga regjimi shfrytëzues në regjimin e sistemit realizohet përmes përmes
thirrjes së sistemit, ndërsa kalimi nga regjimi i sistemit në regjimin e shfrytëzuesit ndodhë
kur shërbimi i sistemit (qasja e segmenteve të të dhënave të sistemit) –përfundon, ose kur,
nëse shërbimi nuk ka mund të kryhet, dërgohen mesazhe përkatëse për gabime.
Krijimi i detyrës realizohet përmes thirrjes sistemore fork. Kur të filloj leximi i
programit të bërthamës nga disku, aktivizohet detyra “0” ose bërthama. Të gjitha
proceset e reja i krijon ndonjëra prej detyrave ekzistuese. Secila detyrë e merr numrin e
saj identifikues. Kështu p.sh bërthama ka numrin e identifikimit 0; detyra në vazhdim të
saj , e cila mbikqyer krijimin e detyrave të tjera (init proces), krijohet nga ana e
bërthamës, me thirrjen e sistemit fork dhe kjo merr numrin identifikues 1. Detyrat e tjera
mund të kenë numrat të ndryshëm identifikues.
Komunikimi ndërmjet detyrave dhe sinkronizimi ndërmjet këtyre realizohet në
shumë mënyra të ndryshme:
-lidhjen e detyrave përmes datapërcjellsit ( gyp-pipe)-rrjedhës së bajtëve
ndërmjet proceseve në një drejtim,
-lidhjen e detyrave përmes mesazheve,
-lidhjen e detyrave përmes kujtesës së përbashkët,
-lidhjen e detyrave përmes semaforit.
Planifikimi i detyrave paraqet ndarjen e kohës së procesit detyrave. UNIX përdor
algoritmin e planifikimit rotativ me rende në shumë nivele (algoritmi –RR- roud rubin
with multilevel feedback). Detyrat e shfrytëzuesit marrin prioritete dinamike, varësisht
prej sasisë të përfitimit të kohës së procesorit. Detyrat që kanë përfituar më shumë kohë
të procesorit , marrin prioritet më të ulët dhe anasjelltas.

Administrimi i kujtesës
Menaxhimi me kujtesë realizohet me krijimin e hapësirës të adresave virtuale.
Kujtesa ,detyrave iu ndahet në faqe. Secila detyrë merr imazhin e kujtesës e cila tregon
përmbajtjen e cila është në kujtesë në kohën e kryerjes së detyrës. Imazhi i kujtesës i
ndarë detyrës së caktuar mund të kalohet nga kujtesa operative në disk (ang. Swapping) ,
nëse ndonjëra prej detyrave të prioritetit më të lartë kërkon kujtesën operative

Menaxhimi i fajllave
Sistemi për menaxhimin e fajllave kryen punët si në vazhdim:
-ndarjen e hapësirës në kujtesën e jashtme (disqet, shiriti magnetik),
-mban evidentimin mbi hapësirën e lirë,
-gjen të dhënat (kërkon përmbajtjet e fajllave) sipas kërkesës së shfrytëzuesit,
- mban llogari mbi qasjet në fajlla.

Për vitin e IV-të elektroteknik i kompjuterëve 183


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Fajllat janë të organizuar në mënyrën hierarkike duke formuar strukturën e një


peme katalogë (direktoriume) dhe fajlla. Shembull i organizimit i sistemi të fajllave në
UNIX është dhënë në fig 6.7 .
Programet e shfrytëzuesit dhe të dhënat në sistemin operativ UNIX janë të
vendosur në disa tip të fajllave. Ekzistojnë shumë tip të fajllave:
-Fajllat e zakonshëm,
-fajlla katalogësh, emëror ose direktoriume,
-fajlla FIFO
Tipet e fajllave definojnë funksionin e saj dhe mënyrë e qasjes.
Fajllat e zakonshëm përmbajnë të dhëna të organizuar në mënyrë të caktuar. Nuk
ekziston kufizim në formatin e fajllave të zokanshëm. Fajlla të zakonshëm mund të jenë
programet binare, programet e shkruara në ndonjërin gjuhëve programuese burim ose të
dhëna në forma të ndryshme.

usr bin dos sys

lang word log prg utl nut

doc cdr

Fig. 6.7 – pema e katalogjeve

Fajllat katalog janë nyjat të cilat lidhin strukturën e fajllave në një tersi. Këto
fajlla kanë formatin e shkrimit që më parë të definuar dhe trajtohen si fajllat e tjerë, pos
se posedojnë mbrojtje shtesë.

Fajllat FIFO mundësojnë komunikimin ndërmjet detyrave të cila nuk janë


ndërmjet veti të ndërlidhura. Më së shpeshti Fajllat FIFO përdoren kur është e nevojshme
të realizohet komunikimi ndërmjet më shumë detyrave me një detyrë të caktuar (proces
demon).
Fajllat special përshkruajnë pajisjet fizike. Të dhënën e shkruar në fajllin special
e përcjell njësisë periferike përkatëse dhe anasjelltas : kur të dhënat lexohen nga pajisjet
periferike, iu dërgohen(jepen) detyrës që ka kërkuar të dhëna. Në të vërtet, fajllat
special paraqesin vetëm tregues (pointera) në adresat e programit të cilët ndodhin në vetë
bërthamën e sistemit operativ dhe të cilët kontrollojnë punën e njësive periferike.

Për vitin e IV-të elektroteknik i kompjuterëve 184


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Zakonisht fajllat FIFO dhe fajllat special në strukturën e pemës mund të paraqiten
si fletë, ndërsa fajllat katalog (emëror) paraqesin degët e pemës.

Administrimi i hyrje daljeve


Menaxhimi i hyrje daljeve realizohet përmes sistemit të hyrje-daljeve. Sistemi
UNIX është i orientuar në hyrje daljet e veçanta të cilat përbëhen nga kujtesat bafër dhe
programeve menagjues lidhës ( drajverëve).
Varg hyrës paraqet vargun e shenjave të cilët përfundojnë me ndonjërën prej
shenjave:
- shenja për fund të rreshtit (RETURN)
- shenjën për fund të fajllit (ASCII EOF),
- Shenjën për fshirje të shenjës(ASCII DEL).
Secila nga këto shenja shkakton ndërprerjen e pranimit të vargut hyrës me shenja
dhe inicializon përpunimin e të dhënave të futura. Gjatësia e vargut hyrës, siç duket, nuk
është më parë e definuar. Në këtë mënyrë realizohet pavarësia më e madhe nga pjesët
tjera të sistemit dhe fleksibiliteti për punë me të dhëna, por është e nevojshme që për
secilin tip të pajisjes të ekziston një program menaxhues lidhës përkatës . Dallojmë tre
tip të pajisjeve periferike, dhe me këto dhe programet menaxhuese për këto:
-programe menaxhuese me orjentim shenja: për printera, terminale, dhe monitor
etj.;
-programet menaxhues me orjentim bllok: për disqe dhe shiritat magnetik;
-programet menaxhues për interfejse të rrjetave.
Programet në sistemin operativ UNIX , të gjitha pajisjet e jashtme i shohin si fajlla.
Në mënyrë analoge me këtë, sistemet e hyrje daljeve posedojnë katër thirrje kryesore:
1. Open – hapja e fajllit,
2. Close-mbyllja e fajllit,
3. Write- shkrimi në fajll dhe
4. Seek –kërkimi në fajll.

Programet ndihmëse të sistemit –veglat


Rreth bërthamës të sistemit operativ UNIX, gjinden programet ndihmëse të
sistemit. Më të rëndësishmit ndërmjet tyre janë:
- shell, sh- interpretori i gjuhës komanduese;
- ed, vi, ex-editorët
- ld-mbushësi-ang.loader
- as-përkthyesi asambler
Më së shpeshti komunikimi i shfrytëzuesit me kompjuterin realizohet përmes
komandave të cilat i interpreton shell. Bazuar në këtë program, UNIX-i sillet sikurse me
çdo program tjetër shfrytëzues, çka ka dhe domethënien se shell nuk është rezident në
kujtesën e kompjuterit (si p.sh. Bërthama), por sipas nevojës lexohet. Çka d.m.th se dhe
shell është njëri prej programeve “të zakonshëm” të cilin secili shfrytëzues mund ta
ndryshoj dhe përshtat vetës, dhe kjo ka prapë domethënien që krahas komandave
standarde shfrytëzuesi mund ti jep të vetat. Linja komanduese përmban :
-emrin e komandës;

Për vitin e IV-të elektroteknik i kompjuterëve 185


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

-argumentet të cilat komanda i kërkon (këto ndahen me shenjat bllanko)


shell interfejsi shfrytëzues “i njeh”;
-ekzekutimi i programit në prapavijë;
-rrjedha e të dhënave ndërmjet komandave(pipe)

-ridireksionin(riorientimin) e komandave –vlerat dalëse të komandave mund të


dërgohen në ndonjë fajllë të caktuar ose në ndonjërën nga pajisjet periferike
Në tabelën 6.1 janë dhënë disa komanda të UNIX-it.

Për vitin e IV-të elektroteknik i kompjuterëve 186


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Tabela 6.1 .- disa komanda të UNIX-t

Komanda Domethënia
cd Ndërrimi i direktoriumit aktual
chmod Definimi i mënyrës për qasje të fajllit
chown Ndërrimi i poseduesit të fajllit
cmp Krahasimi i përmbajtjeve të dy fajllave
cp Kopjimi i fajllit
date Shfaqja ose ndryshimi i datës aktuale
find Kërkimi i pemës me katalogë
kill Mbyllja e detyrës aktuale të hapur
is Shfaqja e përmbajtjes të katalogut aktual
mail Dërgimi ose pranimi i postës elektronike
mkdir Krijimi i katalogut të ri
paswd Ndërrimi i fjalëkalimit
pwd Shfaqja e katalogut aktual
rm Fshirja e fajllit të dhënë
rmd Fshirja e katalogut aktual
stty Shfaqja ose ndryshimi i opsioneve të terminalit
who Shkrimin e listës me shfrytëzuesit aktual

Kur ndonjë komandë ose fajll (program) fillon të ekzekutohet


shell ia ndanë tre fajlla të ri :
-për hyrje,
-për dalje,
-për gabime
Koncepcioni i tillë mundëson që dalja nga një komandë të shfrytëzohet si hyrje
për komandën e dytë. Kjo mënyrë e të dhënave quhet datatub(datapërcjllës)(tub-pipe)(fig
6.8)

Për vitin e IV-të elektroteknik i kompjuterëve 187


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Përcjellësi i të dhënave (Gyp,Pipeline)


tekst tekst
Detyra_1 Detyara_2

Fig.6.8-lidhja e detyrave përmes datapërcjelësit

Verzieonet e reja të sistemit operativ UNIX kanë interfejsin grafik të


shfrytëzuesit, çka u mundëson fillestarëve njohje dhe shfrytëzimin më të lehtë.
Stacioneve punuese grafike zakonisht janë të kyçura në rrjeta lokale të kompjuterëve
dhe kryesisht posedojnë disqet e veta, si dhe resurse të tjera me rëndësi të mbështetur në
një kompjuter më të madh-server për fajalla. Sistemi standard për menaxhim me dritare
në UNIX, me emrin (X-Window dhe OpenLook) mundësojnë ekzekutimin e programit
të CAD dhe aplikacioneve të tjera të cilat kërkojnë mundësi të tjera grafike. Natyrisht,
nën shtesën e programeve të ndryshëm aplikativ grafik, ndodhet e njëjta bazë e UNIX-it

Sistemi operativ LINUX


Njëri prej sistemeve operative i cili mbështet në themelet e UNIX-it,
ndërsa viteve të fundit bëhet gjithnjë më i popullarizuar mban emrin LINUX. Këtë
sistem operativ e bëjnë madhështor të gjitha epitet të cilat i kanë sistemet me
besueshmëri të lartë, siç janë serverët për rrjetë, platforma për ekzekutim e simulimeve
të ndërlikuara shkencoro-teknike, klasterët (rrjetat lokale të cilat përfshijnë prej dy
deri përmbi pesëqind kompjuterë të lidhur ashtu që punojnë si një super kompjuter i
madh).
Ka filluar më 1991, si një projekt i një studentit Finlandez Linus Thorwald,
LINUX ka pasur sukses të bëhet njëri prej sistemeve më të kërkuara në botë.
Popullaritetit i tij është për arsye të stabilitetit të madh, besueshmërisë dhe sigurisë. Nga
UNIX-i i cili është plotësisht kompatibil, si trashigmtare e gjuhës C si bazë, hapja e
kodit për modifikimet shfrytëzuese, optimalizimin maksimal për punë me rrjeta e
kompjuterëve, mundësinë e punës në makinat shumë programshe, por jo dhe jo mikpritës
i fort i interfejsit shfrytëzues. Me lajmërimin e mjedisit grafik siç është KGE dhe
GNONE, pengesa ndërmjet shfrytëzuesit dhe sistemit është tejkaluar. Këto dy mjedise,
idenë e kanë të bazuar në interfesisn shfrytëzues Windows, që e ka afruar LINUX-in
shfrytëzuesit të zakonshëm.
Dhe krahas numrit të madh të programeve me orientim shfrytëzues, nën LINUX
janë megjithatë më të përfaqësuara aplikacionet e rrjetave, që shërbejnë për të gjitha
tipave të shfrytëzuesve. Të gjitha DSN, Web Mail, Data Base serverët më rëndësishëm,
si dhe numri të madh i serverëve të tjerë për rrjetë punojnë nën këtë sistem operativ. Ideja
e madhe mbi rrjetat globale kompjuterike të viteve të fundit si trendët moderne në

Për vitin e IV-të elektroteknik i kompjuterëve 188


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

telekomunikacion dhe kompjuteristikë i kanë parashtruar kërkesë sistemit operativ


rritje të fleksibilitetit dhe besueshmëri në kushtet e rrjedhës(qarkullimit) së madhe të të
dhënave. LINUX iu është përgjigjur këtyre kërkesave në shkallë të lartë të integrimit
dhe kooperimit në sistemet e rrjetave heterogjene siç është interneti.
Për shfrytëzuesit veti me rëndësi e LINUX-it se lejon mundësin e koegzistencës
me cilin do sistem operativ në të njëjtin kompjuter. Praktikisht ka domethënien që në të
njëjtën makinë mund të ekzistojnë dy ose më shumë sisteme operative, ndërsa
shfrytëzuesi mund të zgjedhë se në cilin prej tyre dëshiron të zgjedhë problemin e vetë.
LINUX, si një paket programor është i qasshëm në formë të ashtu quajturit
distribucion, ndërmjet të cilëve më të popullarizuarat janë: Read Hat SuSe, Slackware
dhe Debian. LINUX është plotësisht pa pagesë dhe mund të kopjohet nga interneti dhe
kjo është dhe një arsye i popullaritetit të tij.

Për vitin e IV-të elektroteknik i kompjuterëve 189


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

6.9. Sistemi operativ MS windows


Sistemi oprativ MS Windows (ang. window-dritare) paraqet prodhimin e firmës
Microsift. U shërben sistemeve të ndryshme kompjuterike: nga kompjurerët PC ,
rrjetat kompjuterike lokale dhe globale deri te superserverët- kompjuter
shumëprocesorik të bazuar në RISC procesorët.
MS windows si sistem operativ është lajmruar viteve të 80-ta. shumica e
shfrytëzuesve të kompjuterve në këtë kohë po punonin në kompjuterët pc të tavolinës.
Sistemi më i popullarizuar ishte MS DOS. Verzionet e para të windows-it në të vërtet
parqesin sisteme të programeve, që janë jo vetëm të mbështetur në MS DOS, por dhe
paraqisnin sistemin e aplikacioneve të cilat startojn nga vetë MS DOS-i nga linja
komanduese. Sistemi i ri operativ –Windows është dashtë të paraqet platformën në të
cilën do të duheshin që numri i madhë i programeve të shkruar në MS DOS-ë (të jenë
potësisht kompatibëll me DOS), por dhe të mundsojnë dhe më shumë se kjo:
-unifikimi i interfejsit grafik të shfrytëzuesit,
-mundësin e plotë të shfrytëzimit të procesorve bashkohor,
-shfrytëzimi efikas i kujtesës operative,
-këmbimi dinamik i të dhënave,
-sistemi virtuel i kujtesë,
-puna multi-program,
-përkrahja për multimediale etj.

Për vitin e IV-të elektroteknik i kompjuterëve 190


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Popullariteti i këtij sistemi operativ fillon nga verzioni Windows 3.0. Ky verzion
është shitur mbi katër miljon ekzemplar. Më vonë lajmrohet verzioni Windows 3.1,
Windows 3.11 të cilët edhe më shumë forcuan pozicionin të këtij sistemi operativ në
botë. Sot Windowsi është sistemi operativ më i shituri në botë. Për tipe të ndryshëm të
kompjuterve ekzistojn verzione të ndryshëm të Windows-it:
Windows 3.1 iu ka shërbyer kompjuterve PC të tavolinës për klasët 386 dhe 486
dhe Pentium PC si dhe për kompjuterë të ndryshëm transportuse(të bartshëm);
-Windows for workgroups –(dritaret për grupe punuese) ose Windows 3.11,
paraqet në të vërtet Windows 3.1, me përkrahjen për rrjetat lokale, postën elektronike të
integruar në te;
-WinPad- sistemi operativ për kompjuterë të dorës me interfesin grafik të
shfrytëzuesit;
-Windows for Pens- verzion i sisemit operativ i cili mundëson njohjen e shkrimit
me dorë të dokumentit;
-Windows 95, pasardhës i Windows 3.1x, paraqet verzionin 32 bitësh të sistemit
operativ që u shërben kompjuterve me karakteristika më të mira të sistemit operativë dhe
kërkesa për kujtesë më të mëdha. Ky verzion paraqet sistemi operativ komplet të ndarë
prej MS DOS-it por edhe më tutje e përkrah;
-Windows NT –sistemi operativ për stacione punuse të fuqishme dhe rrjeta
serverësh.
Programet për ofrimin e shërbimeve të sistemit operativ Windows përmbahen në
tre module:
-moduli për përkrahje të përgjithshme-kernel,
-moduli grafik(GDI)
-moduli i shfrytëzuesit-për menagjim të dritareve.
Këso strukturë e kan sistemet operative 16-bitësh nga grupa –Windows 3.1x.
Windows 95 mbështet në këtë struktur, por përmban kompletë strukturën për punë me
programet 32 bitësh., mundëson gjatësin më të madhe të emrave të fajllave, qasje më
efikase të disqeve optike dhe pajisjeve të tjera periferike dhe mundësi shtesë për punë në
rrjetë. Me gjithat mundësi më të mëdha ofron verzioni Windows NT.

Windows NT
Windows NT (ang NT-New Tehnoogy-teknologji e re ), paraqet sistemin
operativ 32 bitësh, i krijuar me ambicje që në të ardhmen të tejtë baza për të gjithë
kompjuterët PC, stacionet punuese dhe serverët. Bashkon të gjitha vetit e mira të
verzioneve të mëparshme të cilat duhet ti posedojë një sistem operativ bashkohorë.
Krahas veçorive të verzioneve të mëparshem ,ky sistem operativ përmban:
a)mundësin të punës në platforma hardverike të ndryshme ( dhe në kompjuterët
me tipe të ndryshëm procesorve qendror);
b)përkrahjen e të gjitha tipeve të rrjetave kompjuterike dhe përparim në mundësin
për përpunim distributiv;
c) mundësin të shfrytëzimit të të gjitha aplikacioneve të deritashme të krijuara në
DOS dhe Windows;

Për vitin e IV-të elektroteknik i kompjuterëve 191


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

d) lidhja me aplikacionet UNIX-it përmes standardit i cili definon funksionet e


nevojshme dhe interfejset: POSIX( Portable Operating System Interface
Based on UNIX) ;
e) kompatibil me me sistemin operativ bashkohor OS/2 të prodhuar nga firma
IBM;
f) stabilitet të lart të sistemit: gabimet në aplikacionet e veçanta nuk mund ta
shkaktojn ramjen e tërë sistemit;
g) përkrah punën në sistemet shumë procesorike.
Si dhe sistemi operativ UNIX, dhe në verzionet Windows3.1x, struktura e
Windows NT është shtresore : bërthama, administrimi i grafikës dhe niveli
shfrytëzuesit. Funksionin e bërthamës e ka pjesa e sistemit me emrin NT Executive.
Komponenetet e bërthamës janë të paraqitura në fig 6.10.

Mbikqyersi i sitemit tëMenagjeri


Menagjeri i objekteve sigurisë Lehtësuesi
i proceseve
i thirrjeve të procedurave
Menagjeri
lokale
Menagjeri i hyrjedaljeve
i kujtesë vituale
(fajll sistem, kesh, drajverët e pajisjeve,
drajverët e rrjetës)

Kernel
Hardver

Fig.6.10.- komponentet e bërthamës së WINDOWS-it NT

Programet në Windows NT mund të ekzekutohen në dy modet kryesor:


-modin Kernel- kur ekzekutohet kodi i sistemit,
-modin e shfrytëzuesit-kur të ekzekutohen aplikacionet.
Ky lloj i organizimit të punës është i ngjajshëm si dhe te sistemi operativ UNIX.
Puna e cila duhet të kryhet ndahet në procese ose detyra . Në këtë mënyrë realizohet
ekzekutimi paralel të më shumë pjesve të programit ose shumë programeve të ndryshëm.
proceset ndahen në nënprocese (ang thread). Nënprocesi gjithashta paraqet proces në
kuadër të programit i cili ekzekutohet paralelisht me të gjitha proceset tjera me ndarje
kohore (fig 6.11)

Për vitin e IV-të elektroteknik i kompjuterëve 192


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Aplikacioni
(puna)

Procesi1 Procesi2 Procesi3

NënProc1 NënProc2 NënProc3 NënProc1 NënProc2 NënProc1 NënProc2

Fig 6.11.- Ndarja e punëve në detyra dhe nëndetyra

Dallimi ndërmjet procesit1 dhe nënprocesit2 përbëhet si në vazhdim: sistemi


operaiv ndalon që një dytyrë të hyjë e pa kontrolluar në të dhënat e detyrës tjetër, por se
këmbimi bëhet ekskluzivisht përmes sistemit operativ; ndërmjet nëndetyrave të të njejtës
detyrë është i mundëshëm këmbimi i intern. Nëndetyrat janë segmente të një pune dhe
këto i ndajnë të dhënat dhe resurset tjera. Për këtë arsye funksonet e pavarura të
programeve, të cilët kërkojn ndarjen e resursit, mund të realizohen vetëm si
detyrë(proces) i veçant. Secilit proces(detyrë) posaqërisht iu ndahet hapsira e adresave
virtuale, një ose më shumë nënpunë dhe resurse të tjerë sipas kërkesës;
Programet në modin kernel kanë rrolin që:
-t’ju ndaj nënprocesin procesit ,
-të organizojnë komunikimin ndërmjet nënproceseve,
-të menaxhoj me kujtesën virtuale,
-të siguroj mbrotjen e sistemit,
-mbykçyerin punën e të programeve të tjera menaxhues.
Në modin shfrytëzues bëhen funksionet tjera të sistemit operativ siç janë
organizimi i fajllave të sistemit, formimit të lidhjeve ndërmjet aplikacioneve të ndryshëm,
përkrahja për rrjetë etj.
Në fig 6.2 është dhënë struktura e sistemit operativ Windows NT, ku API-
Aplication Programming Interface) paraqet vegla programesh të cilët mundësojn
zhvillimin e aplikacionit të pavarur nga platforma.

1
Procesi(ang process)-Kur një program ekzekutohet krijohet procesi i sistemit operatit(p.sh procesi i
windows 98). Një proces është një tip i objektit që përmban një hapsirë adresuse, një bashksi të objekteve
(resurceve) të pashëm për procesin, si dhe bashkësi të Threadeve(nënproceseve) që ekzekutohen në
kontekst të procesit.
2
Nënprocesi (ang Thread)- një tip i objektit brenda procesit që i ekzekuton instruksionet e programit. Duke
përdorur shumë nënprocese(threads) lejohen operacione konkurente brenda procesit dhe mundësohet që
një një proces të ekzekutohet në pjesë të ndryshme të programit të tijë në procesor të ndryshëm në të njejtën
kohë. Një nënproces( thread) ka bashkësin e tijë të regjistrave , Kernel stack e tijë, bllokun e mjedisit të
threadit(a thread evironment block), stekun e përdorusit në hapsirën e adresave të procesit të tijë.

Për vitin e IV-të elektroteknik i kompjuterëve 193


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Aplikacioni WIN32Aplikacioni WIN16Aplikacioni MS-DOSAplikacioni OS/2Aplikacioni POSIX

WIN32 API WIN16 API MS-DOS API OS/2 API POSIX API

Windows NT
Nënsistemi WIN32
Nënsistemi WIN16
Nënsistemi MS-DOSNënsistemi OS/2 Nënsistemi POSIX

Windows NT Executive
*Baza e sistemit operativ
* Fajllat e sistemit , drajverët e pajisjeve dhe kodi i rrjetës

Fig.6.12 Struktura e WINDOWS NT

Windows 2000
Nga prespektiva e programerit windows 2000 është i ndarë në dy shtresa , të cilat në të
vërtet janë dy mode të ndarë funksional. Në modin kernel Windows 2000 i kryen detyrat
e brendshme dhe drejton në mënyrë interakltive ndërmjet programit dhe sistemit operativ
dhe ndërmjet programeve të veta. Në rastin e përgjithshëm është i mbrojtur prej
“bredhjve “ të përdorusit nëpër te. Në modin e përdorusit , i cili në të vërtet është i
vendosur mbi modin kernel, që të jetë sa më afër përdorusit të startoj aplikacionin. Zona
që vëzhgohet nuk është e mbrojtur pasi ka qasje në aplikacion.

Për vitin e IV-të elektroteknik i kompjuterëve 194


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Procesi i logimit Aplikacio-et


Aplikacionet OS/2 16-bit windows
Aplikacio-et 32-bit windows
Aplikacionet POSIX

Sistemi mbrojtës Nënsistemi Mjedisi WOW Nënsistemi


OS/2 POSIX

Nënsistemi
Win32
Modi shfrytëzues

Modi kernel

Menxheri I/O(kesh, fajll sistem,rrjeta Lehtësusi i thirrjeve të procedurave lokale


MenaxheriMykçyrësi Menaxheri i procesevepajisjeveMenaxheri i kujtesës
i objektevei sigurisë së sistemit virtuale
Win32&GDI( nënsistemi grafik

Mikrro kernel
Drajverat e pajisjeve Drajverat e displejve
Shtresa abstrakte e hardverit

Hardweri

6.10 Softveri aplikativ


Program aplikativ është cilido program specifik për aplikim të caktuar të
kompjuterit . Në kontrast me këtë programet e sistemit kanë domethënje esenciale për
shfrytëzim të sistemit kompjuterik. Programet aplikative zakonishtë i zhvillojnë
shfrytëzuesit e sistemit kopjuterik për zgjidhjen e problemevetë tyre. Për këtë arsye dhe
këto programe shpeshë quhen dhe programe të shfrytëzuesit.
Lëminjtë më të randësishme të aplikimit të programeve aplikative ,d.m.th në
lëminjtë në të cilat përdoret kompjuteri janë: përpunimi i tekstit, grafika kompjuteike ,
komunikimi i të dhënave , aplikacione afariste, automatizimi i proceseve teknologjike,
zbatimet tekniko-shkencore, aplokacionet në arsim, intelegjenca artificiale etj.
Duhet thënëse shpesh në kuadër të programeve aplikative mundet sipas nevojës tu
takojnë dhe funksone të caktuara të sistemit operativë.

Për vitin e IV-të elektroteknik i kompjuterëve 195


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Programet aplikative nganjëher ndahen dhe në këto lloje:


-programe aplikative të veçanta,
-pakete programore ,
-sistem programe.
Paketi programor përbëhet nga shumë programe dhe paraqet bashkësi të
procedurave për zgjidhjen e problemeve. Sistem programe paraqet bashkësin e
programeve komponetet e të cilit janë ngushtë të lidhura.
Pytje dhe detyra:
1. Cilat janë komponentet themelore të secilit sistem kompjuterik?
2. Cilat janë komponentet e softverit të sistemit?
3. Përshkrune ndarjen dhe funksionet e softverit komunikues?
4. Ç’farë siguron sistemi për punë me baza të të dhënave?
5. Ç’është grafika kompjuterike dhe në cilat grupe të programeve mund të ndahet?
6. Ç’është sistemi operativ dhe në cilat tre grupe programesh mund të ndahet?
7. Ç’farë është punë, dhe çfarë detyrë e sistemit operativ?
8. Çfarë funksione kryejn programet për menagjim me punë?
9. Ç’farë funksione kryen programi për menagjim me detyra?
10. Ç’farë pune kryen programi për për menagjim me të dhëna
11. Cilat janë resurset themelore të sistemit kompjuterik me të cilat menagjon sistemi
operativ?
12. Cilat nivele i përmban sistemi operativ i treguar si një struktur kierarkike
13. Në ç’arë bazohet planifikimi i punëve?
14. Cilat funksione i kryen moduli për menagjim me hyrje dalje?
15. Çka nënkuptohet intepretim i gjuhës komanduese të sistemit operativ?
16. Cilat funksione i kryen programi për ndarjen e resusrsve?
17. Si zhvillohet komunikimi me operaterin?
18. Cilat funksione i kryn supervizori?
19. Cilat aktivitete i kryejn programet për menagjim me ndërprerjet?
20. Cilat aktivete kryhen gjat administrimt me kohën e procesorit?
21. Në çka konsiton administrimi me kujtesën operative?
22. Si bëhet sinkronizimi i detyrave?
23. Çka duhet të sigurohet mbimenegjimin e periferive?
24. Në çfarë përbëhet menaxhimi me fajlla ?
25. Ç’farë janë programet e sistemit dhe cilat komponente i përdorin?
26. Me ç’farë karakterizohen tipe të veçanta të programeve përkthyese?
27. Cilat programe i takojnë programeve shërbyese dhe cilat funksione i kryejnë?
28. Ç’farë janë programet aplikative?

Për vitin e IV-të elektroteknik i kompjuterëve 196


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

7. Tendencat i zhvillimit të mëtutjeshëm të


sistemit kompjuterik.

Tendencat në përgjithësi
Përparimi i teknologjisë në prodhimin qarqeve të integruara gjysëmpërquese dhe
përmirsimi i përhershëm i atyre ekzistuese dhe zbulimi i arkitekturave të reja ka për
rezullat zhvillimin të jashtëzakonshëm dhe ate parasëgjithash të procesorve, si dhe
përparimin e kujtesave të jashtme dhe periferive të ndryshme. Mikroprocesorët ekzistues
gjithnjë dhe më shumë po iu afrohen me mundësit e tyre funksionale procesorve të
fuqishëm, dhe me to po realizohen të gjitha idet e reja me të cilat përmirsohen mundësit
funksionale dhe rritja e shpejtësisë së punës. Karakteristika me më rendësi të procesorve
të rinjë janë:
-ekzistimi i më shumë njësive të posaçme procesorike,
-realizimi i njësisve procesorike si sisteme rrjedhëse,
-futja në procesor të shumë tipeve të kujtesave-kesh,
-parapërpunimi i instruksionit,
-kombinimi i aritekturës RISK dhe CISK,
-paraparja e degëzimit të adresave,
-ekzekutimi i më shumë instruksioneve në një ciklues të makinës,
-ekzekutimi i instruksionit jashtë rradhës së tijë,
-sistem shumëprocesorik dhe të tjera.

Njësit procesorike
Shumica e procesorve bashkëkohorë tani më përmbajnë shumë njësi procesorike
të specializuara të cilat funksionojn paralelisht dhe të pavarura njëra nga tjetra, në
sinkronizimin e punës kur dhe kjo është e nevojshme. Disa nga këto njësi janë të
multilinkura. Njësit tipike janë:
-njësia për aritmetikën e numrave të plotë,
-njësia për aritmetikën e numrave me pikë të lëvizshme,
-njësia për degëzim,
-njësi për parapërpunimin e instruksionit,
-njësin për ekzekutimin e instruksionit,
-njësia për administrimin e magjistrales së sistemit,
-njësin për shkrimin e të dhënave në kujtesë,
-njësin për leximin e të dhënave nga kujtesa,
-njësin për punë mulimediale etj.
Shumica prej këtyre njësive kanë regjistra intern të rendeve pritëse ose kujtesave
baffer për qëllim të sinkronizimit dhe pritjes në ekzekutim ose kujtesën-kesh me
pasqyrim asociativ të cilat mundësojn qasje të shpejt në kërkimin e të dhënës.

Për vitin e IV-të elektroteknik i kompjuterëve 197


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Kujtesa kesh
Kujtesa kesh realizohet brenda në procesor zbashku me komponentet përkatëse.
Kapaciteti i kujtesës-kesh është prej disa Kb deri disa dhjetra Kb. Kujtesat-kesh tipike në
proceor janë:
-Kujtesa-kesh për instruksione,
-kujtesa-kesh për të dhëna ,
-kujtesa-kesh për dekodimin e instruksionit paraardhës.
Këto kujtesa-kesh quhen kujtesa-kesh primare, pasi nga jashtë mund t’ju kyçen
kujtesat-kesh sekundare.
Kujtesa kesh punon me shpejtësin me të cilin dhe punon procesori, dhe ia ofron
procesori në disponim të dhënat të cilat në te ndodhen. Në këtë mënyrë shumë shpejtohet
ekzekutimi i shumë operacioneve në procesor.
Krahas kujtesës-kesh, në procesor gjithmon rritet dhe numri i regjistrave për
qëllime të përgjithshme, të cilat janë më shumë se disa dhjetra, por që ky numër do të
jetë disa qindra.

Përpunimi superskalar dhe superrjedhës


Krahas futjes së arkitekturës RISK, procesorët bashkëkohor përdorin edhe dy
principe të rëndësishme:
Superskalaritetin dhe
syperrrjedhjen.
Me Superskalaritet nënkuptohet që ndonjë instruksion gjatë përpunimit mund ë
kaloj nëpër procesorin qendror nëpër shumë rrugë të ndryshme, çka siguron ekzistimin e
shumë proceseve të ndryshme , ndërsa posaqërisht shumë rrugë të përsërituar( të
multilinkuara ) procesike ose të njësive të tjera funksionale dhe shumë karakteristika të
tjera të përmendura më parë të procesorve të rinjë. Natyrishtë për të gjitha këto
kontribojnë dhe shumë kujtesa-kesh, kujtesat baffer dhe fushat regjistra.
Me Superrjedhje nëkuptohet që ekzekutimi i një instruksioni mund të filloj pa
përfundimin e tjetrës.
Shumica e njësive procesorike realizohen si kombinim i arkitektuarve
superskalare dhe superrjedhëse, me shkallë më të lartë të rrjedhës. Numri i këtyre
shkallëve është nga dy deri në gjashtë, por mund të jetë dhe më i lartë, por se në këtë
rastë përpunim mbahet në kohë, pasi shumica e instruksioneve ekzekutohen si operacione
RISK në një ,dhe eventualisht me dy takte të procesorit.
Përpunimi rrjedhës është më i përshtashëm për realizimn e para së gjithash të
njësive procesuese për përpunim , p.sh. në njësit procesorike aritmetike, por se përdoret
dhe për realizimin e të njësive të jera proceoike.

Për vitin e IV-të elektroteknik i kompjuterëve 198


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shpejtimi i ekzekutimit të instruksioneve


Krahas kujetsave-kesh dhe përpunimit rrjedhës kombinohen dhe shumë pricipe të
arkitekturave RISK dhe CISK, për shpejtimin e ekzekutimit të instruksioneve. Disa nga
këto pricipe janë:
-ekzistimi i në shumë njësive të njejta procesorike,
-parapregaditja e instruksionit,
-ekzekutimin e të më shumë instruksioneve në një takt të procesorit,
-ekzekutimi i instruksioneve jashtë rradhës etj.
Natyrisht , me këto pricipe të realizimit arrihet shpejtimi në kuadër të vetëm një
procesori. Shpejtim i konsiderueshëm i punës arrihet tek shumëprocesorët ose procesorve
paralel të cilët përmbajnë shumë qindra dhe bile shumë mijra procesorë.
Shpejtimi i ekzekutimit të instruksionit në masë të caktuar arrihet dhe me rritjen e
e frekuencës(taktit) punues të procesorit, çka është rezulltat i përparimit të teknologjisë së
qarqeve të integruara.

Multimediumi
Multimedium paraqet bartjen në të njejtën kohë, shfaqjen dhe shfrytëzimin e të
dhënave nga më shumë mediume të ndryshme kujtese, siç janë të dhënat tekstuale ,
grafika , fotografit statike , fotrografit e lëvizshme dhe video, të folurit dhe të dhënat
audio.Përdorimi në të njetën kohë i më shumë mediumeve është shumë i përshtashëm për
njeriun , e posaqërisht kur indirekt informaciont të cilat vizualisht pranohen.
Shfrytëzimi i multimediumeve parashtron kërkesa të reja dhe për nga procesori
dhe përnga sistemi i bartjes, pasi duhet të barten dhe përpunohen numër shumë i madhë i
të dhënave, ku gjithashtu është i nevojshëm dhe procedura e kompresimit dhe
dekompresimit te fotografit e lëvizshe dhe të pa lëvizshme. Për këtë është tendenca e
zgjerimit të bashkësisë së instruksioneve të procesorit me instruksione speciale (spaku
dhjetë deri njëzet) me të cilat dukshëm shpejtohet përpunimi i të dhënave multimediale.

Sistemi i hapur kompjuterik


Zhvillimi i kompjuterit deri në vitet 80-ta karakterizohet me ekzistimin e sistemit
të mbyllur kompjuterik. Nga kjo, për qëllim të mbrotjes së vetë të investimeve të vogla,
prodhuesit e kompjuterve shfrytëzuesit i kanë shërbyer vetëm me kompjuterët e vetë dhe
softverin e vetë. Megjithatë, rritja e përhershme e nevojave të shfrytëzuesve u bë

Për vitin e IV-të elektroteknik i kompjuterëve 199


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

ngarkes e mëdhe për furnizuesit, ndërsa shfrytëzuesit gjithëmon është dashtë që të shtojnë
hargjime shtesë që ti arrijnë shkallën rritëse të nevojave të tyre.
Që nga vitet e 80-ta gjithjnë e më shumë flitet mbi të ashtuquajturin sistemin e
hapur kompjuterik, i cili më së miri mund të definohet përmes tre karakteristikat
themelore të cilat duhet t’i posedojnë:
-portabilitetiti,
-skallabilitetit dhe
-interolebaritetit.
Portabiliteti tregon bartjen e softverit aplikativ nëpërmjet kompjuterve të
ndryshëm pa intervenim shtesë në kodin(programin) burim. Skalabiliteti tregon
mundësin e bartjes të softverit aplikativ në nivele të ndryshme të kompjuterit.
Interliberatiti nënkupton mundësin e komunikimit ndërmjet kompjuterve të prodhuesve
të ndryshëm pa marrë parasyshë largësin dhe madhësin e kompjuterit.
Që kjo të mund të realizohen këto kërkesa nevojitet një punë me vëllim të madh
në përpunimin dhe futjen e standardit ndërkomtar në shumë laminjë të informatikës dhe
të teknologjisë.
Duhet theksuar se në një masë të madhe kompjuterët personal kanë kontribuar që
të mendohet edhe për sistemin e hapur kompjuterik pasi kompjuterët personal mund të
ndërtohen me pajisjet të prodhuesëve të ndryshëm dhe të funizohen me programe
aplikative prej shtëpive të ndyshme të softwerit, çka nuk ka qenë rast te kompjuterët e
tjerë.
Pyetje dhe detyra:
1. Cilat janë karakteristikat më me rëndësi të procesorve të rinjë?
2. Cilat njësi procesorike kanë procesor të rinjë?
3. Për cilat nevoja futet kujtesa kesh dhe për çka kontribon?
4. Me çka karakterizohen superskalariteti dhe superrjedhja?
5. Cilat mënyra realizohet shpejtimi i ekzekutimit të instruksionieve?
6. Ç’është multimedia?
7. Me çfarë karakterizohen siteme kompjuterike të hapur dhe të mbyllur?
8. Cilat janë tre karakteristikat themelore të sistemeve të hapura kompjuterike?

Për vitin e IV-të elektroteknik i kompjuterëve 200


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Shtesë

Instruksionet e mikrroprocesorit i8086


Kodi Operandët komenti

Instruksionet për bartje të të dhënave:

Mov d,s Përmbatja nga s kalohet në d


PUSH s SP=SP-2, kalohet s në stek
POP d Në d shkruhet përmbatja e stekut, SP=SP-2
XCHG d,s Këmbehen përmbatjet e d me s
XLAT s-varg Antari i vargut s shkon në AL
IN acc ,ptr Në AX (ose AL) shkon përmbatja e portit ptr
OUT ptr,acc Në port dërgohet përmbatja e AX (ose AL)
LEA reg16,mem16 Kalohet adresa në regjistër
LDS reg16,mem32 DS=SEGMENT(mem32),reg16=OFFSET(mem32)
LES reg16,mem32 ES=SEGMENT(mem32),reg16=OFFSET(mem32)
LAHF Në AH shkruet përmbatja e regjistrit FLAGS
SAHF Në regjistrin FLAGS shkruet përmbatja AH
PUSHF SP=SP-2, regjistri FLAGS shkon në stek
POPF Kalohen fleg-ët nga stek-u, SP=SP+2

Instruksionet aritmetike

OF SF ZF AF PF CF
ADD d,s + + + + + + d=(d)+(s)
ADC d,s + + + + + + d=(d)+(s) +CF
AAA ? ? ? + ? + Nivelizimi ASCII*
DAA ? + + + + + Nivelizimi ASCII*
INC d + + + + + + d=(d)+1
SUB d,s + + + + + + d=(d)-(s)
SBB d,s + + + + + + d=(d)+(s) -CF
ASS ? ? ? + ? + Nivelizimi ASCII*
DAS ? + + + + + Nivelizimi ASCII*
DEC d + + + + + + d=(d)-1
NEG d + + + + + + d=-(d)
CMP d,s + + + + + + krahason d dhe s
MUL s + ? ? ? ? + AX=(s)*(AL),s=bajt
DX:AX=(s)*(AX),s=fjal
IMUL s + ? ? ? ? + MUL Për numra me shenjë
AAM ? + + ? + ? Rregullimi ASCII*

Për vitin e IV-të elektroteknik i kompjuterëve 201


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

DIV s ? ? ? ? ? ?
AL=(AX)/(s),s=bajt
AX=(DX:AX)/(s),s=fjal
IDIV s ? ? ? ? ? ? DIV për numrat me shenjë
AAD s ? + + ? + ? Rregullimi ASCII*
CBW AC=(AL)
CWD DX:AX=(AX)
* pas operacioini të caktuar aritmetik ndrron përmbatja e regjistrit AX ashtu që përmban
vlerën e shifrës në ASCII e cila është rezulltat i atij operacioni të caktuar

Instruksionet për zhvendosje dhe rotative

OF SF ZF AF PF CF
Instruksionet për zhvendosje
SHL d,1 + + + ? + + zhvendos d 1 vend majtë
SHL d,CL ? + + ? + + zhvendos d CL vende majtë
SAR* d,1 0 + + ? + + zhvendos d 1 vend djathtë
SAR d,CL ? + + ? + + zhvendos d CL vende djathtë
SHR d,1 + 0 + ? + + zhvendos d 1 vend djathtë
AHR d,CL ? 0 + ? + + zhvendos d CL vende djathtë
Instruksionet për Rotacion
ROL d,1 + - - - + + Rotohet d majtë për 1 vend
ROL d,CL ? - - - + + Rotohet d majtë për CL vende
ROR d,1 + - - - + + Rotohet d djathtë për 1 vend
ROR d,CL ? - - - + + Rotohet d djathtë për CL vende
RCL d,1 + - - - + +Rotohet d majt për 1 nëpër CF
RCL d,CL ? - - - + + Rotohet d majt për nëpër CF
RCR d,1 + - - - + +Rotohet d djathtë për 1 nëpër CF
RCR d,CL ? - - - + + Rotohet d djathtë nëpër CF
* SAR dhe SAL dallohen prej SHL dhe SHR sipas asaj se SAR dhe SAL ruajnë shenjën e regjistrit të
shfrytëzuar ndësar SHL dhe SHR këtë nuk e bëjnë.

Instruksionet logjike

OF SF ZF AF PF CF
AND d,s 0 + + ? + 0 d=(d) and (s)
Or d,s 0 + + ? + 0 d=(d) or (s)
XOR d,s 0 + + ? + 0 d=(d) xor (s)
NOT d - - - - - - d=not(d)
TEST d,s 0 + + ? + 0 (d) and (s)

Instruksionet për kontrollim të rrjedhës së programit

Për vitin e IV-të elektroteknik i kompjuterëve 202


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

JMP Cak kalimi i pakushtëzuar në lebelën cak


JA/JNBE Lok_I Kalimi në tabelën lokale nëse është më e madhe
JAE/JNB Lok_I Kalimi në tabelën lokale nëse është më e madhe ose baraz
JB/JNAE/JC Lok_I Kalimi në tabelën lokale nëse është më e vogël
JBE/JNA Lok_I kalimi nëse është më evogël ose baraz
JCXZ Lok_I kalimi nëse është CX=0
JE/JZ Lok_I Kalimi nëse është i barabart
JNC Lok_I Kalim nëse CF është i barabart me zerro
JNE/JNZ Lok_I Kalim nëse nuk është baraz
JP/JPE Lok_I Kalim nëse është PF=1
JG/JNLE Lok_I Kalim nëse është më e madhe
JGE/JNL Lok_I Kalim nëse është më e madhe ose barazi
JL/JNGE Lok_I Kalim nëse është më e vogël
JLE/JNG Lok_I Kalim nëse është më e vogël ose barazi
JNO Lok_I Kalim nëse është OF barazi me 0
JNS Lok_I Kalim nëse është SF barazi me 0
JO Lok_I Kalim nëse është OF =1
JS Lok_I Kalim nëse është SF =1
Instruksonet për shkrimin e cikluseve
LOOP Lok_I Nëse është CX<>0 atëhere CX=CX-1 kalimi në LOK_I
LOOP/LOOPZ Lok_I Nëse është CX<>0 dhe CX=CX-1 kalimi në i
LOOPNE/LOOPN Lok_I Gjerësa CX<>0 dhe ZF=0 CX=CX-1 kalimi në i
Z
Instruksionet për këcim janë të ndara pasi të parat kanë të bëjnë me numrat pa shenjë
ndëras të dytat me numarat me shenjë.Lok_I është labela e cila nuk mund të jetë mëtutje
prej -128 ose +127 bajt nga vendi i instruksioni për kapërcim

Instruksionet për punë me nënprograme dhe ndërprerje


IF TF
CALL CAK - - kalimi në procedurën cak
RET - - Kthimi nga procedura
INT nr 0 0 Thrrasim rutinën e ndërprerjes nr
INTO nr 0 0 Thrrasim rutinën e ndërprerjes nr nëse OF=1
IRET* Kthimin nga rutina e ndërprerjes
*IRET ndikon në të gjitha fleg-ët

Instruksionet për punë me vargje

OF DF SF ZF AF PF CF
CLD - 0 - - - - - Vendos DF në zero
STD - 0 - - - - - Vendos DF në një
Prefiksi i përsëritjes Përsërit instruksionin string

Për vitin e IV-të elektroteknik i kompjuterëve 203


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

REP - - - - - - - derisa është CX<>0,CX=CX-1


REPE/REPZ - - - - - - - Si dhe REP
REPNE/REPN - - - - - - - Si dhe REP,derisa të jetëe <>
Instruksionet për bartje
MOVS ds,ss - - - - - - - [ES:DI]=[DS:SI]
MOVSB ds,ss - - - - - - - [ES:DI]=byte ptr[DS:SI]
MOVSW ds,ss - - - - - - - [ES:DI]=word ptr[DS:SI]
Instruksionet e krahasimt
CMPS ds,ss + + + + + + + Krahaso [DS:SI] dhe [ES:DI]
CMPSB ds,ss + + + + + + + Krahaso bajt
CMPSW ds,ss + + + + + + + Krahaso fjal

Instruksionet e kërkimt
SCAS ds + + + + + + + CMP AX, [ES:DI],DI=DI+DF
SCASB ds + + + + + + + Krahaso bajt, DI=DI[+][-]1
SCASW ds + + + + + + + Krahaso bajt, DI=DI[+][-]2
instruksionet për lexim
LODS ss - - - - - - - AX= [DS:SI],SI=SI+DF
LODSB ss - - - - - - - Lexohet bajt në AL
LODSW ss - - - - - - - Lexohet fjala në AL
Instruksionet për vendosje
STOS ds - - - - - - - [ES:DI]=AX
STOSB ds - - - - - - - [ES:DI]=AL
STOSW ds - - - - - - - [ES:DI]=AX

Instruksionet për kontroll(menagjim) të procesorit dhe instruksionet të tjera


IF TF
CLC - 0 Vendos CF në zerro
STC - 1 Vendos CF në një
CMC - + komplementon CF
CLI 0 - Vendos IF në zerro
STI 1 - Vendos IF në një
HLT - - Procesor ndalet deri te interapti i maskuar ose
pamaskur ose linjën RESET
WAIT - - Procesori ndalet deri në aktivizmin e linjën test
ESC Kod,s - - Iu kalohet kontrolla koprocesorit
LOCK - - Ndal magjistralën e të dhënave
NOP - - Nuk ka kurfar aktiviteti

Ismail Dashi

Për vitin e IV-të elektroteknik i kompjuterëve 204


Komjuterët 1I
Shkolla mesme profesionale

Kaçanik

Për vitin e IV-të elektroteknik i kompjuterëve 205

You might also like