Συστήματα Μικροϋπολογιστών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Συστήματα Μικροϋπολογιστών"

Transcript

1 Συστήματα Μικροϋπολογιστών Η αρχιτεκτονική του με Intel 8086 Υπεύθυνος Μαθήματος: K. ΠΕΚΜΕΣΤΖΗ

2 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.

3 Σήματα και ακίδες του 8086Περιγραφή GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND Vcc AD15 BHE/S7 MN/MX RD LOCK RQ/GT0 RQ/GT1 S2 S1 S0 QS0 QS1 TEST READY RESET (HOLD) (HLDA) (WR) (M/IO) (DT/R) (DEN) (ALE) (INTA) Ελεγχος Ρολόι Γείωση Ground Διευθυνση\Δεδομένα Διεύθυνση/Ελεγχος Διεύθυνση/Δεδομένα Τάση Τροφοδοσίας, CPU A16/S3 A17/S4 A18/S5 A19/S6 Σήματα Ελέγχου

4 Περιγραφή Σημάτων - Ακίδων του 8086 AD0-AD7 Στις ακίδες αυτές πολυπλέκονται τα 8 λιγότερα σημαντικά bit της διεύθυνσης (A0-A7) με τα αντίστοιχα των δεδομένων (D0-D7). AD8-AD15 για τον 8086 ή A8-A15 για τον A16/S3-A19/S6 Εδώ πολυπλέκονται τα τέσσερα σημαντικότερα bit του διαδρόμου διευθύνσεων με τα τέσσερα σήματα κατάστασης S3-S6. M / IO για τον 8086 ή M / IO για τον To σήμα αυτό δείχνει αν θα γίνει προσπέλαση σε κάποια θέση μνήμης ή σε πόρτα Ε/Ε. RD Δείχνει ότι ο μεπ εκτελεί κύκλο ανάγνωσης από τη μνήμη ή από πόρτα Ε/Ε. WR Δείχνει ότι ο μεπ εκτελεί κύκλο εγγραφής στη μνήμη ή σε πόρτα Ε/Ε. ALE Χρησιμοποιείται για το διαχωρισμό της διεύθυνσης από τα δεδομένα

5 Περιγραφή Σημάτων - Ακίδων του 8086 READY Διαβεβαίωση ότι η μεταφορά δεδομένων που ζητήθηκε θα ολοκληρωθεί. INTR Αίτηση διακοπής από κάποια περιφερειακή μονάδα. NMI Μη παρεμποδιζόμενη διακοπή (Non-maskable interrupt). INTA (INTerrupt Acknowledgement). Αναγνώριση διακοπής και αναμονή του αριθμού διακοπής. HOLD Εκπέμπεται από κάποιον άλλο συνεπεξεργαστή (bus master) ο οποίος ζητάει την παραχώρηση του διαδρόμου. HLDA (HoLD Acknowlegement). Αποτελεί απάντηση του 8086/88 στο σήμα HOLD και σημαίνει ότι παραχωρεί το διάδρομο. BHE/S7 (μόνο στον 8086). Το σήμα BHE (Byte High Enable) με το bit Α0 καθορίζει αν θα γίνει προσπέλαση σε λέξη ή byte και επίσης αν αρχίζει σε άρτια ή περιττή διεύθυνση.

6 Περιγραφή Σημάτων - Ακίδων του 8086 SS0 (μόνο στον 8088). Χρησιμοποιείται σε συνδυασμό με τα σήματα M / IO και DT / R για να καθοριστεί αν ο τρέχων κύκλος διαδρόμου (bus cycle) είναι κύκλος εγγραφής στη μνήμη, εγγραφής σε πόρτα Ε/Ε, ανάγνωσης από τη μνήμη, ανάγνωσης από πόρτα Ε/Ε, ή κύκλος αναγνώρισης διακοπής. RESET Προκαλείται επανεκκίνηση του συστήματος από τη διεύθυνση FFFF0H. TEST Εξετάζεται από την εντολή WAIT του 8086/88 αν είναι 0 ο επεξεργαστής συνεχίζει αλλιώς εισάγεται κατάσταση αναμονής ("Idle" state). DEN (Data ENable). Χρησιμοποιείται σαν είσοδος επίτρεψης (enable input) στον πομποδέκτη (tranceiver) δεδομένων 8286/8287. DT / R (Data Transmit/Recieve). Χρησιμοποιείται σαν είσοδος για τον πομποδέκτη 8286/8287 για να καθορίσει άν θα γίνει αποστολή ή λήψη δεδομένων.

7 Περιγραφή Σημάτων - Ακίδων του 8086 Σε "διάταξη μεγίστου συστήματος" έχουμε τα ακόλουθα σήματα: S0, S1 και S2 Δείχνουν τον τύπο του επόμενου κύκλου δηλαδή αν θα είναι ανάγνωσης ή εγγραφής στη μνήμη ή σε πόρτα Ε/Ε, αναγνώριση διακοπής, σταμάτημα του επεξεργαστή (halt) ή τέλος άεργος κύκλος (idle). LOCK Δείχνει στους υπόλοιπους συνεπεξεργαστές (bus masters) ότι δεν μπορούν να πάρουν τον έλεγχο του διαδρόμου. Ενεργοποιείται από την εντολή-πρόθεμα (prefix instruction) "LOCK". QS0, QS1 (Queue Status). Τα σήματα αυτά παρέχουν την κατάσταση της ουράς και έτσι επιτρέπουν την εξωτερική ιχνηλάτησή της (external queue tracing). RQ / GT0, RQ / GT1 Τα σήματα αυτά χρησιμοποιούνται σε διατάξεις πολυεπεξεργαστών.

8 Εσωτερική Αρχιτεκτονική του με 8086 C-BUS AX BX CX DX FLAGS AH BH CH DH B-BUS AL BL CL DL Σ ES CS SS DS IP BUS INTERFACE UNIT ALU A-BUS CONTROL Όλοι οι καταχωρητές είναι των 16 bits. Οι AX, BX, CX, DX χωρίζονται σε δύο καταχωρητές των 8 bit ο καθένας DI SI BP SP (IP) EXECUTION UNIT

9 Οι Καταχωρητές του 8086 (Α) Καταχωρητές γενικής χρήσης H - File L - File ΑΧ AH AL ΣΥΣΣΩΡΕΥΤΗΣ ΓΕΝΙΚΟΙ ΚΑΤΑΧΩΡΗΤΕΣ (HL Group) ΒΧ CX BH CH BL CL ΒΑΣΗ ΜΕΤΡΗΤΗΣ DX DH DL ΔΕΔΟΜΕΝΑ

10 Οι Καταχωρητές του 8086 (Β) Καταχωρητές ειδικής χρήσης 15 0 ΚΑΤΑΧΩΡΗΤΕΣ ΔΕΙΚΤΩΝ (P&I Group) SP BP SI DI IP ΔΕΙΚΤΗΣ ΣΤΟΙΒΑΣ ΔΕΙΚΤΗΣ ΒΑΣΗΣ ΔΕΙΚΤΗΣ ΠΡΟΕΛΕΥΣΗΣ ΔΕΙΚΤΗΣ ΠΡΟΟΡΙΣΜΟΥ 15 ΜΕΤΡΗΤΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ 0 P-GROUP I-GROUP Χρησιμοποιούνται μόνο για δεικτοδότηση και αναφορά στη μνήμη 15 0 CS ΤΜΗΜΑ ΠΡΟΓΡΑΜΜΑΤΟΣ ΚΑΤΑΧΩΡΗΤΕΣ ΤΜΗΜΑΤΩΝ (S GROUP) DS SS ΤΜΗΜΑ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΣΩΡΟΥ ES ΕΚΤΑΚΤΟ ΤΜΗΜΑ

11 Οι Καταχωρητές του 8086 (Γ) Ο Καταχωρητής Σημαιών (PSW/FLAGS) O D I T S Z A P C CF: Carry (Κρατούμενο) PF: Parity (Ισοτιμία) AF: Auxiliary Carry (Βοηθητικό Κρατούμενο) ZF: Zero (Μηδέν) SF: Sign (Πρόσημο) TF: Trap (Βάζει τον με σε λειτουργ.single-step) IF: Interrupt Enable (Ενεργοποίηση Διακοπών) DF: Direction (Autoincrement / Autodecrement) OF: Overflow (Υπερχείλιση)

12 Μοντέλο προγραμματισμού του με 8088/86 (καταχωρητές των 16 bit) Γενικοί Καταχωρητές (16 bit) AX BX CX DX AH BH CH DH AL BL CL DL Συσσωρευτής Βάση Μετρητής Δεδομένων Καταχωρητές των Pointers και των δεικτών (16 bit) SP BP SI DI Pointer Σωρού Pointer Δείκτη Δείκτης Προέλευσης Δείκτης Προορισμού IP Μετρητής Προγράμματος Καταχωρητές Τμημάτων (16 bit) CS DS SS ES Τμήμα Προγράμματος Τμήμα Δεδομένων Τμήμα Σωρού Έκτακτο Τμήμα Σημαίες (16 bit) O D I TF S Z A P C

13 Μοντέλο προγραμματισμού του με 80x86 (καταχωρητές των 32 bit) Γενικοί Καταχωρητές (32 bit) EAX EBX ECX EDX AH BH CH DH AL BL CL DL AX BX CX DX Γενικοί Καταχωρητές (16 bit) Καταχωρητές των Pointers και των δεικτών (32 bit) ESP EBP EDI ESI SP BP DI SI Καταχωρητές των Pointers και των δεικτών (16 bit) Καταχωρητές Τμημάτων (16 bit) CS DS ES SS FS GS IEP EFlags IP Flags Μετρητής Προγράμματος Σημαίες (32 bit)

14 Προσπέλαση μνήμης (Α) Προσπέλαση δεδομένου στον κατατμημένο λογικό χώρο διευθύνσεων του με 8086 Τμήμα Προγράμματος (64 KBytes) ΛΟΓΙΚΟΣ ΧΩΡΟΣ ΔΙΕΥΘΥΝΣΕΩΝ (256 Kbytes) Τμήμα Σωρού (64 Kbytes) Έμμεσος ορισμός του καταχωρητή τμήματος δεδομένων + 16 Offset(x) 0 Τμήμα Δεδομένων (64 Kbytes) Το αναφερόμενο δεδομένο Έκτακτο Τμήμα (64 Kbytes)

