Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Προηγμένοι Μικροεπεξεργαστές 2006 – 2007 Παρουσίαση Projects.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Προηγμένοι Μικροεπεξεργαστές 2006 – 2007 Παρουσίαση Projects."— Μεταγράφημα παρουσίασης:

1 Προηγμένοι Μικροεπεξεργαστές 2006 – 2007 Παρουσίαση Projects

2 Γενικά 1 Θέμα για 1 άτομο 1 Θέμα για 1-2 άτομα 6 Θέματα για 2 άτομα 7 Θέματα για 2-3 άτομα

3 Γενικά Προθεσμία:  Τέλος εξεταστικής (Hard Deadline) Τυπικός απαιτούμενος χρόνος:  1 Εβδομάδα Παραδοτέα:  Κώδικας και Αναφορά

4 Γενικά Το debugging είναι επίσης κομμάτι της δουλειάς σας Θα σας βοηθήσουμε:  Αφού έχετε ψάξει το manual της Intel  Αφού έχετε ψάξει εξονυχιστικά για να βρείτε το πρόβλημα  Αφού έχετε περιορίσει το που μπορεί να οφείλεται το πρόβλημα

5 Θέμα 1 ο – 2 Άτομα Μελέτη και υλοποίηση μέσω παραδείγματος της διαδικασίας περάσματος παραμέτρων μέσω στοίβας ανάμεσα σε διαφορετικά protection levels. Η πληροφορία για τον αριθμό των μεταβλητών που πρέπει να περαστούν στην συνάρτηση θα πρέπει να δίνεται μέσω του πεδίου Parameter Count που βρίσκεται στο call gate

6 Θέμα 1 ο – Εξήγηση Τουλάχιστον 4 Code Segments:  Real Mode  Protected mode 16bit – Privilege level 0  Protected mode 32bit – Privilege level 0  Protected mode 32bit – Privilege level 3 Μπαίνουμε σε protected mode – PL0 Ρυθμίζουμε GDT, IDT, TSS, Stacks για τα τρία privilege levels  Επιθυμητό: Αυτές οι πληροφορίες να μπορούν να αλλάξουν μόνο από privilege level 0 Δημιουργούμε το κατάλληλο Call Gate

7 Θέμα 1 ο – Σχόλια Μπαίνουμε σε PL3 Εκτελούμε έναν αλγόριθμο ο οποίος χρησιμοποιεί μία συνάρτηση στο PL0 μέσω του Call Gate Επιστρέφουμε σε Real Mode Ρεαλιστικό Παράδειγμα:  putchar(char c, int x, int y)  putstring(char *str, int x, int y)  Η εφαρμογή χρησιμοποιεί αυτές τις συναρτήσεις για να εκτυπώσει ένα μήνυμα στην οθόνη

8 Θέμα 2 ο – 1 Άτομο Υλοποίηση προγράμματος για την μελέτη των TLBs στην Pentium 4 αρχιτεκτονική. Λόγω του τρόπου λειτουργίας των TLBs για τον καθορισμό του περιεχομένου τους απαιτείται το πέρασμα όλων των δυνατών συνδυασμών των γραμμικών διευθύνσεων που ορίζουν το paging. Στην εργασία αυτή θα πρέπει να γίνει μια πλήρης αναφορά του τρόπου λειτουργίας του TLB στον Pentium 4 και να υλοποιηθεί ένα παράδειγμα χρήσης του TLB

9 Θέμα 2 ο – Σχόλια Μπαίνουμε σε protected mode Δημιουργούμε ένα page table που να καλύπτει όλες τις virtual addresses Ενεργοποιούμε το paging Εκτελούμε έναν αλγόριθμο που προσπελαύνει πολλά pages και με την χρήση των Test Registers 6 και 7 βλέπουμε τι περιέχουν τα TLBs στο τέλος και τι όχι ++ Θεωρητική Ανάλυση των TLBs

10 Θέμα 3 ο – 2 Άτομα Υλοποίηση ενός scheduler που θα λειτουργεί σε virtual mode. Η εργασία αυτή θα έχει ως στόχο την ταυτόχρονη (multi-tasking) εκτέλεση tasks υλοποιημένα σε real mode τρόπο λειτουργίας και protected mode τρόπο λειτουργίας.

11 Θέμα 3 ο – Σχόλια Το virtual mode επιτρέπει την εκτέλεση real mode εφαρμογών μέσα από protected mode Ο scheduler θα πραγματοποιεί task switching μεταξύ 4 tasks (2 γραμμένων σε real mode και 2 σε protected mode) Round Robin λογική Ιδιαίτερη βαρύτητα στη μελέτη και χρήση των protection μηχανισμών και στον χειρισμό του busy bit

