Kapitulli 10. Setet e instruksionit Karakteristikat dhe funksionet

Slides:



Advertisements
Similar presentations
CH10 Instruction Sets: Characteristics and Functions
Advertisements

What is an instruction set?
Chapter 10 Instruction Sets: Characteristics and Functions.
GROUP #4 CHAPTER 10 JOEL FRAGA JAIME J.OCON DEISY HERNANDEZ.
Assembly Language Issues – Page 1CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Assembly Language Issues Reading: Stallings,
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Homework Problems 1. M1 runs the program P in 1.4 * 9 * ns or ns M2 runs the program P in 1.6*9800*10ns or ns Hence M2 is faster by.
Instruction Set Architecture Nizamettin AYDIN
Computer Architecture and Organization
Computer Architecture EKT 422
Differences in ISA Instruction length
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
What is a program? A sequence of steps
Group # 3 Jorge Chavez Henry Diaz Janty Ghazi German Montenegro.
EKT 422/4 COMPUTER ARCHITECTURE SoME-0809-I 1 Chapter 3a Instruction Sets: Characteristics and Functions.
Ass. Prof. Dr Masri Ayob TK 2123 Lecture 14: Instruction Set Architecture Level (Level 2)
Instruction Sets. Instruction set It is a list of all instructions that a processor can execute. It is a list of all instructions that a processor can.
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
CSC 221 Computer Organization and Assembly Language Lecture 06: Machine Instruction Characteristics.
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
4. Memoria Kesh (Cache) Memorie për ruajtjen e të dhënave të shfrytëzuara më shpesh. E vendosur në CPU. Ndërmjetëse në mes të CPU-së dhe memories kryesore.
Universiteti i Prizrenit
Windows XP(Control Panel)
Access 2007 Quiz.
SH.M.U-2 Tema:WEB Shfletuesit Nxënësi:Elbaroza Bunjaku Arsimtari:Muhamer.
Siguria e të dhënave në kompjuter
TIK 12 – Prof. Blerand Koshi
PROGRAMI DHE PROGRAMIMI KUPTIMET BAZIKE
Software Çka paraqet softwear? Software sistemor Software aplikativ
Universiteti i Prizrenit
LEKSION 6 SQL. Struktura baze. Query-t. Veprimet me bashkesi.
SHMU-2 Vushtrri Punim seminarik Lënda : Informatikë Tema : Windows 7 Klasa : IX Punuar nga : Petrit Mavriqi Vushtrri , 2014.
Lënda: Imformatikë Punoi: Rona Preteni Arsimtar: Muhamer Ujkani IX/9
Elementet e gjuhës C++.
Computer Organization and ASSEMBLY LANGUAGE
Vendosja e prapavijes (Background)
SHMU-2 Vushtrri Punim seminarik Lënda: Informatikë Tema: Rjetet informative Klasa IX-2 Punuar nga: Argjent Abdurrahmani Erëza Mejzini.
Tema:Crossover Cable Nxënësi:Amir Sadiku Arsimtari:Muhamer Ujkani
SH.M.U-2 Emri dhe mbiemri:Lavdim Veseli Klasa:IX-3 Shkolla:SHMU2
Elementet e gjuhës C++.

6. Unaza While dhe Do While
Shmu2 Lënda: Informatikë Tema: Programi i Power Ponit Klasa: IX-4
Universiteti i Prizrenit
SISTEMI I DETEKTORËVE TË TRAFIKUT
Punim Seminarik Tema : VIRUSET Kompjuterik Lenda: Informatike SHMU 2
ECEG-3202 Computer Architecture and Organization
Chapter 9 Instruction Sets: Characteristics and Functions
William Stallings Computer Organization and Architecture 8 th Edition Chapter 10 (Chap 12 edition 9) Instruction Sets: Characteristics and Functions.
CPU: Instruction Sets and Instruction Cycles
Degëzimet.
Internet Ligjerata 8 Dr. Fisnik Dalipi.
ECEG-3202 Computer Architecture and Organization
Chapter 9 Instruction Sets: Characteristics and Functions
Variablat dhe konstantet
Degëzimet.
Operatorët.
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

Kapitulli 10. Setet e instruksionit Karakteristikat dhe funksionet Karakteristikat e instruksioneve të makinës Tipet e operandëve Tipet e të dhënave te Pentiumi dhe PowerPC Tipet e operacioneve Gjuha asembler