15 Προσπέλαση Μνήμης (Β) ΛΟΓΙΚΟΣ ΧΩΡΟΣ ΔΙΕΥΘΥΝΣΕΩΝ (256 Kbytes) Τμήμα Προγράμματος (64 KBytes) ΧΩΡΟΣ ΦΥΣΙΚΗΣ ΜΝΗΜΗΣ (1 Μbyte) FFFFF h ΕΚΤΑΚΤΟ ΤΜΗΜΑ (64Kbytes) Απεικόνιση του λογικού χώρου διευθύνσεων (256 KBytes) στον χώρο φυσικής μνήμης (1 Mbyte) ΛΟΓΙΚΗ ΔΙΕΥΘΥΝΣΗ Έμμεσος ορισμός του καταχωρητή τμήματος δεδομένων + 16 Offset(x) 0 Τμήμα Σωρού (64 Kbytes) Τμήμα Δεδομένων (64 Kbytes) Έκτακτο Τμήμα (64 Kbytes) CS DS SS ES ΠΙΝΑΚΑΣ ΑΠΕΙΚΟΝΙΣΗΣ (πάνω στον 8086) h ΤΜΗΜΑ ΣΩΡΟΥ (64Kbytes) ΤΜΗΜΑ ΔΕΔΟΜΕΝΩΝ (64Kbytes) ΤΜΗΜΑ ΠΡΟΓΡΑΜΜΑΤΟΣ (64Kbytes)

16 Η Σελιδοποίηση της Μνήμης FFFF 64 KBytes 1 η σελίδα Ο καταχωρητής CS δείχνει ποια από τις 16 σελίδες είναι ενεργή FFFF 64 KBytes 2 η σελίδα CS = 1000 F0000 FFFFF 64 KBytes 16 η σελίδα

17 Η μονάδα BIU (Bus Interface Unit) Περιέχει τον μηχανισμό μετατροπής λογικών BUS ΔΙΕΥΘΥΝΣΕΩΝ / ΔΕΔΟΜΕΝΩΝ (20 bits) διευθύνσεων σε φυσικές Latch της διεύθυνσης Φυσική BUS INTERFACE UNIT (BIU) 20 bits Ειδικός Αθροιστής διεύθυνση Μηχανισμός μετατροπής λογικών διευθύνσεων σε φυσικές TEMP (16 bits) 0000 TEMP (16 bits) Καταχωρητές Τμημάτων (Πίνακας Απεικόνισης) CS DS SS ES Κυκλώματα Επιλογής Τα πρώτα 16 bits της φυσικής διεύθυνσης τμήματος Το 16ψήφιο Offset (Από την εντολή ή από έναν γενικό καταχωρητή) Φυσική Διευθ.= 16xΚαταχωρητής Τμ. + Λογική Διευθ. Από την ALU ή το A-BUS

18 Κύκλοι διαδρόμων στον 8086 CLK AD0-AD15 T1 T2 T3 T4 Next Bus Cycle Address Float Data In/Out Float ALE BHE M/IO A16/S3 A19/S6 RD WR DT/R DEN Address Status

19 Κύκλος Διακοπής στον 8086 T1 T2 T3 T4 Ti T1 T2 T3 T4 ALE INTA AD0 - AD15 Float Type Vector Τ i : Κατάσταση που ο διάδρομος αργεί

20 ΔΙΑΚΟΠΕΣ ΥΛΙΚΟΥ DATA BUS Μικροεπεξεργαστής 8086 INT INTA Διάνυσμα Συσκευής ΕΞΩΤΕΡΙΚΗ ΠΕΡΙΦΕΡΕΙΑΚΗ ΣΥΣΚΕΥΗ

21 Οι Διακοπές στον 8086 Τύπου 0 Διαίρεση με 0, ή υπερχείλιση κατά τη διαίρεση Τύπου 1 Βηματική εκτέλεση εντολών Τύπου 2 Μη παρεμποδιζόμενη διακοπή - NMI Τύπου 3 Προκαλείται από προγράμματα μέσω της εντολής CCH (software breakpoint) Τύπου 4 Προκαλείται από την INTO, όταν η σημαία OF είναι ενεργοποιημένη

22 Πίνακας Διακοπών FFFFF FFFF0 003FF Πρόγραμμα Εκκίνησης RESET... Πίνακας Διανυσμάτων Διακοπών 256 Διανύσματα Διακοπών 03FF 03FC C Διάνυσμα Διάνυσμα Διάνυσμα 4 Διάνυσμα 3 Διάνυσμα 2 Διάνυσμα 1 Διάνυσμα 0 Υπερχείληση - INTO Εντολή ΙΝΤ ενός byte Μη παρεμποδιζόμενη διακοπή - ΝΜΙ Βηματική εκτέλεση Διαίρεση με το μηδέν Ο πίνακας δείχνει τα διανύσματα διακοπής, καθώς και πώς από αυτά οδηγούμαστε στη ρουτίνα εξυπηρέτησης της διακοπής

23 Οργάνωση Μνήμης Η φυσική μνήμη του 8086 χωρίζεται σε δύο ίσα μέρη μεγέθους 0.5 Mbyte. Την πάνω στήλη (upper byte bank), από την οποία διαβάζεται ή γράφεται το πιο σημαντικό byte της λέξης, που διακινείται πάνω στις γραμμές D15-D8, (περιττές διευθύνσεις) και ενεργοποιούνται με το σήμα BHE (Byte High Enable). Την κάτω στήλη (lower byte bank), από την οποία διαβάζεται ή γράφεται το λιγότερο σημαντικό byte της λέξης που διακινείται πάνω στις γραμμές D7-D0 του διαδρόμου δεδομένων (άρτιες διευθύνσεις). Στην πάνω στήλη ανήκουν όλες οι θέσεις μνήμης με περιττή διεύθυνση. Μπορεί να επιλεγεί η μια ή και οι δύο στήλες ανάλογα με το αν θέλουμε να προσπελάσουμε ένα byte ή μια λέξη. Αυτό επιτυγχάνεται αν το σήμα BHE και το A0 του διαδρόμου διευθύνσεων λάβουν τις κατάλληλες τιμές όπως δείχνει ο πίνακας. BHE Α0 Προσπέλαση 0 0 ολόκληρη λέξη (αρχίζει σε άρτια διεύθυνση) 0 1 byte σε περιττή διεύθυνση (MSByte) 1 0 byte σε άρτια διεύθυνση (LSByte) 1 1 δεν επιλέγεται καμία θέση μνήμης

24 Διασύνδεση μνήμης στον με 8086 BHE Α0 Προσπέλαση 0 0 ολόκληρη λέξη (αρχίζει σε άρτια διεύθυνση) Διάδρομος Διευθύνσεων 0 1 byte σε περιττή διεύθυνση (MSByte) 1 0 byte σε άρτια διεύθυνση (LSByte) A19-A1 BHE ΜΝΗΜΗ (περιττές θέσεις) CS1 ΜΝΗΜΗ (άρτιες θέσεις) D15 - D8 D7 - D0 Διάδρομος Δεδομένων 1 1 δεν επιλέγεται καμία θέση μνήμης A0 CS0

25 Είδη & μορφές εντολών του 8086 (Α) Εντολές Διακίνησης Δεδομένων Γενικού Σκοπού: MOVE, POP, PUSH, EXCHANGE Χρήση Συσσωρευτή: IN, OUT, TRANSLATE Μετακίνηση διευθύνσεων και δεικτών: Load Effective Address LEA BX,addr Διακίνηση των Flags Εντολές Αριθμητικών Πράξεων Load Pointer LDS BX,dword ptr Πρόσθεση, αφαίρεση, πολ/μος, διαίρεση, αύξηση μείωση Χ, σύγκριση, κλπ. για δυαδικούς και δεκαδικούς (packed & unpacked) αριθμούς.

26 Είδη & μορφές εντολών του 8086 (Β) Εντολές λογικών πράξεων Οι γνωστές εντολές λογικών πράξεων AND, OR, XOR, και μια επιπρόσθετη, η TEST for specific bits που θέτει 1 στο επιλεγόμενο FLAG. Εντολές χειρισμού σειράς δεδομένων Εκτελούνται επαναληπτικά από το hardware (CX) φορές. Τα δεδομένα πρέπει να λαμβάνονται με βάση τον SI (DS) και να καταχωρούνται με βάση τον DI (ES).

27 Είδη & μορφές εντολών του 8086 (Γ) Εντολές μεταφοράς ελέγχου Άμεση ή έμμεση μεταφορά ελέγχου: JUMP, CALL, RETURN (ενδοτμηματική ή διατμηματική) Self-relative addressing (+128 εως 126) Χειρισμός σημάτων διακοπής Σειρά δεδομένων: LOOP, LOOPZ, LOOPNZ, JCXZ Εντολές ελέγχου του με HALT, WAIT ESCAPE: Μεταφορά ελέγχου σε εξωτερικό με LOCK: Πρόθεμα για διατήρηση ελέγχου στο bus

28 Τρόποι Αναφοράς στη Μνήμη Άμεση: MOV AX,568 ; AX 568 Απευθείας: MOV AX,[1000Η] ; DS:AL [1000H], DS:AH [1001H] Έμμεση: MOV AL,[BP] ;AL SS:[BP] MOV CX,CS:[DI] ;CL CS:[DI], CH CS:[DI+1] MOV [BX],800H ;DS:[BX] 00H, DS:[BX+1] 08H MOV AH,[BP+180] ;AH SS:[BP+180] MOV [BX+2000H],DI ;DS:[BX+2001:BX+2000] DI MOV ES:[DI+30000],20H;ES:[DI+30000] 20H MOV CX,[SI-1800H] ;CX DS:[SI-17FFH:SI-1800H] MOV BX,[BX+DI] ;BX DS:[BX+DI+1:BX+DI] MOV [BP+SI],DL ;SS:[BP+SI] DL MOV DS:[BP+DI],30000 ;DS:[BP+DI+1:BP+DI] MOV AX,[BX+SI+1FH] ;AX DS:[BX+SI+20H:BX+SI+1FH] MOV CS:[BP+DI-108],BH ;CS:[BP+DI-108] BH

29 ΕΝΤΟΛΕΣ ΜΕΤΑΚΙΝΗΣΗΣ ΔΕΔΟΜΕΝΩΝ DATA TRANSFER INSTRUCTIONS MOV Move CMOVcc Conditional move (if cc true) XCHG Exchange BSWAP Byte swap XADD Exchange and add CMPXCHG Compare and exchange CMPXCHG8B Comp. and exch. 8 bytes PUSH Push onto stack - POP Pop off of stack PUSHA/PUSHAD Push general-purpose registers onto stack POPA/POPAD Pop general-purpose registers from stack IN Read from a port - OUT Write to a port CWD/CDQ Convert word to doubleword/ Dword to quadword CBW/CWDE Convert byte to word/word to Dword in EAX register MOVSX Move and sign extend - MOVZX Move and zero extend

30 ΕΝΤΟΛΕΣ ΜΕΤΑΚΙΝΗΣΗΣ ΥΠΟ ΣΥΝΘΗΚΗ Conditional move CMOVcc if cc true Για προσημασμένους και μη προσημασμένους: CMOVE /CMOVZ equal/zero, CMOVNE/CMOVNZ not equal/not zero, CMOVC carry, CMOVNC not carry, CMOVP/CMOVPE parity even, CMOVNP/CMOVPO parity odd Για μη προσημασμένους: CMOVA/CMOVNBE above/not below or equal, CMOVAE/CMOVNB above or equal /not below, B/NAE below/not above or equal, BE/NA below or equal/not above Για προσημασμένους: CMOVG/CMOVNLE greater/not less or equal, CMOVGE/CMOVNL greater or equal /not less, CMOVL/CMOVNGE less/not greater or equal, CMOVLE/CMOVNG less or equal /not greater, CMOVO overflow, CMOVNO not not overflow, CMOVS sign (negative), CMOVNS sign (non-negative)