12 Θέμα 4 ο – 2-3 Άτομα Χρήση των Performance Counters για την μελέτη της επίδρασης της εκτέλεσης δικτυακών εφαρμογών σε pentium αρχιτεκτονικές

13 Θέμα 4 ο – Σχόλια OProfile: Εργαλείο που χρησιμοποιεί τους performance counters για να πάρει στατιστικά για το πως χρησιμοποιεί ένα πρόγραμμα τον επεξεργαστή Ενδιαφέρουσες Ιδέες:  Σύγκριση διαφορετικών Pentium αρχιτεκτονικών  Μελέτη ενός απαιτητικού προγράμματος για διάφορα επίπεδα χρήσης

14 Θέμα 5 ο – 1-2 Άτομα Να υλοποιηθεί υπορουτίνα εξυπηρέτησης διακοπής (ISR) για το ΙΝΤ 8h η οποία θα κάνει Task Switching μεταξύ (Ν) άλλων υπορουτινών. Το Task Switching θα βασίζεται σε round robin αλγόριθμο και θα εκτελείται κάθε 55ms. Ο scheduler θα πρέπει να υποστηρίζει τις παρακάτω λειτουργίες μέσω της ανίχνευσης πατήματος συγκεκριμένων πλήκτρων:  CreateTask για την δημιουργία νέων tasks,  KillΤask για τον τερματισμό κάποιου task,  Sleep(x) η οποία θα μπλοκάρει την εκτέλεση ενός task για Χ ms

15 Θέμα 5 ο – Σχόλια Απλό πρόγραμμα (είναι;) Χρησιμοποιεί το interrupt του πληκτρολογίου

16 Θέμα 6 ο – 2 Άτομα Υλοποίηση μηχανισμού προστασίας από stack overflow με χρήση του limit checking του stack segment descriptor σε protected mode

17 Θέμα 6 ο – Σχόλια Δημιουργούμε πρόγραμμα που κάνει βαριά χρήση της στοίβας, πχ κλήση recursive συνάρτησης και δεσμεύουμε ένα stack segment περιορισμένου μεγέθους. Έτσι προκαλούμε Limit Exception για το SS, το οποίο συλλαμβάνουμε και εξυπηρετούμε Πιθανοί τρόποι χειρισμού του exception:  Εκτύπωση μηνύματος και τερματισμός  Αύξηση του ορίου του segment  Δέσμευση καινούργιου segment

18 Θέμα 7 ο – 2-3 Άτομα Μέτρηση των branches, exceptions και interrupts χρησιμοποιώντας το monitor performance hardware. Ο στόχος αυτής της εργασίας είναι η μέτρηση των προηγούμενων χαρακτηριστικών σε multimedia εφαρμογές

19 Θέμα 7 ο – Σχόλια Παρόμοιο με το 4 ο Θέμα, αλλά για multimedia εφαρμογές

20 Θέμα 8 ο – 2-3 Άτομα Μελέτη της απόδοσης της trace cache χρησιμοποιώντας το monitor performance hardware. Ο στόχος αυτής της εργασίας είναι να αξιολογηθεί η συμπεριφορά της trace cache για multimedia εφαρμογές

21 Θέμα 8 ο – Σχόλια Σαν το 7 ο Θέμα αλλά μελετάμε την trace cache

22 Θέμα 9 ο – 2-3 Άτομα Να υλοποιηθεί bootable κώδικας σε real mode, ο οποίος θα φορτώνει ένα στοιχειώδη kernel (π.χ. έναν task scheduler) και θα τον εκκινεί. Η υλοποίηση αυτή πρέπει να είναι ανεξάρτητη του μεγέθους του kernel. H φόρτωση του scheduler θα γίνεται από το floppy drive

23 Θέμα 9 ο - Σχόλια Μελέτη του τρόπου με τον οποίο είναι δομημένη μία boot δισκέτα. Μελέτη του τρόπου με τον οποίο χειρίζεται το BIOS την εκκίνηση. Η υλοποίηση πρέπει να προσπερνάει τυχόν όρια του BIOS στο μέγεθος που μπορεί να έχει ο boot κώδικας.

