Upload
enrik
View
49
Download
27
Embed Size (px)
DESCRIPTION
computer
Citation preview
Arkitektura e Kompjuterave
Leksioni V Njesia qendrore e perpunimit (CPU)
Hardware i njesise se perpunimit
Struktura e pergjithshme per perpunim
Micro-Operacionet • Kompjuteri ekzekuton nje program • Nje cikel Fetch/Execute • Cdo cikel ka nje numer hapash • Te cilat quhen mikro-operacione • Cdo hap kryen shume pak pune • Operacione atomike te CPU
Elementet perberes te ekzekutimit te nje programi
Ndarja e hardware-it
Ngarkimi (Fetch) - 4 Regjistra te perdorur • Memory Address Register (MAR)
—Lidhet e busin e adreses —Specifikon adresen per operacion leximi ose
shkrimi • Memory Data Register (MDR)
—Lidhet me busin e te dhenave —Mban te dhenat qe do te shkruhen ose te
dhenat qe jane lexuar se fundmi • Program Counter (PC)
—Mban adresen e instruksionit te ardhshem qe do te ngarkohet
• Instruction Register (IR) —Mban instruksionin e fundit te ngarkuar
Sekuenca e ngarkimit(Fetch) • Adresa e instruksionit te ardhshem ndodhet
ne PC • Adresa (MAR) vendoset ne busin e adresave • Njesia e kontrollit gjeneron nje sinjal LEXIMI
(READ) • Rezultatet (te dhenat nga memoria)
vendosen ne busin e te dhenave • Te dhenat nga busi vendosen ne MDR • PC inkrementohet me 4 (ne paralel me
ngarkimin e te dhenave nga memoria) • Instruksioni zhvendoset nga MDR ne IR • MDR tani eshte i lire per ngarkime te tjera te
dhenash
Sekuenca e ngarkimit (simbolike) • t1: MAR <- (PC) • t2: MDR <- (memory) • PC <- (PC) +4 • t3: IR <- (MDR) • (tx = njesia e kohes/cikli i ores) • ose • t1: MAR <- (PC) • t2: MDR <- (memory) • t3: PC <- (PC) +4 • IR <- (MDR)
Rregulla per grupimin e operacioneve ne cikel
• Sekuenca e duhur duhet te jete —MAR <- (PC) duhet te paraprije MDR <- (memory)
• Konfliktet duhet te shmangen —Nuk duhet te lexojme&shkruajme te njejtin
regjister ne te njejten kohe —MDR <- (memory) & IR <- (MDR) nuk duhen te
jene ne te njejtin cikel
Cikli indirekt • MAR <- (IRaddress) - fusha e adreses se IR • MDR <- (memory) • IRaddress <- (MDRaddress)
• MDR mban nje adrese • IR eshte ne te njejten gjendje sikur eshte
perdorur adresimi direkt
Cikli i nderprerjes (Interrupt) • t1: MDR <-(PC) • t2: MAR <- adresa e ruajtjes PC <- adresa e rutines • t3: memory <- (MDR) • Kjo eshte sekuenca minimale e hapave
—Mund te na duhen mikro-operacione shtese —Shenim: ruajtja e kontekstit kryhet nga rutina
e thirrur, jo nga mikro-operacione
Cikli i ekzekutimit (ADD) • I ndryshem per cdo instruksion • p.sh. ADD R1,X – mbledh permbajtjen e
vendodhjes x me regjistrin R1 , rezultati ne R1
t1: MAR <- (IRaddress) PC<-(PC)+4 t2: MDR <- (memory) t3: R1 <- R1 + (MDR)
• Veme re qe nuk kemi mbivendosje te operacioneve
Cikli i ekzekutimit (Load) • Load R5,X(R7) – ngarkon ne R5 vleren e
lexuar nga memoria
t1: MAR <- (PC) t2: IR <- (memory), PC<-(PC)+4 t3: Rz <- (R7) + X t4: R5<- memory(Rz)
Cikli i instruksionit • Cdo faze dekompozohet ne nje sekuence
mikro-operacionesh • P.sh. Ciklet e fetch, indirect, dhe interrupt • Cikli i ekzekutimit
—Nje sekuence mikro-operacionesh per cdo opcode
Kerkesat funksionale • Percakto elementet kryesore te procesorit • Pershkruaj mikro-operacionet qe
ekzekuton procesori • Percakto funksionet qe duhet te kryeje
njesia e kontrollit
Elementet kryesore te procesorit • ALU • Regjistrat • Rruget e brendshme te te dhenave • Rruget e jashtme te te dhenave • Njesia e kontrollit
Tipet e mikro-operacioneve • Transferimi ndermjet regjistrave • Transferimi i te dhenave nga regjistri ne
busin e jashtem • Transferimi i te dhenave nga busi i
jashtem ne regjister • Kryerja e operacioneve arithmetike dhe
llogjike
Funksionet e njesise se kontrollit • Sekuencimi
—Duke shkaktuar qe CPU te kaloje ne nje sekuence operacionesh
• Ekzekutimi —Shkakton ekzekutimin e cdo mikro-operacioni
• Kjo arrihet duke perdorur sinjalet e kontrollit
Sinjalet e kontrollit • Sinjalet e Ores (clock)
—Nje mikro-operacion per cikel ore • Sinjalet e Instruction Register
—Opcodi per instruksionin —Percakton se cilet mikro-operacione do te
kryhen • Flamujt
—Gjendja e CPU —Rezultatet e operacioneve te meperparshme
• Nga busi i kontrollit —Interruptet —Sinjalet e ack
Modeli i njesise se kontrollit
Sinjalet e kontrollit - output • Brenda ne CPU
—Shkakton zhvendosjen e te dhenave —Aktivizon funksione specifike
• Drejt busit te kontrollit —Drejt memories —Drejt moduleve I/O
Shembull i sekuences se sinjaleve te kontrollit- Ngarkimi(Fetch) • MAR <- (PC)
—Njesia e kontrollit aktivizon sinjale qe hapin porten e PC dhe MAR
• MDR <- (memory) —Hapet porta ndermjet MAR-it dhe busit te
adresave —Gjenerohet sinjali i leximit te memories —Hapet porta ndermjet busit te te dhenave dhe
MDR
Rrugezimet e te dhenave dhe sinjalet e kontrollit
D
Organizimi i brendshem • Zakonisht nje bus i vetem i brendshem • Portat kontrollojne levizjen e te dhenave,
ne bus dhe jashte tij • Sinjalet e kontrollit kontrollojne
transferimin e te dhenave nga dhe drejt busit te jashtem
• Regjistrat e perkohshem jane te nevojshem per punen e ALU
Bus i brendshem i CPU
Ekzekutimi i nje instruksioni te plote
Add (R3), R1
Organizimi me disa buse
Implementimi i Kablluar(1) • Hyrjet e njesise se kontrollit • Flamujt dhe busi i kontrollit
—Cdo bit ka nje kuptim • Instruction register
—Opcodi shkakton sinjale kontrolli te ndryshme per instruksione te ndryshme
—Llogjika e njejte per cdo opcod —Dekoderat marrin hyrjen dhe prodhojne nje
dalje —n hyrje binare dhe 2n dalje
Implementimi i Kablluar(2) • Gjeneruesi i hapave
—Sekuence periodike impulsesh —Mat kohezgjadjen e mikro-operacioneve —Duhet te jete mjaftueshmerisht e gjate per te
lejuar perhapjen e sinjaleve —Sinjale kontrolli te ndryshme ne kohe te
ndryshme brenda ciklit te instruksionit —Duhet nje numrator me sinjale te ndryshme
kontrollit per castet t1, t2 etj.
Njesia e kontrollit me hyrjet e dekoduara
Probleme me projektimet e kablluara • Sekuenca komplekse • E veshtire per tu projektuar dhe testuar • Projektim jo fleksibel (sot e permiresuar) • Veshtire per te shtuar instruksione te reja
Kontrolli i mikroprogramuar
• Perdor sekuenca mikro-operacionesh per te kontrolluar operacionet komplekse
• Mikro-operacionet percaktohen si mikroinstruksione apo fjale kontrolli
• Quhet ndryshe mikroprogramim ose firmware
Implementimi (1) • Gjithcka cfare ben njesia e kontrollit eshte
gjenerimi i nje grupi sinjalesh kontrolli • Cdo sinjal kontrolli eshte 1 ose 0 • Perfaqeso cdo sinjal kontrolli me 1 bit • Kemi nje fjale kontrolli per cdo mikro-
operacion • Per cdo instruksion makine kemi nje
sekuence fjalesh kontrolli • Shto nje adrese per te specifikuar mikro-
operacionin qe vijon por ne varesi te kushteve
Implementimi (2) • Sot mikroprocesoret e medhenj
—Shume instruksione dhe hardware-in perkates —Shume pika kontrolli qe duhet te manipulohen
• Kjo rezulton ne nje memorie kontrolli qe —Permban nje numer te madh fjalesh
– Qe i korespondojne numrit te instruksioneve qe do te ekzekutohen
—Ka nje gjeresi te madhe te fjales – Per shkak te numrit te madh te pikave te kontrollit
Organizimi i njesise se kontrollit
Gjeresia e fjales ne mikroprogramim
• Bazohet kryesisht ne tre faktore —Numri maksimal i mikro-operacioneve qe
mundesohen ne paralel —Menyra se si informacioni i kontrollit
perfaqesohet ose enkodohet —Menyra se si adresa e mikro-instruksionit
tjeter jepet
Tipet e mikroinstruksioneve • Cdo mikro-instruksion perfaqeson nje (ose
pak) mikro-operacione qe do te kryen — (mikro-programimi vertikal)
• Cdo mikro-instruksion perfaqeson disa mikro-operacione qe do te kryen ne paralel —(mikro-programimi horizontal)
Formatet e mikro-instruksioneve
Mikro-programimi vertikal
• Gjeresia eshte e vogel • n sinjale kontrolli perfaqesohen nga log2 n
bite • Aftesi e kufizuar per te shprehur
paralelizem • Enkodimi i nje sasie te madhe
informacioni kontrolli kerkon nje dekoder jashte memories per te identifikuar linjat e kontrollit qe manipulohen
Mikro-programimi horizontal
• Fjala ne memorie eshte e gjere • Shkalle e larte mundesie per paralelizim • Enkodim i paket i informacionit te
kontrollit
Kompromise • Ndajme sinjalet e kontrollit ne disa grupe • Cdo grup implementohet si nje fushe e
vecante ne fjalen ne memorie • Mbeshtet nje nivel te mire paralelizmi pa
nje kompleksitet te madh
Organizimi i memories se kontrollit
Funksioni i njesise se kontrollit • Njesia sekuenciale gjeneron nje komande leximi • Fjala qe specifikohet nga adresa ne regjistrin e
kontrollit, lexohet dhe ruhet ne regjistrin buffer te kontrollit
• Regjistri buffer i kontrollit gjeneron sinjalet e kontrollit dhe adresen e fjales te kontrollit pasaardhese
• Adresa e re ngarkohet nga njesia sekuenciale ne regjistrin buffer te kontrollit bazuar ne informacionin e fjales se kontrollit dhe flamujt e ALU
Vendimi per adresen e ardhshme • Ne varesi te flamujve te ALU dhe regjistrit
buffer te kontrollit —Merret instruksioni i ri
– Shtohet me 1 regjistri i adreses se kontrollit —Kerce tek rutina e re bazuar ne mikro-
instruksionin jump – Ngarko fushen e adreses nga regjistri buffer ne
regjistrin e adreses —Kerce tek rutina e instruksionit makine
– Ngarko regjistrin adrese bazuar ne opcodin ne IR
Funksionimi i njesise se mikroprogramuar te kontrollit
Avantazhet dhe disavantazhet e mikroprogramimit • Thjeshtezon projektimin e njesise se
kontrollit —Me e lire —Ka pak probabilitet per gabime
• Me e ngadalte
Detyrat qe kryhen nga njesia e kontrollit e mikroprogramuar
• Perzgjedhja e mikro-instruksioneve • Ekzekutimi i mikro-instruksioneve • Duhet te konsiderohet mundesia per ti
bere te dyja ne paralel
Konsiderata te ndryshme
• Madhesia e mikro-instruksioneve • Koha e gjenerimit te adreses
—Percaktuar nga regjistri i instruksioneve – Njehere per cikel pasi ngarkohet instruksioni
—Adresa e ardhshme sekuenciale —Kercimet
– Te kushtezuara dhe te pakushtezuara
Teknikat e zgjedhjes sekuenciale • Adresa e memories se kontrollit duhet te
gjenerohet bazuar ne mikro-instruksionin e momentit, flamujt e kushteve, permbajtjet e IR.
• Ne varesi te formatit te adreses —Dy fusha adrese —Nje fushe e vetme adrese —Formati variabel
Llogjika e kontrollit te kerc.: Dy fusha adresash
Llogjika e kontrollit te kerc.: Nje fushe adresash
Llogjika e kontrollit te kerc.: Format variabel
Teknika te ndryshme enkodimi te mikro-ins. • Mikroinstrksioni organizohet si nje grup fushash • Cdo fushe permban nje kod • Aktivizon nje ose me shume sinjale kontrolli • Formati i organizimit me fusha te pavarura
—Fushat tregojne nje grup veprimesh —Veprimet nga fusha te ndryshme mund te
ndodhin njekohesisht • Alternativa: veprimet qe percaktohen nga nje
fushe mund te jene perjashtues —Vetem nje veprim i specifikuar nga nje fushe
mund te ndodhi ne nje kohe
Enkodimi direkt i mikro-instruksioneve
Enkodimi indirekt i mikro-instruksioneve
Literatura 1. Kapitulli 4, Arkitektura e Kompjuterave
(A.Cami) 2. Materiale shtese ne website-in e kursit