31 ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ BINARY ARITHMETIC INSTRUCTIONS ADD Integer add - ADC Add with carry SUB Subtract - SBB Subtract with borrow MUL Unsigned multiply - IMUL Signed multiply DIV Unsigned divide - IDIV Signed divide INC Increment - DEC Decrement NEG Negate - CMP Compare DECIMAL ARITHMETIC DAA Decimal adjust after addition DAS Decimal adjust after subtraction AAA ASCII adjust after addition AAS ASCII adjust after subtraction AAM ASCII adjust after multiplication AAD ASCII adjust before division

32 ΕΝΤΟΛΕΣ ΛΟΓΙΚΗΣ, ΟΛΙΣΘΗΣΗΣ-ΠΕΡΙΣΤΡΟΦΗΣ, BIT-BYTE INSTRUCTIONS LOGIC INSTRUCTIONS AND And - OR Or - XOR Exclusive or - NOT Not SHIFT AND ROTATE INSTRUCTIONS SAR Shift arithmetic right - SHR Shift logical right SAL/SHL Shift arithmetic left/shift logical left SHRD Shift right double - SHLD Shift left double ROR Rotate right - ROL Rotate left RCR Rotate through carry right - RCL Rotate through carry left BIT AND BYTE INSTRUCTIONS BT Bit test BTS Bit test and set - BTR Bit test and reset BTC Bit test and complement BSF Bit scan forward - BSR Bit scan reverse SETcc Conditional Set byte TEST Logical compare

33 ΤΟΠΟΘΕΤΗΣΗ BYTE ΥΠΟ ΣΥΝΘΗΚΗ Conditional Set byte: SETcc if cc true Για προσημασμένους και μη προσημασμένους: SETE /SETZ Set byte if equal/zero, SETNE/SETNZ not equal/not zero, SETC carry, SETNC not carry, SETP/SETPE parity even, SETNP/SETPO parity odd Για μη προσημασμένους: SETA/SETNBE above/not below or equal, SETAE/SETNB above or equal /not below, B/NAE below/not above or equal, BE/NA below or equal/not above Για προσημασμένους: SETG/SETNLE greater/not less or equal, SETGE/SETNL greater or equal /not less, SETL/SETNGE less/not greater or equal, SETLE/SETNG less or equal /not greater, SETO overflow, SETNO not not overflow, SETS sign (negative), SETNS sign (non-negative)

34 ΕΝΤΟΛΕΣ ΜΕΤΑΦΟΡΑΣ ΕΛΕΓΧΟΥ CONTROL TRANSFER INSTRUCTIONS ΕΝΤΟΛΕΣ ΑΛΜΑΤΟΣ: JMP Jump Jcc Jump if condition cc true ΕΝΤΟΛΕΣ ΒΡΟΓΧΟΥ LOOP Loop with ECX counter LOOPZ/LOOPE Loop with ECX and zero/equal LOOPNZ/LOOPNE Loop with ECX and not zero/not equal ΕΝΤΟΛΕΣ ΚΛΗΣΗΣ ΚΑΙ ΕΠΙΣΤΡΟΦΗΣ ΡΟΥΤΙΝΩΝ CALL Call procedure RET Return - IRET Return from interrupt INT Software interrupt - INTO Interrupt on overflow BOUND Detect value out of range ENTER High-level procedure entry LEAVE High-level procedure exit

35 ΕΝΤΟΛΕΣ ΑΛΜΑΤΟΣ ΥΠΟ ΣΥΝΘΗΚΗ Conditional Jump: Jcc if cc true Για προσημασμένους και μη προσημασμένους: JE /JZ JUMP if equal/zero, JNE/JNZ not equal/not zero, JC carry, JNC not carry, JP/JPE parity even, JNP/JPO parity odd, JCXZ/JECXZ Jump register CX zero/jump register ECX zero Για μη προσημασμένους: JA/JNBE above/not below or equal, JAE/JNB above or equal /not below, B/NAE below/not above or equal, BE/NA below or equal/not above Για προσημασμένους: JG/JNLE greater/not less or equal, JGE/JNL greater or equal /not less, JL/JNGE less/not greater or equal, JLE/JNG less or equal /not greater, JO overflow, JNO not not overflow, JS sign (negative), JNS sign (nonnegative)

36 Εντολές σειράς δεδομένων STRING INSTRUCTIONS MOVS/MOVSB Move byte string - MOVSW word - MOVSD doubleword CMPS/MOVSB Compare byte string - CMPSW word - CMPSD Dword SCAS/MOVSB Scan byte string - SCASW word - SCASD doubleword LODS/LODSB Load byte string - LODSW word - LODSD doubleword STOS/STOSB Store byte string - STOSW word - STOSD doubleword REP Repeat while ECX not zero REPE/REPZ Repeat while equal/zero REPNE/REPNZ Repeat while not equal/not zero INS/INSB Input byte string from port - INSW word - INSD Dword OUTS/OUTSB Output byte string from port - OUTSW word - OUTSD Dword

37 FLAG & SEGMENT REGISTER INSTRUCTIONS FLAG CONTROL INSTRUCTIONS STC Set carry flag - CLC Clear the carry flag CMC Complement the carry flag CLD Clear the direction flag - STD Set direction flag LAHF Load flags into AH register - SAHF Store AH register into flags PUSHF/PUSHFD Push EFLAGS onto stack POPF/POPFD Pop EFLAGS from stack STI Set interrupt flag - CLI Clear the interrupt flag SEGMENT REGISTER INSTRUCTIONS LDS Load far pointer using DS - LES Load far pointer using ES LFS Load far pointer using FS - LGS Load far pointer using GS LSS Load far pointer using SS MISCELLANEOUS INSTRUCTIONS LEA Load effective address NOP No operation

38 Εντολές Μετακίνησης Δεδομένων (A) MOV D, S (Μετακίνησε) reg reg (8,16,32 bit) MOV AH, BL reg mem MOV AX, [8010H] mem reg MOV [8010H], BP reg idata MOV SI, 8010H mem idata MOV [8010H], 8010H mem [BX], [BX+4], [SI], [SI-6], [BP+SI], [BP+SI+20] XCHG D, S (Αντάλλαξε) reg reg XCHG AL, BH reg mem XCHG DX, [SI] mem reg XCHG [8010H], DL

39 Εντολές Μετακίνησης Δεδομένων (B) LAHF Μεταφέρονται οι σημαίες (8 LSB) στον AH O D I T S Z A P C SAHF Μεταφέρεται ο καταχωρητής AH στα 8 χαμηλότερης αξίας bits των σημαιών (FLAGS) PUSH reg Μεταφέρεται το περιεχόμενο του καταχωρητή reg στη στοίβα POP reg Μεταφέρεται το δεδομένο στην κορυφή της στοίβας στον καταχωρητή reg

40 Εντολές Μετακίνησης Δεδομένων (Γ) LEA reg, addr- mem (Φόρτωσε την ενεργό διεύθυνση) LEA BX, address LEA CX, [BX][DI] Αντί MOV AX, [ADDRESS] ή OFFSET ADDRESS LEA BX, ADDRESS MOV AX, [BX] ή WORD PTR[BX]

41 ΕΝΤΟΛΕΣ OFFSET, PTR OFFSET - Η εντολή αυτή υπολογίζει τη σχετική διεύθυνση μέσα στο τμήμα (offset) μιας μεταβλητής. Παράδειγμα: MOV BX, OFFSET VAR Με την εντολή αυτή η διεύθυνση (offset) της μεταβλητής VAR υπολογίζεται και αποθηκεύεται στον BX. Το ίδιο γίνεται και με την εντολή LEA του 8088/86. LEA BX, VAR (address) PTR - Με την οδηγία αυτή καθορίζεται σε μια εντολή, αν ένα από τα ορίσματά της το οποίο είναι θέση μνήμης, είναι μήκους μιας λέξης ή ενός byte, όταν αυτό δεν είναι προφανές. Παράδειγμα: INC PTR WORD [BX], DEC PTR BYTE [BX] Εδώ είναι αναγκαίο να καθοριστεί, αν η θέση μνήμης της οποίας το περιεχόμενο θα αυξηθεί κατά 1, είναι μήκους ενός ή δύο bytes. Αντίθετα στην εντολή ADD AL, [BX] αυτό είναι προφανές από το όρισμα AL, που είναι του ενός byte.

42 Εντολές Μετακίνησης Δεδομένων (Δ) Load Data Segment LDS reg, addr-mem reg [mem; mem+1], DS [mem+2; mem+3] Load Extra Segment LES reg, addr-mem reg [mem; mem+1], ES [mem+2; mem+3] LDS BX, WORD PTR[SI] LES BX, WORD PTR[SI] BX [SI; SI+1], DS [SI+2;SI+3] BX [SI; SI+1], ES [SI+2;SI+3]

43 Εντολές Μετακίνησης Δεδομένων (Δ) XLAT mem AL DS:[BX+AL] MOV AL, mem MOV BX, OFFSET TABLE ; Από 0 ως 15 XLAT... ; Μεταφέρεται ένας αριθμός ; AL DS:[BX+AL] TABLE DB A B C D E F

44 Αριθμητικές Εντολές (Α) ADD d, s (Πρόσθεση) d {s+d} ADC d, s (Πρόσθεση με κρατ.) d {C+s+d} reg idata ADD AL,0E3H mem idata ADD [BP], 0E3H reg reg ADD AL,BH reg mem ADD BP, [8010H] mem reg ADD [8010H], BP SUB d, s (Αφαίρεση) d {d-s} SBB d, s (Αφαίρεση με δανεικό) d {d-s-c}

45 Αριθμητικές Εντολές (Β) INC reg ή mem (Αύξηση) d {d+1} DEC reg ή mem (Ελάττωση) d {d-1} NEG reg ή mem (Αναστροφή) d {-d} INC AL DEC PTR WORD[BP] CMP destination, source (Εντολή Σύγκρισης) {d-s} d>s d=s d<s CF=0 & ZF=0 CF=0 & ZF=1 CF=1 & ZF=0 Γίνεται η πράξη {d-s} χωρίς να καταχωρείται το αποτέλεσμα

46 Αριθμητικές Εντολές (Γ) MUL s (Πολλαπλασιασμός) Προέλευση 8bit Προέλευση 16bit ΑL ΑH ΑL ΑH ΑL DH DL ΑH ΑL DIV s (Διαίρεση) ΑH ΑL Προέλευση 8bit ΑΗ ΑL s reg / mem (όχι idata) DH DL ΑH ΑL Προέλευση 16bit ΑH ΑL DH DL