Elementet e instruksionit të makinës Kodi operacional (Opcode) Elementi esencial i një instruksioni të kompjuterit, që specifikon operacionin që duhet kryer (p.sh. ADD, I/O); burimin dhe destinacionin e referencës së operandit Opcode-i specifikon operacionet në një nga kategoritë: aritmetike ose logjike; zhvendosjen e të dhënave në mes dy regjistrave, regjistrit dhe memories; H/D; si dhe kontrolli. 3

Referenca në operandin burimor Specifikon një regjistër ose lokacion memorik të operandit të të dhënave. Tipi mund të jetë: adresa, numra, karaktere ose të dhëna logjike Referenca e operandit të rezultatit Karakteristika e zakonshme e procesorit është shfrytëzimi i stekut (mund të shihet ose jo prej programerit) Referenca në instruksionin e ardhshëm I tregon procesorit ku të marrë instruksionin e ardhshëm 3

Arkitektura dhe programimi Shumë prej elementeve të arkitekturës nuk shihen nga ana e programerit, kur ai programon në gjuhë të larta programuese (C, C++, C#,Pascal,…) Kufiri i ‘takimit’ në mes të dizajnerit dhe programerit: gjuha e makinës. Të dy e shohin të njejtën makinë. Këndvështrimi i dizajnerit: seti i instruksionit ofron kërkesat funksionale të procesorit. Programeri që programon në gjuhën e makinës (assembler) sheh strukturën e memories dhe regjistrat.

Një kategorizim i procesorëve Në bazë të stilit të ruajtjes së vlerave numerike shumëbajtëshe: Big-endian Bajtat më të rëndësishëm ruhen në adresat numerike më të ulta. Little-endian Bajtat më të rëndësishëm ruhen në adresat më të larta. Bi-endian Mund t’i përkrahë të dy stilet.

Karakteristikat e instruksionit të makinës Operacioni i procesorit përcaktohet nga instruksionet që e ekzekutojnë, që i referohemi si instruksionet e makinës (kompjuterit). Koleksioni i instruksioneve të ndryshme që mund të ekzekutojë procesori, njihet si seti i instruksionit të procesorit. Secili instruksion duhet të përmbajë informacionet që kërkohen nga procesori për ekzekutim.

Elementet e një instruksioni të makinës Kodi i operacionit: specifikon operacionin që duhet të kryhet (p.sh. ADD, I/O). Operacioni paraqitet me një kod binar, i njohur si opcode. Burimi i operandit: operacioni mund të përfshijë një apo më tepër operande dhe duhet ditur se cilët janë operandet hyrës. Rezultati i operandit: operacioni mund të prodhojë një rezultat. Instruksioni i ardhshëm: i tregon procesorit ku të marrë instruksionin e ardhshëm, pasi të jetë kompletuar instruksioni aktual.

Diagrami i gjendjeve të ciklit të instruksionit

Operandi burimor dhe i rezultatit gjendet: Në memorien kryesore ose virtuale Në regjistrat e procesorit Në paisjet H/D

Paraqitja e instruksioneve Në kodin e makinës çdo instruksion ka varg të ndryshëm bitash Programerët përdorin prezentimin simbolik p.sh. ADD, SUB, LOAD, MPY, DIV, STOR Operandet mund të paraqiten edhe në këtë mënyrë: P.sh. ADD A,B Që do të thotë: vlerën në lokacionin B shtoja përmbajtjes së regjistrit A. B i referohet adresës së lokacionit në memorie A i referohet një regjistri të pjesërishëm Operacioni kryehet në përmbajtjen e lokacioneve 5

Formati i thjeshtë i instruksioneve

Tipet e instruksioneve Shembull: X=X+Y (në gjuhë të lartë programuese) Ky operacion kryhet me tri instruksione: Ngarko (load) regjistrin me përmbajtjen e lokacionit memorik 513l Shto (add) përmbajtjen e lokacionit memorik 514 në regjistër; Ruaje (store) përmbajtjen e regjistrit në lokacionin memorik 513. Lidhja në mes gjuhëve të larta dhe gjuhës së makinës: Pra, një operacion i thjeshtë mund të kërkojë disa instruksione.

Tipet e instruksioneve Procesimi i të dhënave: instruksionet aritmetike dhe logjike Ruajtja e të dhënave instruksionet e memories Zhvendosja e të dhënave instruksionet H/D Kontrolli i rrjedhës së programit testimi dhe degëzimi i programit. 6

Numri i adresave (a) 3 adresa Operandi 1, Operandi 2, Rezultati a = b + c; Mund të jetë edhe e katërta – instruksioni i ardhshëm (zakonisht implicit) Nuk është i përhapur Kërkon fjalë të gjatë të instruksionit për të përmbledhur të gjitha. 7

Numri i adresave (b) 2 adresa Një adresë shërben si adresë e operandit dhe rezulatit të procesimit a = a + b Shkurton gjatësinë e instruksionit Ka nevojë për punë shtesë dhe hapësirë për ruajtjen e përkohshme të rezultatit. 8

Numri i adresave (c) 1 adresë Adresa e dytë është implicite Zakonisht regjistër (accumulator) E zakonshme te procesorët e hershëm. 9

Numri i adresave (d) 0 (zero) adresa Të gjitha adresat janë implicite Përdoren në një organizim special të memories, të njohur si stek (stack) Stack: një set i lokacioneve ‘last-in-first-out’ p.sh. push a push b add pop c c = a + b 10

(c) Instruksionet tri-adresëshe

Sa adresa? Më shumë: Më pak: Instruksione më komplekese Më shumë regjistra Operacione me operand në regjistër janë më të shpejta Më pak instruksione për program Më pak: Instruksione më të thjeshta Më shumë instruksione për program Marrja / ekzekutimi më i shpejtë i instruksioneve. 11

Dizajni i repertorit të instruksionit Dizajni i setit: kompleks, sepse afekton në shumë aspekte të sistemit kompjuterik. Definon: shumë funksione që kryen procesori. Repertori i operacioneve Sa dhe cilat operacione i ofron? Çka mund të bëjnë? Sa janë komplekse? Tipet e të dhënave Llojet e ndryshme të të dhënave ndaj të cilave mund të kryhen operacione. 12

Reduced Instruction Set Computer Complex Instruction Set Computer Formatet e instruksioneve Gjatësia e fushës së kodit operacional Numri i adresave Gjatësia e fushave të ndryshme Regjistrat Numri i regjistrave të CPU-së Cilat operacione mund të kryhen në cilët regjistra? Adresimi Modi (modet) sipas të cilit është specifikuar adresa e një operandi RISC  CISC Reduced Instruction Set Computer Complex Instruction Set Computer 13

Instruksionet e makinës operojnë në të dhëna. Tipet e operandëve Instruksionet e makinës operojnë në të dhëna. Kategoritë më të rëndësishme të të dhënave: Adresat Numrat Integer (fixed point); floating point; decimal (BCD) Karakteret ASCII, EBCDIC, etj. Të dhëna logjike Bitat ose flag-at (flags) 14

Tipet e të dhënave të Pentiumit Pentiumi mund të kuptojë të dhënat: 8 bit (byte) 16 bit (word) 32 bit (doubleword) 64 bit (quadword) Adresimi është sipas njësisë 8 bitëshe Fjala e dyfishtë 32 bitëshe lexohet në adresa të pjesëtueshme me 4. Për fleksibilitet dhe shfrytëzim më të mirë, nuk lejohen adresat me numër tek të bitave. Stili (si te të gjithë 80x86) little-endian: bitat më pak të rëndësishëm ruhen në adresat më të ulëta. 15

Tipet specifike të të dhënave (Pentium) Gjeneral – përmbajtja arbitrare binare Integer – vlerë binare duke shfrytëzuar 2 komplementin Ordinal – integer pa parashenjë Unpacked BCD – Një numër për byte Packed BCD - 2 BCD numra për një byte Near Pointer – zhvendosja 32 bitëshe brenda segmentit Bit fushe Byte String Floating Point 16

Formatet e të dhënave numerike të Pentiumit 17

Shndërrime (Conversion) H/D Kontroll i sistemit (System Control) Tipet e operacioneve Transferi i të dhënave Aritmetike Logjike Shndërrime (Conversion) H/D Kontroll i sistemit (System Control) Transferi i kontrollit. 18

Mund të jenë instruksione të ndryshme për lëvizje të ndryshme Transferi i të dhënave Specifiko Burimin Destinacionin Sasinë e të dhënave Mund të jenë instruksione të ndryshme për lëvizje të ndryshme p.sh. IBM 370 Ose një instruksion dhe adresa të ndryshme p.sh. VAX. 19

Mbledhja, zbritja, shumëzimi, pjesëtimi Signed Integer Floating point Aritmetike Mbledhja, zbritja, shumëzimi, pjesëtimi Signed Integer Floating point Mund të përfshijë Inkrementimi (a++) Dekrementimi (a--) Negacioni (-a) Vlera absolute. 20

Operacionet Shift dhe Rotate

Logjike Operacione mbi bita AND OR NOT XOR Test Compare Shift Rotate 21

Shndërrimet (Conversions) Instruksionet e shndërrimit: ato që ndërrojnë formatin ose operimin në format. p.sh. Binar në Decimal Instruksioni TR (translate) te S/390: mund të përdoret për të shndërruar të dhënat prej kodit 8-bitësh në një kod tjetër: TR R1, R2, L 22

Mund të jenë instruksione specifike Instruksionet H/D Mund të jenë instruksione specifike Mund të kryhen duke përdorur instruksionet për zhvendosjen e të dhënave (H/D e mapuar në memorie) Mund të ekzekutohen nga kontrolleri i veçantë (DMA). 23

Të rezervuara për përdorim nga sistemi operativ Kontrolli i sistemit Instruksionet e kontrollit të sistemit: ato që mund të ekzekutohen vetëm deri sa procesori është në një gjendje të privilegjuar ose është duke ekzekutuar një program në një zonë të privilegjuar të memories (Instruksione të privilegjuara). Ring 0 në 80386+ Kernel mode Të rezervuara për përdorim nga sistemi operativ 24

Thirrja e subrutinave (procedurave) Transferi kontrollit Degëzimi p.sh. kalo në x nëse rezultati është zero Kapërcimi (skip) p.sh. inkremento dhe kapërce nëse rezultati është zero ISZ Register1 Branch (BRP X; BRN X; BRZ X; BRO X; BRE R1,R2,X) ADD A Thirrja e subrutinave (procedurave) Programi më i ekonomizuar Modulariteti. 25

Instrusioni i degëzimit

Thirrja e procedurave

Përdorimi i stekut

Rritja e stekut gjatë përdorimit të procedurave shembull P dhe Q

Me çfarë radhe i lexojmë numrat të cilët zënë më shumë se një byte Rendi i byte-ve Me çfarë radhe i lexojmë numrat të cilët zënë më shumë se një byte p.sh. numrat heksadecimal që të mund t’i lexojmë më lehtë 12345678 mund të ruhet në 4 lokacione 8 bitëshe në këto mënyra: 27

Rendi i byte-ve (shembull) Adresa Vlera (1) Vlera (2) 184 12 78 185 34 56 186 56 34 187 78 12 p.sh. lexo nga lartë poshtë apo nga poshtë lartë? 28

Emrat e rendeve të byte-ve Problemi quhet Endian Big-endian: Sistemi në të majtë e ka byte-in me peshë më të vogël në adresë më të madhe (78 në adresën 187) Little-endian: Sistemi në të djathtë e ka byte-in me peshë më të vogël në adresën më të vogël (78 në adresën 184) 29

Shembulli vendosjes së një C struct

Këndvështrim alternativ i memories

Pentium (80x86), VAX janë little-endian Standard ? Pentium (80x86), VAX janë little-endian IBM 370, Motorola 680x0 (Mac) dhe shumica e RISC janë big-endian Interneti është big-endian 30

Instruksionet janë numra të thjeshtë binarë të ruajtur në kompjuter. Gjuha asembler Një procesor mund të kuptojë dhe të ekzekutojë instruksionet e makinës. Instruksionet janë numra të thjeshtë binarë të ruajtur në kompjuter. Nëse programeri dëshiron të programojë direkt në gjuhë të makinës, duhet të futë programin në formën binare. Nivelet: gjuha e makinës (binare) gjuha simbolike gjuha asembler gjuhët e larta (kompajleri)

Shembull: llogaritja e formulës N = I + J + K