24 Θέμα 10 ο – 2 Άτομα Διερεύνηση του Ι/Ο MAP πεδίου του TSS. Υλοποίηση προγράμματος που θα δείχνει την δυνατότητα ελέγχου πρόσβασης στα Ι/Οs του υπολογιστή μεταξύ διαφορετικών tasks.

25 Θέμα 10 ο - Σχόλια Το Ι/Ο MAP πεδίο στο TSS περιορίζει την δυνατότητα ενός task να προσπελάσει θύρες εισόδου – εξόδου. Προσπάθεια να προσπελαστεί προστατευμένη θύρα προκαλεί General Protection Fault. Μπορεί να χρησιμοποιηθεί:  Είτε για να δώσει τον αποκλειστικό έλεγχο της θύρας σε ένα task κάθε φορά  Είτε για να παρεμβληθεί κάποιος driver ελέγχου της θύρας, ο οποίος θα καλείται από το GP Fault

26 Θέμα 11 ο – 2 Άτομα Χρήση debug registers για την μέτρηση της χρονικής απόστασης μεταξύ της επαναχρησιμοποίησης μίας μεταβλητής.

27 Θέμα 11 ο – Σχόλια Με τους debug registers μπορούμε να προκαλούμε breakpoint κατά την προσπέλαση μέχρι και τριών θέσεων μνήμης. Το breakpoint αυτό εξυπηρετείται μέσω του Debug Exception.

28 Θέμα 11 ο – Σχόλια Ένα πρόγραμμα θα προσπελαύνει συνέχεια ένα μικρό set τιμών με κάπως μεταβλητό τρόπο Ένας Debug Exception Handler  Θα καλείται κάθε φορά που θα διαβάζεται κάποια από τις τιμές που παρακολουθούμε  Θα υπολογίζει το πόσος χρόνος πέρασε από την προηγούμενη ανάγνωση της τιμής  Θα σετάρει τον Debug Register για την επόμενη ανάγνωση της τιμής Ο χρόνος θα μετριέται μέσω του Time-Stamp Counter

29 Θέμα 12 ο – 2-3 Άτομα Δημιουργία paging σε protected mode ξεκινώντας από το flat memory architecture μοντέλο. Μελέτη εναλλακτικών τρόπων οργάνωσης του Page Table και χρήση του monitor performance hardware για την εύρεση της αποτελεσματικότερης δομής. Στην εργασία αυτή θα πρέπει να δοθεί βαρύτητα στον τρόπο διαχείρισης κοινών pages ανάμεσα σε διαφορετικά tasks και στον τρόπο τοποθέτησης του TSS στην μνήμη (δεδομένου των περιορισμών που υπάρχουν λόγω των ορίων στα pages)

30 Θέμα 12 ο - Σχόλια

31 Θέμα 13 ο – 2-3 Άτομα Χρήση των παράλληλων εντολών και εντολών κινητής υποδιαστολής (SIMD- MMX) που υπάρχουν στους επεξεργαστές τεχνολογίας Pentium 2 και άνω για την υλοποίηση multimedia αλγορίθμων. Εύρεση τρόπων μέτρησης της απόδοσης και της αποτελεσματικότητας της υλοποίησης χρησιμοποιώντας τις δυνατότητες του performance monitoring hardware

32 Θέμα 13 ο - Σχόλια

33 Θέμα 14 ο – 2 Άτομα Διαχείριση στοίβας. Υποθέτουμε ότι ένα συγκεκριμένο σημείο κώδικα ενός προγράμματος χρησιμοποιείται πολλές φορές από το υπόλοιπο πρόγραμμα και πρέπει να έχει (διαχειρίζεται) δική του στοίβα και διαφορετική από του υπόλοιπου προγράμματος. Απαραίτητες ενέργειες για την σωστή δήλωση και διαχείριση των δύο στοιβών και της σωστής εναλλαγής μεταξύ τους.

34 Θέμα 14 ο – Σχόλια

35 Θέμα 15 ο – 2-3 Άτομα Μελέτη του τρόπου εκκίνησης ενός υπολογιστή και χρήσης του MBR (Master Boot Record) για τον σκοπό αυτό. Υλοποίηση που θα αντιγράφει το MBR από το σκληρό δίσκο και θα το μετατρέπει κατάλληλα για εκτέλεση από την δισκέτα. Το αποτέλεσμα θα είναι ο Η/Υ να εκκινεί από δισκέτα αλλά να φορτώνει σαν να εκκινούσε από το σκληρό


Κατέβασμα ppt "Προηγμένοι Μικροεπεξεργαστές 2006 – 2007 Παρουσίαση Projects."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google