47 Εντολές Λογικών Πράξεων NOT d (Αναστροφή) AND d, s (Λογικό ΚΑΙ) d {d and s} OR d, s (Λογικό Ή) d {d or s} XOR d, s (Αποκλειστικό Ή) d {d s} TEST d, s {d and s} (έλεγχος) Τα d, s όχι ταυτόχρονα δύο θέσεις μνήμης H ΤΕST εκτελεί λογικό ΚΑΙ, ενημερώνει τις σημαίες χωρίς όμως να καταχωρεί το αποτέλεσμα

48 DECIMAL ARITHMETIC DAA Decimal adjust after addition: Αν AL [3-0] >9 ή ACF=1 τότε AL AL+6 και αν AL [7-4] >9 ή CF=1 τότε AL AL+60 DAS Decimal adjust after subtraction: Αν AL [3-0] >9 ή ACF=1 τότε AL AL-6 και αν AL [7-4] >9 ή CF=1 τότε AL AL- 60 AAA ASCII adjust after addition: Για μη-συμπτυγμένους BCD ή ASCII συμμετέχει μόνο ο καταχ. AL [3-0] (δηλ. μόνο AL [3-0] + 6) AAS ASCII adjust after subtraction: Όπως με AAA (μόνο AL [3-0] -6) AAM Adjust after multiplication: Το γινόμενο P δυο μη-συμπτυγμένων BCD αριθμών δίνει αποτέλεσμα που χωράει στον AL. Για να μετατραπεί σε μορφή μη-συμπτυγμένη BCD εκτελείται η AAM. Το αποτέλεσμα του γινομένου είναι: P [3-0] AL και P [7-4] AH Υλοποιείται ως εξής: Πηλίκο AL/0AH AH και το Υπόλοιπο AL AAD Adjust before division: Πριν τη διαίρεση του ΑΧ που έχει τα δυο ψηφία του διαιρετέου σε μη-συμπτυγμένη BCD μορφή στους κατ. AL, AH υπολογίζουμε το δυαδικό ισοδύναμο. Ο μηχανισμός της AAD είναι ο εξής: (AH*10 +AL) AL και 0 AH. Συνέχεια ακολουθεί κανονική διαίρεση.

49 ΕΝΤΟΛΗ INput IN συσσωρευτής, πόρτα Μεταφέρει δεδομένα από μια πόρτα I/O προς τον συσσωρευτή δηλαδή τον καταχωρητή AX αν η πόρτα είναι των 16 bits ή τον AL αν η πόρτα είναι των 8 bits. Η εντολή IN έχει δύο διαφορετικές μορφές ανάλογα με το τι είναι το όρισμα "πόρτα" της εντολής. Αν αυτό είναι αριθμός, τότε αυτή είναι η διεύθυνση της πόρτας απ' όπου θα διαβαστούν τα δεδομένα, οπότε έχουμε την εντολή IN με τη μορφή της σταθερής πόρτας (fixed port format). Το όρισμα "πόρτα" στην εντολή IN μπορεί να είναι ο καταχωρητής DX, ο οποίος περιέχει τη διεύθυνση της πόρτας - μορφή μεταβλητής πόρτας (variable port format) με τη διεύθυνση της πόρτας να καθορίζεται δυναμικά. Κατά την εκτέλεση της εντολής δεν επηρεάζεται καμιά σημαία. Παραδείγματα: IN AL,0C8H IN AX,34H IN AL,DX IN AX,DX Στις δύο πρώτες εντολές έχουμε την εντολή IN με τη μορφή της σταθερής πόρτας, ενώ στις δύο επόμενες με τη μορφή της μεταβλητής πόρτας.

50 ΕΝΤΟΛΗ OUTput OUT πόρτα, συσσωρευτής Μεταφέρει δεδομένα από τον συσσωρευτή προς μια πόρτα εξόδου. Ο συσσωρευτής είναι ο AX, αν πρόκειται για πόρτα των 16 bits, ή ο AL αν πρόκειται για πόρτα των 8 bits. Και εδώ, όπως συμβαίνει και με την εντολή IN, ανάλογα με το αν το όρισμα "πόρτα" είναι αριθμός ή ο καταχωρητής DX, έχουμε την εντολή OUT με τη μορφή της σταθερής και της μεταβλητής πόρτας. Κατά την εκτέλεση της εντολής δεν επηρεάζεται καμιά σημαία. Παραδείγματα: OUT 0C8H,AL OUT 34H,AX OUT DX,AL OUT DX,AX Στις δύο πρώτες εντολές έχουμε την εντολή OUT με τη μορφή της σταθερής πόρτας, ενώ στις δύο επόμενες με τη μορφή της μεταβλητής πόρτας.

51 Εντολές Ολίσθησης & Περιστροφής Ολίσθηση (αριθμητική) SAL AX, 1 SHR BX, CL SAL d, 1 ή cl ΑΡΙΣΤΕΡΑ Mε κρατούμενο SAR d, 1 ή cl ΔΕΞΙΑ Με κρατούμενο SHL d, 1 ή cl ΑΡΙΣΤ. Με κρατούμενο ίδια με την SAL SHR d, 1 ή cl ΔΕΞΙΑ Με κρατούμενο και sign ext. Περιστροφή RCL AX, 1 ROR BX, CL RCL d, 1 ή cl ΑΡΙΣΤΕΡΑ Mε κρατούμενο RCR d, 1 ή cl ΔΕΞΙΑ Με κρατούμενο ROL d, 1 ή cl ΑΡΙΣΤΕΡΑ Χωρίς κρατούμενο ROR d, 1 ή cl ΔΕΞΙΑ Χωρίς κρατούμενο

52 Εντολές Σειράς Δεδομένων (String) DF=1 SI=SI-1 ή -2 Source Index SI SI=SI+1 ή +2 DF=0 DS Φόρτωση LODSB LODSW LODS Address SI AL ή AX Μετακίνηση MOVSB MOVSW Αποθήκευση STOSB STOSW STOS PTR WORD ή BYTE Address DI MOVS Address1 Address2 DI SI ES DF=1 DI=DI+1 ή +2 Destination Index DI DI=DI+1 ή +2 DF=0 DF=1 Source Index SI DS Σύγκριση CMPSB CMPSW AL ή AX Σύγκριση SCASB SCASW ES DF=1 Destination Index DI DF=0 flags flags DF=0

53 Προθέματα Επανάληψης REP:Η εντολή string που ακολουθεί επαναλαμβάνεται CX φορές. Ο CX ελαττώνεται σε κάθε βήμα μέχρι να μηδενιστεί. REPNZ (REPNE) H εντολή επαναλαμβάνεται μέχρι CX=0 ή όσο ZF=0 (δηλαδή επαναλαμβάνεται όσο δεν είναι ίσα τα συγκρινόμενα ή μηδέν το αποτέλεσμα). REPZ (REPE) Η εντολή επαναλαμβάνεται μέχρι CX=0 ή όσο ZF=1 (δηλαδή επαναλαμβάνεται όσο είναι ίσα τα συγκρινόμενα ή μηδέν το αποτέλεσμα). ; Το πρόγραμμα μετακινεί πίνακα 200 λέξεων από ; τη διεύθυνση DS:500 στη θέση ES:1000 MOV AX, DS MOV ES, AX ; ES DS CLD ; Μηδενισμός της σημαίας DF=0 MOV SI, 500 MOV DI, 1000 MOV CX, 200 REP MOVSW

54 Εντολές Άλματος Άλμα χωρίς συνθήκη : JMP Διεύθυνση (16 bit) Η Διεύθυνση είναι σχετική και δίνεται σε μορφή συμπληρώματος ως προς 2. Έχει μέγιστη απόσταση άλματος έως Εντολές Άλματος υπό συνθήκη: Όμοια η Διεύθυνση είναι σχετική. Επιτρέπουν μέγιστη απόσταση άλματος -126 έως +128 (8 bit) Για προσημασμένους JG(JNLE) Άλμα για μεγαλύτερο (Greater/Not Less Equal) JGE(JNL) Άλμα για μεγαλύτερο ή ίσο (Greater OR Equal/Not Less) JL(JNGE) Άλμα για μικρότερο (Less/Not Greater Not Equal) JLE(JNG) Άλμα για μικρότερο ή ίσο (Less or Equal/Not Greater) JO/JNO Άλμα για υπερχείλιση/μη υπερχείλιση(overflow/not Overflow) JS/ JNS Άλμα για αρνητικό/θετικό (Sign/Not Sign)

55 Εντολές Άλματος Εντολές Άλματος υπό συνθήκη Για μη προσημασμένους JA(JNBE) Άλμα μεγαλύτερο (Above/Not Below nor Equal) JAE(JNB) Άλμα για μεγαλύτερο ή ίσο (Above or Equal/Not Below) JB(JNAE) Άλμα για μικρότερο (Below/Not Above nor Equal) JBE(JNA) Άλμα για μικρότερο ή ίσο (Below or Equal/Not Above) Για προσημασμένους και μη προσημασμένους JC/ JNC Άλμα για κρατούμενο (Carry/ No Carry) JE(JZ)/JNE(JNZ) Άλμα για ίσο/άνισο (Equal/Not Equal) JP(JPE)/ JNP(JPO) Άλμα για άρτια/περιττή ισοτιμία (Parity Even/Odd) JCXZ Άλμα αν CX=0

56 Εντολές Άλματος ADDR1: JNZ ADDR1... ; Η απόσταση άλματος δεν μπορεί να είναι μεγαλύτερη ; από +, -128 bytes Για να το επιτύχουμε θα χρησιμοποιήσουμε εντολή υπό συνθήκη σε συνδυασμό με την εντολή JMP ως εξής: JZ JMP CONTINUE:... ADDR1: CONTINUE ADDR1 ; Απόσταση μεγαλύτερη από 128 bytes

57 Εντολές Βρόχου Εντολή LOOP, που μπορεί να χρησιμοποιηθεί και υπό συνθήκη με τη μορφή LOOPZ, LOOPNZ εκτελεί τόσες φορές διακλάδωση δηλ. το βρόχο όσες δείχνει ο καταχωρητής CX Πχ. ο υπολογισμός της δύναμη 3 5 μπορεί να γίνει ως εξής: MOV CX,5 ; Αριθμός επανάληψης MOV AX,1 MOV BL,3 AGAIN: MUL BL ; 3 5 =243 χωράει στον AL LOOP AGAIN ; Εκτελεί 5 φορές διακλάδωση (CX=5) HLT ; Κάθε φορά ελαττώνει τον καταχωρητή CX κατά 1

58 Εντολές CALL CALL near IP old [SP-1:SP-2] CALL offset SP SP-2 CALL [DI] IP new [DI+1:DI] CALL far CS old [SP-1:SP-2] IP old [SP-3:SP-4] SP SP-4 CALL far CALL ADDR.DW CALL DWORD PTR[DI] CS new [DI+3:DI+2] IP new [DI+1:DI]

