Προχωρηµένα Θέµατα Αρχιτεκτονικής



Σχετικά έγγραφα
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

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

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

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

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

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

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

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

Εντολές γλώσσας μηχανής

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

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

LANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy

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

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

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

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 2. Εντολές : Η γλώσσα του υπολογιστή

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

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

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Κεφάλαιο 2. Σημείωση

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

Αρχιτεκτονικη υπολογιστων

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

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

Εισαγωγή στην πληροφορική -4

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

Εντολές του MIPS (2)

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

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

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

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

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

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

Θέµατα Φεβρουαρίου

MPSoCs για εφαρμογές Video

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

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

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

Ενσωματωμένα Συστήματα

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

Διάλεξη 12 Καθυστερήσεις (Stalls)

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 3: Προσπελάσεις Μνήμης στον MIPS. Μανόλης Γ.Η. Κατεβαίνης

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

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

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

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

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2.

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

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

2. Τεχνολογία επεξεργαστών

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

Υλοποίηση Mικροεπεξεργαστή MIPS -16

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

Τέτοιες λειτουργίες γίνονται διαμέσου του

Συστήματα σε Ολοκληρωμένα Κυκλώματα

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

Κεφάλαιο 2 Εντολές Η γλώσσα της Μηχανής (Instructions Language of the Computer)

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

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

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)

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

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

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

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

Data-Level Parallelism Linking & Loading

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1

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

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

Μικροαρχιτεκτονική του LC3

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

Ειδική Επιστημονική Εργασία. Σχεδίαση και υλοποίηση Θέσεως Εργασίας ενός Εργαστηρίου DSPs από Απόσταση για Λήψη και Επεξεργασία Εικόνας

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Παραλληλισμός σε επίπεδο εντολών

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

Αρχιτεκτονική Υπολογιστών. Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture)

Transcript:

Προχωρηµένα Θέµατα Αρχιτεκτονικής Μάθηµα 2 ο : Instruction Set Principles and Examples Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 1

Σχεδιασµός Συνόλου Εντολών Θέµατα που θα συζητηθούν ιαφορετικές επιλογές που υπάρχουν για το σχεδιασµό συνόλου εντολών Ποσοτικά υπέρ και κατά κάθε επιλογής Σύνολο εντολών για DSP αρχιτεκτονικές Επιρροή της γλώσσας προγραµµατισµού και compiler στο σύνολο εντολών Παραδείγµατα αρχιτεκτονικών (MIPS, TM32) Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 2

Κατηγοριοποίηση συνόλου Εντολών (1) Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 3

Κατηγοριοποίηση συνόλου Εντολών (2) Κατηγορίες Υπολογιστών Memory-Memory (Έχει καταργηθεί) Register-Memory Register-Register (ή Load-store) Γιατί General-Purpose Resister Processors Register ταχύτεροι από κύρια µνήµη Πιο αποδοτικοί για έναν compiler (Pipeline) π.χ.: (A*B)-(B*C)-(A*D) Χρειάζονται λιγότερα bits για operand Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 4

Κατηγοριοποίηση συνόλου Εντολών (3) Ερώτηση: Πόσοι registers αρκούν; Απάντηση:Ανάλογα µε τη χρήση τους από τον compiler. Τρόποι κατηγοριοποίησης των GPR Processors 2 ή 3 operands ανά εντολή Πόσα από τα operands µπορούν να είναι διευθύνσεις µνήµης στην εντολή. Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 5

Κατηγοριοποίηση συνόλου Εντολών (4) Πλεονεκτήµατα Μειονεκτήµατα Είδους Εντολών Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 6

Memory Addressing (1) Little Endian 7 6 5 4 3 2 1 0 Big Endian 0 1 2 3 4 5 6 0 Aligned and Misaligned Addresses (An access to an object of size s bytes at byte address A is aligned if A mod s = 0) Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 7

Memory Addressing (2) Είδη ιευθυνσιοδότησης Πως υπολογίζεται η διεύθυνση της µνήµης Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 8

Memory Addressing (3) Χρήση των διαφόρων addressing modes εν υπολογίζονται τα addressing modes που σχετίζονται µε τον PC (π.χ. branching) Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 9

Displacement Addressing Mode Το µέγεθος του displacement field επηρεάζει άµεσα το µήκος της εντολής Branch αργότερα Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 10

Immediate or Literal Addressing Mode Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 11

Distribution of Immediate Values 20%- 25% των immediates > 16 bits Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 12

Τρόποι διευθυνσιοδότησης για DSP Modulo ή circular addressing mode (start-end register) (περίπτωση συνεχούς ροής δεδοµένων που χρησιµοποιούν circular buffers) Bit reverse addressing mode (100 001) (for Fast Fourier Transform FFT) Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 13

Είδος και Μέγεθος των operands Encoding in the opcode Taged (πολύ σπάνια) DSP: Fixed- point arithmetic => wider accumulating registers Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 14

Κατηγορίες εντολών Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 15

Απλές εντολές που κυριαρχούν Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 16