59 Εντολές RETURN RET near IP [SP+1:SP] SP SP+2 RET far IP [SP+1:SP] CS [SP+3:SP+2] SP SP+4

60 Εντολές Κλήσης και Επιστροφής Ρουτινών CALL NEAR routine SS:[SP-1:SP-2] IP old SP SP-2 IP new routine address CS Êýñéï Ðñüãñáì ì á Ñï õôßí á CS Í Ýï IP Í Ýï IP CALL routine RET CALL FAR routine SS:[SP-1:SP-2] CS old CS new routine code-segment SS:[SP-3:SP-4] IP old SP SP-4 IP new routine address RET IP CS SS (Ôì Þì á Óù ñï ý) SP' SP CALL routine

61 Εντολές Λογισμικών Διακοπών INT n και IRET 0000 IP Í Ýï CS Í Ýï 4n 4n+ 2 Ðßí áêáò Äéáí õóì Üôù í Äéáêï ð Þò CS 03FF IP Êýñéï Ðñüãñáì ì á INT n Ñï õôßí á Åî õð çñýôçóçò CS Í Ýï IP Í Ýï IRET IRET IP CS PSW SS (Ôì Þì á Óù ñï ý) SP' INT n SP

62 ΔΙΑΚΟΠΕΣ ΥΛΙΚΟΥ DATA BUS Μικροεπεξεργαστής 8086 INT INTA Διάνυσμα Συσκευής ΕΞΩΤΕΡΙΚΗ ΠΕΡΙΦΕΡΕΙΑΚΗ ΣΥΣΚΕΥΗ

63 Πίνακας Διακοπών FFFFF FFFF0 003FF Πρόγραμμα Εκκίνησης RESET... Πίνακας Διανυσμάτων Διακοπών 256 Διανύσματα Διακοπών 03FF 03FC C Διάνυσμα Διάνυσμα Διάνυσμα 4 Διάνυσμα 3 Διάνυσμα 2 Διάνυσμα 1 Διάνυσμα 0 Υπερχείληση - INTO Εντολή ΙΝΤ ενός byte Μη παρεμποδιζόμενη διακοπή - ΝΜΙ Βηματική εκτέλεση Διαίρεση με το μηδέν Ο πίνακας δείχνει τα διανύσματα διακοπής, καθώς και πώς από αυτά οδηγούμαστε στη ρουτίνα εξυπηρέτησης της διακοπής

64 Εντολές Ελέγχου Μηχανής STC CF 1 CLC CF 0 STD DF 1 CLD DF 0 STI IF 1 CLI IF 0 CMC CF CF HLT Halt NOP No Operation

65 Παραδείγματα Προγραμματισμού του με 8086/88 1. Έλεγχος Δεκαεξαδικών Χαρακτήρων 2. Υπολογισμός απόλυτης τιμής και 1/Ν 3. Υπολογισμός της ποσότητας Ν! 4. Πλήθος εμφάνισης byte 3EH 5. Πλήθος θέσεων που διαφέρουν δυο περιοχές μήκους 100 bytes

66 Παράδειγμα 1 ο : Έλεγχος Δεκαεξαδικών Χαρακτήρων CMP AL, 30H ; Αν AL μικρότερο από 30Η JL ERROR ; διακλάδωση στη διεύθυνση ERROR CMP AL, 39H ; Αν AL μικρότερο ή ίσο τότε JLE HEX CMP AL, 41H ; χαρακτήρες Α ως F JL ERROR CMP AL, 46H JLE HEX CMP AL, 61H ; χαρακτήρες a ως f JL ERROR CMP AL, 66H JG ERROR ; Αν AL μεγαλύτερο από 61Η τότε ERROR HEX: STC ; αλλιώς HEX και CF=1 RET ERROR:CLC ; Αν δεν είναι HEX τότε CF=0 RET

67 Παράδειγμα 2ο : Υπολογισμός απόλυτης τιμής και 1/Ν ; Υπολογισμός της απόλυτης τιμής του περιεχομένου του DX CMP DX,0 JGE ADDR1 ; αν είναι θετικός ή μηδέν, τερμάτισε NEG DX ; αλλιώς αντιστροφή ADDR1: HLT ; Υπολογισμός της ποσότητας 1/Ν με προσέγγιση 2 δεκαδικών κλασματικών ψηφίων: 1/N=0.XYZW => 100/Ν=XY.ZW όπου X, Y δεκαδικοί αριθμοί. Συνεπώς από το ακέραιο μέρος του [100/Ν]=XY MOV AX, 100 ; Θεωρείται ότι ο αριθμός Ν είναι στον καταχωρητή BL DIV BL ; Εδώ προκύπτει ο αριθμός ΧΥ (σε δυαδική μορφή) στον καταχωρητή AL MOV AH, 0 MOV BL, 10 ; Μετατροπή σε δεκαδική μορφή. DIV BL ; Πηλίκο στον καταχωρητή AL (=Χ) και υπόλοιπο στον AH (=Υ) HLT ; 1ο δεκαδικό ψηφίο (Χ) στον καταχωρητή AL και το 2ο (Υ) στον AH

68 Παράδειγμα 3ο : Υπολογισμός της ποσότητας Ν! ADDR1: MOV CL, NCON MOV AL,1 ; αρχικές τιμές MOV DX,1 MUL DL ; AX ALxDL INC DL CMP DL, CL ; Επανέλαβε μέχρι και JLE ADDR1 ; DL = N, AX = N! HLT Ή εναλλακτικά MOV CL, NCON MOV AL,1 ; αρχικές τιμές ADDR1: MUL CL ; AX ALxCL LOOP ADDR1 ; Επανέλαβε μέχρι CL=0 HLT

69 Παράδειγμα 4ο : Πλήθος εμφάνισης byte 3EH ; Πόσες φορές εμφανίζεται το byte 3EH; MOV DX,0 MOV AL,3EH CLD MOV DI,300H ; Αρχικοποιήσεις MOV CX,101 ; Ο μετρητής τίθεται κατά μια τιμή μεγαλύτερος ADDR1: REPNE SCASB ; Όσο ο AL δεν είναι ίσος με 3EH συνεχίζεται INC DX ; η σύγκριση, αν βρει ένα ενημερώνει το μετρητή CMP CX,0 JNE ADDR1 DEC DX ; Εξουδετερώνεται η ανεπιθύμητη αύξηση του DX HLT

70 Παράδειγμα 5ο : Πλήθος θέσεων που διαφέρουν δυο περιοχές μήκους 100 bytes ; Σε πόσα byte διαφέρουν δύο περιοχές μήκους 100 bytes MOV DX, 0 ; Αρχικοποιήσεις CLD MOV DI, 200Η MOV SI, 300H MOV CX, 101 ADDR1: REPE CMPSB ; Όσο δεν βρίσκει ίσα byte συνεχίζει INC DX ; Αν βρει ένα ζευγάρι ενημερώνει το μετρητή CMP CX, 0 JNZ ADDR1 DEC DX ; Εξουδετερώνεται η ανεπιθύμητη αύξηση του DX HLT

71 ΠΑΡΑΔΕΙΓΜΑ ΧΡΗΣΗΣ ΤΩΝ ΕΝΤΟΛΩΝ ΤΟΥ 8086 Να μετρηθεί ο αριθμός των κιβωτίων που διερχόμενα διακόπτουν φωτεινή δέσμη που ενεργοποιεί φωτοκύτταρο. Η έξοδος του φωτοκυττάρου οδηγείται στο bit 7 της πόρτας D6H. Το δεκαδικό αποτέλεσμα πρέπει να απεικονιστεί σε δύο 7- segments που είναι συνδεδεμένα στην πόρτα D4H (με αποκωδικοποιητή BCD 7-segment). μυ 8086 IN7 OUTPUT Port D4H INPUT Port D6H Είσοδος κιβωτίου Έξοδος κιβωτίου Έξοδος Φωτοκυττάρου

72 ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΜΕΤΡΗΤΗΣ ΚΙΒΩΤΙΩΝ» ΑΡΧΗ ΑΡΧΙΚΟΠΟΙΗΣΗ COUNTER = 0 ΕΞΟΔΟΣ OUTPUT COUNTER ΕΙΣΟΔΟΣ ΟΧΙ IN7 = 0? ΝΑΙ ΟΧΙ IN7 = 1 ΝΑΙ ΠΡΟΣΘΕΣΕ 1 ΕΠΕΞΕΡΓΑΣΙΑ ΔΙΟΡΘΩΣΕ ΓΙΑ ΔΕΚΑΔΙΚΗ ΜΕΤΡΗΣΗ- ΑΠΕΙΚΟΝΙΣΗ

73 Ο ΚΩΔΙΚΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΜΕΤΡΗΤΗΣ ΚΙΒΩΤΙΩΝ» PROG SEGMENT ASSUME CS: PROG 0000 B0 0 COUNTER: MOV AL, 0 ; Μετρητής = A D8 CYCLE: MOV BL, AL ; BL Μετρητής 0004 E6 D4 OUT 0D4H, AL ; Εμφάνιση Μετρητή 0006 E4 D6 READ1: IN AL, 0D6H ; Ανάγνωση 0008 A8 80 TEST AL, 80H ; Έλεγχος bit 7 000A 75 FA JNZ READ1 ; Αναμονή μέχρι LOW 000C E4 D6 READ2: IN AL, 0D6H ; Ανάγνωση 000E A8 80 TEST AL, 80H ; Έλεγχος bit FA JZ READ2 ; Αναμονή μέχρι HIGH 0012 BA C3 MOV AL, BL ; AL Μετρητής 0014 FE C0 INC AL ; AL AL DAA ; Δεκαδικός 0017 EB E9 JMP CYCLE ; Επανάληψη 0019 PROG ENDS FA = -6 ( CH = -6), E9 = -23 ( H = -17 H = -23 )

74 Μικροεπεξεργαστές 80x86 και Pentium Επεξεργαστές Intel -ημερομηνία παραγωγής MIPs Συχνότητα - Aριθμός Τρανζίστορ Μήκος Bit Καταχωρητών Διάδρομος Δεδομένων - Διευθύνσεων Caches in CPU Package Intel MHz - 29 K GP: MB - Intel MHz K GP: MB - Intel 386DX MHz K GP: GB - Intel486DX MHz M GP: 32 FPU: GB L1: 8KB Pentium MHz M GP: 32 FPU: GB L1: 16KB PentiumPro MHz M GP: 32 FPU: GB L1: 16KB L2: KB Pentium II, III, MHz 1.5GHz 7M 40M GP: 32 FPU: 80 MMX: GB L1: 32KB L2: 512KB Intel Xeon MP GHz - 108M GP: 32 FPU: 80 MMX: 64 XMM: GB L1: 32KB L2: 1 MB Pentium 4-3 GHz - 55M GP: 32 FPU: 80 MMX: 64 XMM: GB L1: 64KB L2: 1 MB

75 Γενιές Μικροεπεξεργαστών 80x86 1 η Γενιά: Σε αυτήν μπορούμε να κατατάξουμε τους αρχικούς, με Διάδρομο Δεδομένων 8 bit, με της Intel 8008, 8080, Αυτοί παρέχουν Διάδρομο Διευθύνσεων 16 bit και χώρο πρόσβασης στη μνήμη 64Kbyte. 2 η Γενιά: Εδώ έχουμε τον 1 ο 16 bit με της Intel που αποτέλεσε επέκταση των προηγούμενων 8 bit με με μια σχετική συμβατότητα στο λογισμικό. Διαθέτει 16 bit Διάδρομο Δεδομένων και 20 bit Διάδρομο Διευθύνσεων με χώρο πρόσβασης στη μνήμη 1 Μbyte. Αποτέλεσε τη βάση των επεξεργαστών για τους προσωπικούς υπολογιστές. Ο με 8086 (για την ακρίβεια μια μικρότερη έκδοσή του, ο με 8088) δημιουργήθηκε αποκλειστικά για τον IBM PC (και στη συνέχεια χρησιμοποιήθηκε στον IBM XT). Όλοι οι επόμενοι επεξεργαστές 80x86, έχουν συμβατότητα στο επίπεδο της γλώσσας μηχανής, περιλαμβάνοντας σε κάθε επόμενη γενιά πρόσθετες εντολές. Ο λόγος ήταν για να μπορούν να «τρέχουν» την τεράστια ποσότητα λογισμικού, εμπορικών και επιστημονικών εφαρμογών που είχε δημιουργηθεί. Ακόμα και στους σημερινούς επεξεργαστές αρκετές από τις εφαρμογές αυτές συνεχίζουν να λειτουργούν. Μια βελτιωμένη αρχιτεκτονική έκδοση, ο με παρουσιάστηκε το 1982 και χρησιμοποιήθηκε στην επόμενη μορφή των προσωπικών υπολογιστών στον IBM AT.

76 Γενιές Μικροεπεξεργαστών 80x86 3 η Γενιά: Το 1985 η Intel εισήγαγε τον 1 ο 32-bit μικροεπεξεργαστή της, τον 80386DX. Η συσκευή αυτή ήταν συμβατή με τους 8086/8088/80286 με εξαιρετικές επιδόσεις και δυνατότητα χειρισμού δεδομένων στα 32, 16, 8-bit. Διαθέτει 32 bit Διάδρομο Δεδομένων και Διευθύνσεων με χώρο πρόσβασης μνήμης 4 Gbyte. 4 η Γενιά: Το 1989 η Intel εισήγαγε τον 80486DX που είναι βασικά μια βελτιωμένη αρχιτεκτονική του 80386DX και περιλαμβάνει μια κρυφή (cache) μνήμη και ένα μαθηματικό συνεπεξεργαστή ενσωματωμένο στο ίδιο chip. Επιπλέον είναι βελτιωμένος από πλευράς ταχύτητας κατά 50% σε σχέση με τον 80386DX. 5 η Γενιά: Ο Pentium είναι ένας υπερβαθμωτός επεξεργαστής με 64 bit Διάδρομο Δεδομένων και 32 bit Διάδρομο Διευθύνσεων. Η επίδοσή του είναι σχεδόν διπλάσια από τον ισοδύναμο Οι πράξεις κινητής υποδιαστολής εκτελούνται περίπου 3 φορές ταχύτερα και είναι απολύτως συμβατός στο λογισμικό με τις προηγούμενες εκδόσεις με 80x86. 6 η Γενιά: Οι Pentium II/III και ο Pentium Pro είναι αναβαθμίσεις του Pentium και διαθέτουν διάδρομο που επιτρέπει την σύνδεση μέχρι τεσσάρων επεξεργαστών χωρίς πρόσθετη λογική. Επιπλέον ανιχνεύει και διορθώνει όλα τα σφάλματα 1-bit και ανιχνεύει όλα τα σφάλματα πολλών-bit του διαδρόμου.

77 Η εσωτερική αρχιτεκτονική του μe Pentium Front End Control DP Logic Branch Target Buffer Prefetch Address TLB Code Cache 8Kbytes L1 Instruction Cache 64-bit data bus 32-bit address bus Control Data Control Bus Unit APIC 64-bit data bus Page Unit 32-bit address bus Instruction Pointer Prefetch Buffers Instruction Decode Instruction Decode Address Generate (U-pipe) Address Generate (V-pipe) Integer Register File ALU (U pipe) Barrel Shifter 256 ALU (V pipe) Control ROM Floating Point Unit Control Register File Add FPU Instruction Fetch Decode Floating- Point Unit Execution Core Control Unit V Pipe Integer Unit U Pipe BU Branch Unit Data Cache 8Kbytes TLB Divide Multiply 80 Write

78 Η σωλήνωση του Pentium Η βασική σωλήνωση ακέραιων αριθμών του Pentium αποτελείται από πέντε χρονικά στάδια, που χωρίζονται ως εξής: 1. Προανάκληση/Ανάκληση (Prefetch/Fetch): Οι εντολές προσκομίζονται από την κρυφή μνήμη εντολών και κατευθύνονται στους απομονωτές προανάκλησης για την αποκωδικοποίηση. 2. Αποκωδικοποίηση 1 (Decode1): Οι εντολές αποκωδικοποιούνται στην εσωτερική μορφή εντολής του Pentium. Η πρόβλεψη διακλάδωσης πραγματοποιείται επίσης σε αυτή τη φάση. 3. Αποκωδικοποίηση 2 (Decode2): Όπως ανωτέρω, ο μικροκώδικας ROM ανακαλείται εδώ, εάν είναι απαραίτητο. Επίσης, οι υπολογισμοί διευθύνσεων πραγματοποιούνται σε αυτή τη φάση. 4. Εκτέλεση: Το υλικό ακέραιων αριθμών εκτελεί την εντολή. 5. Εγγραφή-Πίσω: Τα αποτελέσματα του υπολογισμού γράφονται πίσω στο αρχείο καταχωρητών.

79 Αρχιτεκτονική του με Pentium Pro Execution Core Front End L1 Instruction Cache Instruction Fetch Translate x86/ Decode Re-order Buffer (ROB) BU Branch Unit 1. Αποσύζευξη του εμπρός μέρους από το πίσω τμήμα 2. Ο σταθμός κράτησης (RS - reservation station) 3. Απομονωτή επαναδιάταξης (ROB - reorder buffer) 4. Το παράθυρο εντολών 5. Μετονομασία καταχωρητών Reservation Station (RS) Port 1 Port 0 Port 0 Port 2 Port 3 Port 4 Store Data Store Address Memory Unit Load Address FPU Floating- Point Unit V Pipe U Pipe Integer Unit Re-order Buffer (ROB) Write Completion Unit

80 Αποσύζευξη του εμπρός μέρους από το πίσω τμήμα Στο Pentium και στους προηγούμενους από αυτόν επεξεργαστές, οι εντολές ταξιδεύουν άμεσα από το υλικό αποκωδικοποίησης στο υλικό εκτέλεσης. Όπως σημειώνεται ανωτέρω, ο Pentium έχει μερικούς καλωδιωμένους κανόνες για το ποιες εντολές σε ποιες μονάδες εκτέλεσης μπορούν να πάνε και σε ποιους συνδυασμούς, έτσι μόλις αποκωδικοποιηθούν οι εντολές ανατίθενται στην κατάλληλη μονάδα εκτέλεσης. Αυτό αναλαμβάνει η "μονάδα ελέγχου" στο διάγραμμα του Pentium που είναι αρμόδια για την εφαρμογή και την εκτέλεση των κανόνων που αποφασίζουν ποιες εντολές πηγαίνουν που, και με ποιους συνδυασμούς. Αυτή η στατική, βασισμένη σε κανόνα προσέγγιση είναι άκαμπτη και απλοϊκή, και έχει δύο σημαντικά μειονεκτήματα, και τα δύο που προέρχονται από το γεγονός ότι αν και η ροή κώδικα είναι εγγενώς ακολουθιακή, ο υπερβαθμωτός επεξεργαστής προσπαθεί να εκτελέσει τμήματά του παράλληλα: 1. Προσαρμόζεται φτωχά στη δυναμική και συνεχώς μεταβαλλόμενη ροή κώδικα, και 2.Κάνει κακή χρήση του πολλαπλού υπερβαθμωτού υλικού.

81 Ο σταθμός κράτησης Η λύση στο ανωτέρω πρόβλημα είναι να τοποθετηθούν οι πρόσφατα αποκωδικοποιημένες εντολές σε έναν απομονωτή, και να διανεμηθούν έπειτα στον πυρήνα εκτέλεσης όποτε είναι έτοιμες να εκτελεσθούν, ακόμα κι αν αυτό σημαίνει ότι εκτελούνται όχι παράλληλα αλλά σε αντίστροφη σειρά. Αυτός ο τρόπος, το τρέχον πλαίσιο στο οποίο μια ιδιαίτερη εντολή βρίσκεται, μπορεί να ασκήσει πολύ μεγαλύτερη επίδρασης στο χρόνο και στον τρόπο με τον οποίο εκτελείται. Με την αντικατάσταση της μονάδας ελέγχου από έναν απομονωτή, ο πυρήνας του P6 αντικαθιστά τους σταθερούς κανόνες με την ευελιξία. Υπάρχουν διάφοροι παράγοντες που μπορεί να αποτρέψουν μια εντολή από την εκτέλεση της εκτός-σειράς με αυτόν τον τρόπο; η εντολή μπορεί να εξαρτάται, για την εισαγωγή της, από τα αποτελέσματα μιας άλλης εντολής που δεν έχει εκτελεστεί ακόμα, ή μπορεί να περιμένει δεδομένα που φορτώνονται από τη μνήμη, ή μια μονάδα εκτέλεσης που είναι απασχολημένη να διατεθεί, ή οποιοδήποτε άλλη συνθήκη που πρέπει να ικανοποιηθεί προτού η αποκωδικοποιημένη εντολή να είναι έτοιμη να αποσταλεί στην κατάλληλη μονάδα εκτέλεσης. Η P6 αρχιτεκτονική τροφοδοτεί κάθε αποκωδικοποιημένη εντολή μέσα σε έναν απομονωτή αποκαλούμενο σταθμό κράτησης (RS - reservation station), όπου περιμένει έως ότου πληρωθούν οι όλες της απαιτήσεις εκτέλεσης. Μόλις είναι έτοιμη, η εντολή κινείται από το σταθμό κράτησης στην κατάλληλη μονάδα εκτέλεσης. Μια ματιά στο P6 διάγραμμα πυρήνων θα δείξει ότι μέχρι τρεις εντολές ανά κύκλο μπορούν να μετακινηθούν από τους αποκωδικοποιητές στο σταθμό κράτησης. Και όπως θα δούμε κατωτέρω, μέχρι πέντε εντολές ανά κύκλο μπορούν να μετακινηθούν από το σταθμό κράτησης στις μονάδες εκτέλεσης. Κατά συνέπεια ο αρχικό υπερβαθμωτός σχεδιασμός του Pentium, στο οποίο δύο εντολές ανά κύκλο θα μπορούσαν να μετακινηθούν από τους αποκωδικοποιητές στον πυρήνα εκτέλεσης, έχει αντικατασταθεί με ένα απομονωτή στο οποίο μπορούν να εισέρχονται τρεις εντολές και να εξέρχονται από αυτόν τέσσερις εντολές σε κάθε κύκλο. Αυτή η λειτουργία της απομόνωσης, που επιτρέπει την αποσύζευξη του μπροστινού μέρους (που αποκωδικοποιεί) και του πίσω τμήματος (που τις εκτελεί), είναι η καρδιά των κερδών στην επίδοση των επεξεργαστών P6.