Εντολές Επεξεργασίας Πολυµέσων (1) Single Instruction Multiple Data (SIMD) Instructions Εντολές οι οποίες µπορούν να ενεργήσουν σε πολλά µικρά data items ταυτόχρονα. Paired single operations Με µια εντολή εκτελούµε ταυτόχρονα δύο Floating Point 32-bit πράξεις. Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 17

Εντολές Επεξεργασίας Πολυµέσων (2) MAC εντολές (multiply-accumulate) Βασική πράξη στα DSPs. Χρησιµοποιείται στον υπολογισµό του εσωτερικού γινοµένου. Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 18

Εντολές Ελέγχου Ροής (1) ιακρίνονται σε: Conditional Branches, Jumps, Procedure Calls/Returns Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 19

Εντολές Ελέγχου Ροής (2) PC-relative addressing (συχνά) Πρόσθεση στον PC για τον καθορισµό του προορισµού. Οι αποστάσεις των αλµάτων µπορούν να κωδικοποιηθούν µε λίγα bits (<8) Register-Indirect addressing (σπάνια) Η διεύθυνση προορισµού, περιέχεται σε κάποιον register. Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 20

Κωδικοποίηση του Instruction Set Κύριοι στόχοι του σχεδιαστή: 1. Πολλοί καταχωρητές, πολλοί τρόποι διευθυνσιοδότησης. 2. Μικρό µέσο µέγεθος εντολής 3. Απλότητα κωδικοποίησης Εύκολη διαχείριση από pipelined αρχιτεκτονικές. Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 21

Ο ρόλος των Μεταγλωττιστών (1) Οσκελετός των µεταγλωττιστών Στόχοι: Ορθότητα Ταχύτητα του µεταγλωττισµένου κώδικα Γρήγορη µεταγλώττιση, debug support, κλπ Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 22

Ο ρόλος των Μεταγλωττιστών (2) Εφαρµόζοντας κατάλληλα optimizations στην µεταγλώττιση, αυξάνεται κατακόρυφα η απόδοση: Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 23

Ο ρόλος των Μεταγλωττιστών (3) Κατηγοριοποίηση των optimizations: Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 24

Πως µπορεί ο αρχιτέκτονας Η/Υ να βοηθήσει τον προγραµµατιστή µεταφραστών Make frequent cases fast and rare cases correct! Instruction Set Properties: Regularity Primitives, not solutions Simplify trade-offs among alternatives Provide instructions that bind the quantities known at compile time as constants Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 25

1o Παράδειγµα: Η Αρχιτεκτονική MIPS Load-store αρχιτεκτονική Καταχωρητές: 32 64-bit GPRs R0 R31, 32 32-bit or 64-bit FPRs F0 F31. Τύποι εδοµένων: 8-bit bytes, 16-bit half words, 32- bit words and 64-bit double words για integer data. 32- bit single precision and 64-bit double precision για floating point Τρόποι ιευθυνσιοδότησης: Immediate και displacement µε 16-bit πεδία. ιαθέτει bit κατάστασης για λειτουργία σε Big Endian ή Little Endian. Λειτουργίες: 4 βασικές κλάσεις εντολών. Load & Store, πράξεις ALU, εντολές διακλάδωσης, πράξεις κινητής υποδιαστολής Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 26

Η Αρχιτεκτονική MIPS: Instruction Layout Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 27

Η Αρχιτεκτονική MIPS: Instruction Set Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 28

Η Αρχιτεκτονική MIPS: SPECint2000 Συχνότητα Εντολών για 5 προγράµµατα SPECint92 Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 29

Η Αρχιτεκτονική MIPS: SPECfp2000 Συχνότητα Εντολών για 5 προγράµµατα SPECfp92 Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 30

2ο Παράδειγµα: Trimedia TM32 CPU Media processor (Dedicated to multimedia processing) Χρήση: Set Top Boxes ή Advanced Televisions Περισσότεροι καταχωρητές Partitioned ALU ή SIMD instructions Συµπλήρωµα ως προς 2 και αναπαραστάσεις που υποστηρίζουν οι DSP επεξεργαστές VLIW τεχνική (µέχρι 5 ανεξάρτητες εντολές) Οι εντολές του ΤΜ32 φαίνονται στον παρακάτω πίνακα: Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 31

Trimedia TM32: SIMD hand-optimized Συχνότητα Εντολών για EEMBC Benchmarks Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 32

Συµπεράσµατα Instruction Set Βασική Περιγραφή της αρχιτεκτονικής µιας CPU H τεχνολογία των µεταγλωττιστών επηρεάζει σηµαντικά την αρχιτεκτονική Η/Υ Ιστορικά: 1960: Stack αρχιτεκτονικές (good match για high-level languages για τους τότε compilers) 1970: High Level Language αρχιτεκτονικές (Μείωση του κόστους του S/W) 1990: Καλύτερη τεχνολογία compilers. RISC (loadstore). (διπλάσιο µέγεθος διευθύνσεων, βελτιστοποίηση των συνθηκών υπό συνθήκη µε conditional execution, βελτιστοποίηση της cache µε prefetch, υποστήριξη πολυµέσων, ταχύτερες πράξεις κιν. υποδιαστολής) Μελλοντικές Τάσεις Long Instruction Words Συνδυασµός αρχιτεκτονικών γενικού σκοπού- DSP 80x86 emulation Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 33