82 Απομονωτής επαναδιάταξης Στο διάγραμμα του P6 (Σχ. 7.23) μπορούμε να παρατηρήσουμε ότι αφότου αποκωδικοποιούνται οι εντολές, πρέπει να ταξιδέψουν μέσω του απομονωτή επαναδιάταξης (ROB - reorder buffer) πριν φτάσουν στο σταθμό κράτησης. Ο ROB είναι όπως ένα μεγάλο ημερολόγιο στο οποίο ο P6 μπορεί να καταγράψει όλες τις ουσιαστικές πληροφορίες για κάθε εντολή που εισάγει στον πυρήνα εκτέλεσης. Η αρχική λειτουργία ROB είναι να εξασφαλίσει ότι οι εντολές βγαίνουν στο τέλος του πυρήνα εκτός-σειράς εκτέλεσης στην ίδια σειρά που μπήκαν. Η εργασία του σταθμού κράτησης είναι να εκτελούνται οι εντολές στη βέλτιστη σειρά, ακόμα κι αν αυτή σημαίνει ανάποδη εκτέλεση από τη σειρά του προγράμματος, και η εργασία του απομονωτή επαναδιάταξης είναι να εξασφαλίσει ότι οι τελειωμένες εντολές παίρνουν ξαναμπαίνουν στη αρχική σειρά του προγράμματος και ότι τα αποτελέσματά τους γράφονται στις σωστές θέσεις στο αρχιτεκτονικό αρχείο καταχωρητών. Για αυτόν τον λόγο, ο ROB αποθηκεύει τα δεδομένα για τη θέση κάθε εντολής, τα ορίσματα, τις ανάγκες σε καταχωρητές, την αρχική θέση στο πρόγραμμα, κ.λπ.

83 Το παράθυρο εντολών Για να διευκολύνουμε την κατανόηση της λειτουργίας του συνδυασμού RS + ROB στο P6, ή ανάλογων δομών και σε άλλους επεξεργαστές, εισάγουμε την έννοια του παραθύρου εντολής. Ο ROB στο P6 μπορεί να ακολουθήσει μέχρι 40 εντολές στα διάφορα στάδια της εκτέλεσης, και ο σταθμός κράτησης του μπορεί να φυλάει και να εξετάζει μέχρι 20 εντολές για να καθορίσει το βέλτιστο χρόνο για να εκτελεστούν. Ο απομονωτή 20-εντολών του σταθμού κράτησης μπορεί να θεωρηθεί ως ένα παράθυρο που κινείται κατά μήκος της ακολουθιακά διαταγμένης ροής κώδικα. Σε οποιοδήποτε δεδομένο κύκλο, ο P6 εξετάζει μέσω αυτού του παραθύρου το ορατό τμήμα του κώδικα και το μοιράζει στο υλικό έτσι ώστε αυτό να εκτελέσει τις 20 εντολές βέλτιστα. Το P6's ευρύτερο παράθυρο εντολής επιτρέπει στον επεξεργαστή για να κοιτάζει πιο μπροστά στη ροή κώδικα και να τοποθετεί σε κάθε παλμό ρολογιού βέλτιστα τουλάχιστον τρεις εντολές με τρόπο που να κάνει την καλύτερη χρήση των διαθέσιμων πόρων.

84 Μετονομασία καταχωρητών Μια λειτουργία του ROB στους επεξεργαστές P6 είναι η μετονομασία καταχωρητών. Η μετονομασία καταχωρητών κάνει για τη ροή δεδομένων ότι το παράθυρο εντολής κάνει για τη ροή κώδικα. Επιτρέπει στον επεξεργαστή κάποια ευελιξία στην προσαρμογή των πόρων του να ανταποκριθεί στις ανάγκες του τρέχοντος προγράμματος (που εκτελείται εκείνη τη στιγμή). Το σύνολο εντολών x86 αξιοποιεί μόνο οκτώ γενικής χρήσης καταχωρητές (GPRs) και οκτώ καταχωρητές κινητής υποδιαστολής (FPRs), έναν ασήμαντο αριθμό σε σχέση με τα σημερινά δεδομένα (π.χ. το PowerPC διαθέτει 32 καταχωρητές). Η μετονομασία καταχωρητών επιτρέπει σε έναν επεξεργαστή να έχει έναν μεγαλύτερο αριθμό πραγματικών καταχωρητών από αυτόν που είναι ορατοί μέσα από την Assembly. Με αυτόν τον τρόπο επιτρέπει να γίνονται περισσότεροι υπολογισμοί ταυτόχρονα χωρίς να προκαλείται έλλειψη καταχωρητών. Ενώ φαίνεται στο πρόγραμμα ότι χρησιμοποιεί μόνο οκτώ καταχωρητές, στην πραγματικότητα χρησιμοποιεί μέχρι 40, που είναι εντελώς αντίστοιχο με τη θεώρηση ότι το πρόγραμμα τρέχει ακολουθιακά ενώ οι εντολές εκτελούνται εκτός-σειράς. Κάθε μια από τις 40 καταχωρήσεις του ROB έχει έναν πεδίο δεδομένων, που φυλάσσει τα δεδομένα προγράμματος ακριβώς όπως ένας καταχωρητής x86. Αυτά τα πεδία δίνουν στο πυρήνα εκτέλεσης του P6 40 μικρο-αρχιτεκτονικούς καταχωρητές για αξιοποίηση και χρησιμοποιούνται σε συνδυασμό με το πίνακα κατανομής καταχωρητών (RAT- register allocation table) για να υλοποιήσουν την μετονομασία καταχωρητών στο πυρήνα του P6.

85 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΥΠΟΡΟΥΤΙΝΕΣ ΕΡΓΑΣΤΗΡΙΟ 6 Οι υπορουτίνες αποτελούν αυτόνομα τμήματα κώδικα που διεκπεραιώνουν μία συγκεκριμένη εργασία και μπορούμε να τα καλούμε

Διαβάστε περισσότερα

Στοιχεία από Assembly Γιώργος Μανής

Στοιχεία από Assembly Γιώργος Μανής Στοιχεία από Assembly 8086 Γιώργος Μανής Καταχωρητές καταχωρητές γενικής φύσης καταχωρητές δείκτες καταχωρητές αναφοράς καταχωρητές τµηµάτων ειδικοί καταχωρητές Καταχωρητές γενικής φύσης 16 bit ax, bx,

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 4: Το Προγραμματιστικό Μοντέλο του 8086

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 4: Το Προγραμματιστικό Μοντέλο του 8086 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Αρχιτεκτονική-Ι Ενότητα 4: Το Προγραμματιστικό Μοντέλο του 8086 Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Σημειώσεις για τον 80x86

Σημειώσεις για τον 80x86 Σημειώσεις για τον 80x86 Τι είναι η διεύθυνση; 16bits 0000h 0001h 0002h 8bits 20h 32h 30h Η μνήμη ενός μικροϋπολογιστικού συστήματος χωρίζεται σε μικρά τμήματα του ενός byte FFFEh 30h 2 16 =65,536 bytes

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 2: Καταχωρητές, HelloWorld σε 8086, emu8086 emulator Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

«ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

«ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ «ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 8085 ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ 8085 CPU ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΟΥ 8085 Ο ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ ΕΝΤΟΛΩΝ Η ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΟΙ «ΣΗΜΑΙΕΣ» FLAGS Η ΜΟΝΑΔΑ

Διαβάστε περισσότερα

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers)

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers) Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers) ΑΧ Εργασίες εισόδου / εξόδου, διορθώσεις δεκαδικών, πολλαπλασιασµοί, διαιρέσεις. BX είκτης για έµµεσο τρόπο προσδιορισµού διευθύνσεων µνήµης (indirect

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 5: Εντολές αλλαγής ροής. Διακλάδωση χωρίς συνθήκη. Διακλάδωση με συνθήκη. Δρ. Μηνάς Δασυγένης

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 2 Addressing

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 2 Addressing Προηγμένοι Μικροεπεξεργαστές Φροντιστήριο 2 Addressing Roadmap Το μοντέλο μνήμης των x86 Γιατί τόσο περίπλοκο; Δομή Εξέλιξη Μέθοδοι διευθυνσιοδότησης Εντολές προσπέλασης μνήμης Μοντέλο Μνήμης Πριν τους

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 3: Καταχωρητές, Τμήματα, Διευθυνσιοδότηση Μνήμης, SEGMENT, MOV, ADD, SUB, INT, TITLE, LEA

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΕΡΓΑΣΤΗΡΙΟ 3 ΤΕΙ ΣΕΡΡΩΝ Η ΠΡΑΞΗ ΤΗΣ ΑΦΑΙΡΕΣΗΣ Πράξη 1 1 0 1-0 1 1 0 1 1 1 0 1-0 1 1 0 1Δ 1 1 1 1 0 1 0 1 1 0 1Δ 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1

Διαβάστε περισσότερα

Συστήματα Μικροϋπολογιστών

Συστήματα Μικροϋπολογιστών Συστήματα Μικροϋπολογιστών Παραδείγματα προγραμματισμού του με Intel 8085 Υπεύθυνος Μαθήματος: K. ΠΕΚΜΕΣΤΖΗ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Αρχιτεκτονική-Ι Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Ευάγγελος Καρβούνης Παρασκευή, 15/01/2016 Τι είναι ομάδα εντολών;

Διαβάστε περισσότερα

Συστήματα Μικροϋπολογιστών

Συστήματα Μικροϋπολογιστών Συστήματα Μικροϋπολογιστών Ο Μικροεπεξεργαστής 8085 K. ΠΕΚΜΕΣΤΖΗ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 8: Ολισθήσεις Περιστροφές Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (Ι)

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι:

Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι: Ο ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗΣ 8086 Με την ανάπτυξη του µικροεπεξεργαστή 8086 της Intel, έχουµε (από το 1978) την εµφάνιση της γενιάς των υπολογιστών των 16-bit. Στις επόµενες παραγράφους θα εξεταστεί η δοµή του,

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης MSc Ηλεκτρονικός Φυσικός Αντικείμενο: ΠΡΟΦΙΛ ΜΑΘΗΜΑΤΟΣ Προγραμματισμός σε γλώσσα Assembly Σκοπός: Γνώση της assembly από τους απόφοιτους του τμήματος

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών CMP REG, memory memory, REG REG, REG memory, immediate REG, immediate Compare. operand1 - operand2 result is not stored anywhere, flags are set (OF,

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ 1. CS1=0100H, CS2=1100H, DS=2100H, SS=3100H. α) Να σχεδιαστεί ο χάρτης μνήμης με λογικές και φυσικές διευθύνσεις. β) Στη διεύθυνση CS1:0100H υπάρχει η εντολή: 9A IP IP CS

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

Διαβάστε περισσότερα

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών Στον debugger που χρησιμοποιούμε στο εργαστήριο, όταν γράφουμε δεκαεξαδικούς αριθμούς που το πιο σημαντικό ψηφίο τους είναι Α-F βάζουμε μπροστά από

Διαβάστε περισσότερα

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής Καταχωρητές & τμήματα μνήμης του 8086 Ματθές Δημήτριος Καθηγητής Πληροφορικής Καταχωρητές γενικού σκοπού Υπάρχουν τέσσερις (4) γενικού σκοπού καταχωρητές των 16-bit που χρησιμοποιούνται από τους προγραμματιστές

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 7: Αποκωδικοποίηση Εντολής x86 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος Προηγμένοι Μικροεπεξεργαστές Έλεγχος Ροής Προγράμματος Control Flow εντολές Jump related JMP Jcc (JZ, JNZ, JB, JNB etc) JCXZ, JECXZ LOOP LOOPE, LOOPNE Procedure related CALL RET INT IRET INTO ENTER LEAVE

Διαβάστε περισσότερα

Αριθμητικά Συστήματα

Αριθμητικά Συστήματα Αριθμητικά Συστήματα Οργάνωση Δεδομένων (1/2) Bits: Η μικρότερη αριθμητική μονάδα ενός υπολογιστικού συστήματος, η οποία δείχνει δύο καταστάσεις, 0 ή 1 (αληθές η ψευδές). Nibbles: Μονάδα 4 bit που παριστά

Διαβάστε περισσότερα

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Συστήματα Μικροϋπολογιστών

Συστήματα Μικροϋπολογιστών Συστήματα Μικροϋπολογιστών Είσοδος / Έξοδος Δεδομένων Υπεύθυνος Μαθήματος: K. ΠΕΚΜΕΣΤΖΗ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ Οι λογικές πράξεις που υποστηρίζει η Assembly του 8088 είναι : Πράξη AND Πράξη OR Πράξη NOT Πράξη XOR Με τις λογικές πράξεις μπορούμε

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 4: Πολλαπλασιασμός (MUL,IMUL). Διαίρεση (DIV,IDIV). Εμφάνιση αλφαριθμητικού. Εμφάνιση χαρακτήρα.

Διαβάστε περισσότερα

Αρχιτεκτονική-Ι Ενότητα 5:

Αρχιτεκτονική-Ι Ενότητα 5: ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Αρχιτεκτονική-Ι Ενότητα 5: H Γλώσσα ASSEMBLY Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 4 Real Mode Interrupts

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 4 Real Mode Interrupts Προηγμένοι Μικροεπεξεργαστές Φροντιστήριο 4 Real Mode Interrupts Επισκόπηση Μορφές control tranfer Γενικά μη προγραμματισμένες Ασυγχρονα προς την εκτέλεση του προγράμματος Hardware interrupts Σύγχρονα

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία

Διαβάστε περισσότερα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

Διαβάστε περισσότερα

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 Αρης Ευθυμίου Το σημερινό μάθημα! Λυση του lab02! Αρχιτεκτονική ARM σε τι μοιάζει και σε τι διαφέρει από τον MIPS! Αρχιτεκτονική x86 μια γρήγορη ματιά στη

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Intel x86 ISA. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Intel x86 ISA. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Intel x86 ISA Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ RISC vs. CISC Η assembly των επεξεργαστών ARM, SPARC (Sun), και Power (IBM) είναι όμοιες

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 4 - Editor Περιγραφή Υλοποίηση ενός υποτυπώδους editor που θα: Διαβάζει ένα προκαθορισμένο αρχείο Θα το απεικονίζει στην οθόνη Θα κάνει highlight με έναν ελεγχόμενο

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Multi Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 3 Έλεγχος Ροής Προγράμματος

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 3 Έλεγχος Ροής Προγράμματος Προηγμένοι Μικροεπεξεργαστές Φροντιστήριο 3 Έλεγχος Ροής Προγράμματος Επισκόπηση Εντολές Ελέγχου Ροής Υλοποίηση δομών ανώτερου επιπέδου με control flow εντολές Goto και If... then.. else While, do...while

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: inc, dec, loop, jcxz, dup, displacement Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 3 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΣΥΝΟΛΟΥ ΕΝΤΟΛΩΝ Αρχιτεκτονικές συσσωρευτή Αρχιτεκτονικές επέκτασης συσσωρευτή Αρχιτεκτονικές στοίβας Αρχιτεκτονικές

Διαβάστε περισσότερα

Πρόχειρες Σημειώσεις. Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Πρόχειρες Σημειώσεις. Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών Πρόχειρες Σημειώσεις Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών AND OR REG, memory memory, REG REG, REG memory, immediate REG, immediate REG, memory memory, REG REG, REG memory, immediate REG,

Διαβάστε περισσότερα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

Διαβάστε περισσότερα

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Πέρασμα Παραμέτρων σε Διαδικασίες. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας

Κεντρική Μονάδα Επεξεργασίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 1 Hello World

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 1 Hello World Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 1 Hello World Σκοπός του Εργαστηρίου Εκτύπωση του string Hello World στην οθόνη Με χρήση της video memory Και παράλληλα επιβεβαίωση ότι τα εργαλεία μας λειτουργούν

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το

Διαβάστε περισσότερα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ.   url: στους Ηλεκτρονικούς Υπολογιστές 5 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

MIPS functions and procedures

MIPS functions and procedures Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης MIPS functions and procedures Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: Σελίδα 1 από 12 Απαντήσεις στο φυλλάδιο 55 Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: (α) Κεντρική Μονάδα Επεξεργασίας. (β) Κύρια Μνήµη. (γ) Μονάδες εισόδου. (δ) Μονάδες εξόδου. (ε) Βοηθητική

Διαβάστε περισσότερα

0100: MAR ADR; wait;mdr DB; SCR L DH+MDR+CY

0100: MAR ADR; wait;mdr DB; SCR L DH+MDR+CY Άσκηση 1η: Αναφέρατε τα στάδια εκτέλεσης της εντολής ADC [6789], DH µε εντολές µικροπρογράµµατος περιγράφοντας και εξηγώντας αναλυτικά το κάθε στάδιο καθώς και τις τιµές ψηφιακών λέξεων που εµφανίζονται

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Τ.Ε.Ι. ΧΑΛΚΙΔΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Data Bus Microprocessor (CPU) Address Bus Memory Unit Control Bus I/O Units Clock (Timing Pulses) Θεόδωρος

Διαβάστε περισσότερα

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική

Διαβάστε περισσότερα

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει

Διαβάστε περισσότερα

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ ΣΗΜΜΥ, 5 Ο ΕΞΑΜΗΝΟ http://www.cslab.ece.ntua.gr/courses/comparch t / / h 1 ΑΡΙΘΜΟΙ Decimal Eύκολο για τον άνθρωπο Ιδιαίτερα για την εκτέλεση αριθμητικών

Διαβάστε περισσότερα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-ΙI. Ενότητα 5 : Αρχιτεκτονική ΙΑ-32

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-ΙI. Ενότητα 5 : Αρχιτεκτονική ΙΑ-32 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Αρχιτεκτονική-ΙI Ενότητα 5 : Αρχιτεκτονική ΙΑ-32 Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεματική Ενότητα Ακαδημαϊκό Έτος 2010 2011 Ημερομηνία Εξέτασης Κυριακή 26.6.2011 Ώρα Έναρξης Εξέτασης

Διαβάστε περισσότερα

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014

ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014 ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014 Καθηγητής:Νικολαΐδης Νικ. ΑΠΑΝΤΗΣΕΙΣ Ημ/νία εξέτασης:30-6-2014 ΘΕΜΑ 1 α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του

Διαβάστε περισσότερα

Chapter 3 Αριθμητική Υπολογιστών

Chapter 3 Αριθμητική Υπολογιστών Chapter 3 Αριθμητική Υπολογιστών Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του Τ.Ε.Ι. Κρήτης. Τελευταία

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Εργαστήριο

Αρχιτεκτονική Υπολογιστών Εργαστήριο Αρχιτεκτονική Υπολογιστών Εργαστήριο Ενότητα: ΠΑΡΑΔΕΙΓΜΑ ΑΠΟΣΦΑΛΜΑΤΩΣΗΣ Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

Διαβάστε περισσότερα

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ ΣΗΜΜΥ, 5 Ο ΕΞΑΜΗΝΟ http://www.cslab.ece.ntua.gr/courses/comparch 1 ΑΡΙΘΜΟΙ Decimal Eύκολο για τον άνθρωπο Ιδιαίτερα για την εκτέλεση αριθμητικών πράξεων

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ

ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ 1. Ποια είναι η σημασία ύπαρξης του σήματος ALE στον 8086; Δικαιολογήστε την απάντησή σας με το αντίστοιχο σχήμα. [1] Διαχωρίζει το Address από το Data Bus. D0-D15 AD0-AD15 ALE

Διαβάστε περισσότερα

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

Διαβάστε περισσότερα

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές ) http://di.ionio.gr/~mistral/tp/csintro/ Αριθμοί Πράξεις με δυαδικούς αριθμούς

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 11 : Δομή και Λειτουργία της CPU 1/2 Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Τελική Εξέταση, Απαντήσεις/Λύσεις

Τελική Εξέταση, Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Πράξεις με δυαδικούς αριθμούς

Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Πράξεις με δυαδικούς

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Ποια πρόταση είναι αληθής για τον Μ/Ε 8088: Είναι Μ/Ε 16bit, LSI, 40 pins, 20 γραμμές διευθύνσεων, 8 γραμμές δεδομένων

Ποια πρόταση είναι αληθής για τον Μ/Ε 8088: Είναι Μ/Ε 16bit, LSI, 40 pins, 20 γραμμές διευθύνσεων, 8 γραμμές δεδομένων Ποια πρόταση είναι αληθής για τον Μ/Ε 8088: Είναι Μ/Ε 16bit, LSI, 40 pins, 20 γραμμές διευθύνσεων, 8 γραμμές δεδομένων Ποια πρόταση είναι ΨΕΥΔΗΣ σχετικά με τον Μ/Ε 8088: Διαθέτει Data Bus των 16 bit για

Διαβάστε περισσότερα