Προηγμένα Θέματα Θεωρητικής Πληροφορικής
|
|
- Αντώνιος Ασπάσιος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Προηγμένα Θέματα Θεωρητικής Πληροφορικής Επαναστοχεύσιμοι μεταγλωττιστές Νικόλαος Καββαδίας 15 Ιουνίου 2010
2 Σκιαγράφηση της διάλεξης Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems) Η χρησιμότητα των επαναστοχεύσιμων μεταγλωττιστών Χαρακτηριστικά των επαναστοχεύσιμων μεταγλωττιστών Παρουσίαση των δημοφιλέστερων περιπτώσεων: GCC LLVM COINS LCC PCC
3 Η αναγκαιότητα των (επαναστοχεύσιμων) μεταγλωττιστών για ενσωματωμένους επεξεργαστές Ενσωματωμένο σύστημα: οποιοδήποτε σύστημα επεξεργασίας διαθέτει περιορισμένη διεπαφή με το χρήστη Συνήθως κρυμμένο : αυτοκίνητα, σπιτικές ηλεκτρονικές συσκευές, ιατρικά όργανα, κινητά τηλέφωνα, παιχνιδομηχανές κ.λ.π. Η αυξανόμενη πολυπλοκότητα των ενσωματωμένων συστημάτων, οδήγησε στη χρήση προγραμματιζόμενων επεξεργαστών Για τη διευκόλυνση του προγραμματισμού τους είναι αναγκαία η χρήση μεταγλωττιστών
4 Κατηγοριοποίηση των ενσωματωμένων επεξεργαστών Κύρια χαρακτηριστικά ενός ενσωματωμένου επεξεργαστή είναι η επάρκεια (ταχύτητα επεξεργασίας, κατανάλωση ισχύος/ενέργειας, επιφάνεια ολοκληρωμένου) σε σχέση με την ευελιξία του (δυνατότητα προγραμματισμού, ευκολία προσαρμογής σε μεταβαλλόμενα δεδομένα από το περιβάλλον του)
5 Ενσωματωμένοι επεξεργαστές και τα αρχιτεκτονικά χαρακτηριστικά τους 1 Είναι σχεδιασμένοι με κύριο στόχο την επάρκεια (υψηλή ταχύτητα επεξεργασίας με χαμηλή κατανάλωση ισχύος/ενέργειας) 2 Ευκολία/αμεσότητα του προγραμματισμού τους 3 Μεγάλη ποικιλία ενσωματωμένων επεξεργαστών στη σημερινή αγορά 4 Αρχιτεκτονική Harvard (ξεχωριστή αποθήκευση για δεδομένα και εντολές) 5 Ετερογενής αρχιτεκτονική καταχωρητών 6 Υλοποιούμενη αριθμητική: saturating arithmetic, αριθμητική σταθερής υποδιαστολής 7 Εξειδικευμένες εντολές όπως για διευθυνσιοδότηση bit, πολλαπλασιασμό-και-συσσώρευση 8 Συνήθως απουσιάζουν: MMU, superscalar χαρακτηριστικά, αριθμητική κινητής υποδιαστολής
6 Επιμέρους παράμετροι του σχεδιασμού ενσωματωμένων επεξεργαστών
7 Ο κόσμος της ANSI/ISO C Η πιο διαδεδομένη γλώσσα για τη δημιουργία λογισμικού εφαρμογών και συστημάτων Η γλώσσα ISO C διέπεται από το πρότυπο ISO/IEC 9899:1999 Σε κοινή χρήση και το παλαιό πρότυπο (C89) Προτάσεις για την άρση των περιορισμών της C και την επέκταση της χρήσης της σε άλλα πεδία (όπως η σύνθεση υλικού υψηλού επιπέδου) Valen-C (Yasuura, Kyushu-University at Fukuoka) DSP-C (proposed by ACE ( SpecC (UC Irvine) by Daniel Gajski SystemC: Hardware data types and simulation ( HardwareC Embedded C++ (EC++) και άλλες επεκτάσεις
8 Υποδομή για την ανάπτυξη και σχεδιασμό ενσωματωμένων επεξεργαστών Επαναστοχεύσιμοι μεταγλωττιστές (retargetable compilers) Προσομοιωτές (simulators) ακρίβειας εντολής: στα πρώτα στάδια εκσφαλμάτωσης, ανάπτυξη εξομοιωτών (emulators) συστημάτων ακρίβειας κύκλου: λεπτομερές μικροαρχιτεκτονικό μοντέλο, καταγράφει την κατάσταση (state) του επεξεργαστή ανά κύκλο μηχανής Λογισμικά εργαλεία ανάπτυξης εφαρμογών (software development tools) γεννήτορας επιλογέα κώδικα, συμβολομεταφραστής (as), συνδέτης (ld), αποσυμβολομεταφραστής (objdump), αποσφαλματωτής (gdb), φορτωτής Άλλα εργαλεία (λογισμικές βιβλιοθήκες: δομών δεδομένων, αλγορίθμων, απεικόνισης και ταυτοποίησης γράφων, κ.α.)
9 Τυπική οργάνωση του μεταγλωττιστή
10 Ο επαναστοχεύσιμος μεταγλωττιστής σε σχέση με τον τυπικό μεταγλωττιστή
11 Χαρακτηριστικά των επαναστοχεύσιμων μεταγλωττιστών (1) Κριτήρια καταλληλότητάς τους για τη χρήση στο σχεδιασμό και προγραμματισμό ενσωματωμένων επεξεργαστών Το είδος της ενδιάμεσης αναπαράστασης (IR) Επεκτασιμότητα (ευκολία στην προσθήκη/τροποποίηση backend, περάσματα ανάλυσης ή/και βελτιστοποίησης) Δυνατότητα επαναστόχευσης από machine description Τεκμηρίωση, παραδείγματα χρήσης, βάση χρηστών, ανάπτυξη και συντήρηση Σήμερα (2010) πάνω από 30 επαναστοχεύσιμοι μεταγλωττιστές ανοικτού κώδικα για γλώσσες υψηλού επιπέδου (όπως C, Java) διατίθενται χωρίς κόστος
12 Χαρακτηριστικά των επαναστοχεύσιμων μεταγλωττιστών (2) Δημοφιλείς μεταγλωττιστές GCC: δεκάδες αρχιτεκτονικές ξενιστή/στόχου, ισχυρές βελτιστοποιήσεις, δύσκολη η συγγραφή νέου backend, άναρχα δομημένος LLVM: μοντέρνα σχεδίαση, υποστήριξη από Apple Inc. COINS: γραμμένος σε Java, ισχυρές βελτιστοποιήσεις για παραλληλοποίηση Phoenix: πρωτότυπο περιβάλλον από Microsoft PCC: αναβίωση του Portable C Compiler LCC: λιτός, κατάλληλος μόνο για απλούς RISC, χωρίς επεκτάσιμη υποδομή SUIF/MachSUIF: καθαρό API, επεκτάσιμος, δύσκολη η προσθήκη νέων backend, χρήσιμος στην έρευνα Άλλοι μεταγλωττιστές: Trimaran, ACK, SPAM Εμπορικοί μεταγλωττιστές: CoSy ACE, Archelon
13 GCC (1) Ο πιο διαδεδομένος επαναστοχεύσιμος μεταγλωττιστής Χρησιμοποιείται ως ο μεταγλωττιστής συστήματος σε λειτουργικά συστήματα Unix/Linux Μπορεί να χρησιμοποιηθεί για τη γέννηση κώδικα για τρίτους επεξεργαστές (ενώ λειτουργεί σε άλλο επεξεργαστή): cross compiler Υποστηρίζει τις γλώσσες C/C++, Objective-C, Java, Fortran, Ada Μεταφερτός σε νέες αρχιτεκτονικές μέσω αρχείου περιγραφής μηχανής και βοηθητικών συναρτήσεων στη C Πρόσφατες προσθήκες στον GCC: Από την έκδοση 4.0: υποστήριξη SSA Ενδιάμεση αναπαράσταση GIMPLE Επικοινωνία με εξωτερικά plug-in i Η ανάπτυξή του, ορισμένες φορές, περιορίζεται από ϑέματα πολιτικής του σχεδιασμού του (π.χ. ελευθερία λογισμικού)
14 GCC (2) Παράδειγμα από περιγραφή μηχανής (define_insn "subsf3" [(set (match_operand:sf 0 "register_operand" "=f") (minus:sf (match_operand:sf 1 "register_operand" "f") (match_operand:sf 2 "register_operand" "f")))] "" "subf\\t%0,%1,%2") Z Δυσκολία στην περιγραφή μη κανονικών αρχιτεκτονικών Στόχοι του GCC The main goal of GCC was to make a good, fast compiler for machines in the class that the GNU system aims to run on: 32-bit machines that address 8-bit bytes and have several general registers. Elegance, theoretical power and simplicity are only secondary.
15 Η εσωτερική οργάνωση του GCC
16 Μετατροπή σε μορφή SSA
17 Μετατροπή από μορφή SSA σε κώδικα τύπου C
18 Απλό παράδειγμα γέννησης κώδικα για εντολή φόρτωσης σταθεράς
19 Αυξητική κατασκευή περιγραφής μηχανής για τον GCC (Uday Khedker) Η κατασκευή ενός νέου backend στον GCC είναι επίπονη: Υλοποίηση μικρών, ελεγχόμενων βημάτων Σε κάθε βήμα προστίθενται νέα γραμματικά στοιχεία της πηγαίας γλώσσας Σε αντίθεση με την κοινή άποψη ότι αυτό που προσδιορίζεται αυξητικά είναι η αρχιτεκτονική-στόχος
20 Υποστηριζόμενες αρχιτεκτονικές επεξεργαστή από τον GCC GCC target processor families as of version 4.3 include: Alpha, ARM, Atmel AVR, Blackfin, HC12, H8/300, IA-32 (x86), x86-64, IA-64, Motorola 68000, MIPS, PA-RISC, PDP-11, PowerPC, R8C/M16C/M32C, SPU (Cell), System/390/zSeries, SuperH, SPARC, VAX Lesser-known target processors supported in the standard release have included: A29K, ARC, ETRAX CRIS, D30V, DSP16xx, FR-30, FR-V, Intel i960, IP2000, M32R, 68HC11, MCORE, MIL-STD-1750A, MMIX, MN10200, MN10300, Motorola 88000, NS32K, ROMP, Stormy16, V850, Xtensa, AVR32 Additional processors have been supported by GCC versions maintained separately from the FSF version: Cortus APS3, D10V, esi-risc, LatticeMico32, MeP, Motorola 6809, MicroBlaze, MSP430, Nios II and Nios, OpenRISC 1200, PDP-10, TIGCC (m68k variant), System/370, Z8000, PIC24/dsPIC, NEC SX
21 Παραπομπές για τον GCC GCC on the Free Software Foundation web site The official GCC manuals and user documentation, by the GCC developers GCC Wiki Tutorial and Optimization Course HiPEAC GCC Tutorials Collection of GCC architecture and internals documents Essential abstractions in GCC workshop (2009)
22 LLVM (Low-Level Virtual Machine LLVM: Μοντέρνος επαναστοχεύσιμος μεταγλωττιστής ( LLVM bytecode/bitcode: ενδιάμεση αναπαράσταση και εικονική μηχανή Αρχική ιδέα από τον Vikram Adve Σχεδιασμός από τον Chris Lattner Εμπρακτη υποστήριξη από την Apple Inc. Το frontend clang προσφέρει απευθείας μεταγλώττιση από C/C++/Objective-C σε LLVM bytecode ( Σχετικά εύκολα επαναστοχεύσιμος Διαχειρίσιμη η επαναστόχευσή του σε επεξεργαστές διαφορετικών κατηγοριών Πολύ καλή τεκμηρίωση
23 Χαρακτηριστικά του LLVM Εχει συνταχθεί σε καλογραμμένη C++ Ολοι οι μηχανισμοί έχουν υλοποιηθεί σε ανεξάρτητα εφαρμόσιμα περάσματα (passes) Pluggable μετασχηματισμοί, αναλύσεις, καταμεριστές καταχωρητών, κ.λ.π. Βοηθητικά εργαλεία llc - invoke static back-ends lli - bitcode interpreter, use JIT bugpoint - reduce code from crashes opt - run optimizations on bitcodes llvm-extract - extract/delete functions and data llvm-dis, llvm-as, llvm-ld: binutils-like tools Υποστηριζόμενες αρχιτεκτονικές (επεξεργαστή ή εικονικές) Alpha, ARM, C, CellSPU, IA64, Microblaze, MIPS, MSIL, PowerPC, SPARC, x86, x86_64, XCore, PIC-16
24 Η διαδικασία της μεταγλώττισης στον LLVM
25 Παράδειγμα 1: Μεταγλώττιση απλού βρόχου Χρήση του LLVM από τη γραμμή εντολών ${LLVM_GCC_PATH}/llvm -gcc -O3 -emit -llvm loop1.c -S -c -o loop1.bc Κώδικας ANSI C για το βρόχο void loop1(int inp, int *outp) { int ix; for (ix = 0; ix < inp; ix++) ; *outp = ix; } LLVM bitcode ; ModuleID = loop1.c target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32: 32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" target triple = "i386 -mingw32" define %inp, i32* nocapture %outp) nounwind { entry: %0 = icmp sgt i32 %inp, 0 ; <i1> [#uses=1] %ix.0.lcssa = select i1 %0, i32 %inp, i32 0 ; <i32 > [#uses=1] store i32 %ix.0.lcssa, i32* %outp, align 4 ret void}
26 Παράδειγμα 2: Εφαρμογή απαρίθμησης πληθυσμού Κώδικας ANSI C void popcount(int inp, int *outp) { int data = inp, count = 0, temp; while (data!= 0) { count = count + (data & 0x1); data = data >> 0x1; } *outp = count; } LLVM bitcode define %inp, i32* nocapture %outp) nounwind { entry: %0 = icmp eq i32 %inp, 0 ; <i1> [#uses=1] br i1 %0, label %bb2, label %bb bb: ; preds = %entry, %bb %count.04 = phi i32 [ %2, %bb ], [ 0, %entry ] ; <i32 > [#uses=1] %data.03 = phi i32 [ %3, %bb ], [ %inp, %entry ] ; <i32 > [#uses=2] %1 = and i32 %data.03, 1 ; <i32 > [#uses=1] %2 = add nsw i32 %1, %count.04 ; <i32 > [#uses=2] %3 = ashr i32 %data.03, 1 ; <i32 > [#uses=2] %4 = icmp eq i32 %3, 0 ; <i1> [#uses=1] br i1 %4, label %bb2, label %bb bb2: ; preds = %bb, %entry %count.0.lcssa = phi i32 [ 0, %entry ], [ %2, %bb ] ; <i32 > [#uses=1] store i32 %count.0.lcssa, i32* %outp, align 4 ret void}
27 COINS (COmpiler INfraStructure Ερευνητικός επαναστοχεύσιμος μεταγλωττιστής (Hosei Univ., Tokyo Institute of Technology, SONY Corporation, Mitsubishi Research Institute), κ.α. Ιστοσελίδα: Συνταγμένος σε Java Υποδομή ανάπτυξης μεταγλωττιστών με σκοπό την έρευνα, την εκπαίδευση και τη χρήση σε περιβάλλον παραγωγής Δύο επίπεδα ενδιάμεσης αναπαράστασης: HIR: High-level Intermediate Representation, LIR: Low-level Intermediate Representation Πολύ καλή τεκμηρίωση
28 Χαρακτηριστικά του COINS Structure of the COINS compiler Compiler control and driver IR (Intermediate Representation) handler HIR handler, LIR handler, Symbol handler Front-end: C, Fortran Middle-end: Basic and advanced optimizer SSA (Static Single Assignment) optimizer Basic parallelizer, SMP (Symmetric Multi-Processor) parallelizer, SIMD (Single Instruction Multiple Data stream) parallelizer HIR-to-C source code generator Backend Code generator generator (retargetable) Available code generators for: SPARC, x86 (32-bit, 64-bit), ARM, THUMB, MIPS, SH-4, PowerPC, Alpha, Microblaze Instruction scheduler Software pipelining optimizer LIR-to-C source code generator
29 Η εσωτερική οργάνωση του COINS
30 Παράδειγμα μεταγλώττισης με τον COINS (1) Κώδικας ANSI C #include <stdio.h> int main(){ int x = 1, y = 2, sum; sum = x + y; printf("%d\n", sum); return 0; }; HIR (prog 1 <null 0 void > <nullnode 0> (subpdef 0 void <subp 0 <SUBP <> true int > main > <null 0 void > (labeldst 2 void (list 3 <labeldef _lab1 >) (block 5 void (assign 6 int <var 7 int x> <const 8 int 1>) (assign 9 int <var 10 int y> <const 11 int 2>) (assign 12 int <var 13 int sum > (add 14 int <var 15 int x> <var 16 int y>)) (expstmt 17 int (call 18 int (addr 19 <PTR <SUBP <<PTR char > > true int <subp 20 <SUBP <<PTR char > > true int > pr (list 21 (decay 22 <PTR char > <const 23 <VECT 4 0 char > "%d\n">) <var 24 int sum >))) (return 25 int <const 26 int 0>)))))
31 Παράδειγμα μεταγλώττισης με τον COINS (2) LIR (FUNCTION "main" (SYMTAB ("functionvalue.5" FRAME I32 4 0) ("returnvalue.4" FRAME I32 4 0) ("sum.3" FRAME I32 4 0) ("y.2" FRAME I32 4 0) ("x.1" FRAME I32 4 0) ) (PROLOGUE (0 0)) (DEFLABEL (LABEL I32 "_lab1")) (SET I32 (MEM I32 (FRAME I32 "x.1")) (INTCONST I32 1)) (SET I32 (MEM I32 (FRAME I32 "y.2")) (INTCONST I32 2)) (SET I32 (MEM I32 (FRAME I32 "sum.3")) (ADD I32 (MEM I32 (FRAME I32 "x.1")) (MEM I32 (FRAME I32 "y.2")))) (CALL (STATIC I32 "printf") ((STATIC I32 "string.6") (MEM I32 (FRAME I32 "sum.3"))) ((MEM I32 (FRAME I32 "functionvalue.5")))) (SET I32 (MEM I32 (FRAME I32 "returnvalue.4")) (INTCONST I32 0)) (JUMP (LABEL I32 "_epilogue")) (DEFLABEL (LABEL I32 "_epilogue")) (EPILOGUE (0 0) (MEM I32 (FRAME I32 "returnvalue.4")))
32 Παράδειγμα μεταγλώττισης με τον COINS (3) SPARC assembly.section ".text".align 1 string.6:.byte 37.byte 100.byte 10.byte 0.align 4.global main main: save %sp,-96,%sp.l2: mov 1,%i0 mov 2,%i0 mov 3,%i0 set string.6,%o0 mov 3,%o1 call printf mov 0,%i0.L3: ret restore
33 LCC (1) C μεταγλωττιστής από το πανεπιστήμιο του Princeton (Dave R. Hanson, Christopher W. Fraser) Ιστοσελίδα: Κώδικας στο δημόσιο πεδίο (public domain) με δέσμευση για μη εμπορική χρήση χωρίς την άδεια των δημιουργών του Μικρή βάση κώδικα (λίγα KLOC) Λίγες βελτιστοποιήσεις Σχετικά εύκολα επαναστοχεύσιμος από ένα αρχείο.md Μοντέλο επαναστοχεύσιμου μεταγλωττιστή και όχι γεννήτορα μεταγλωττιστή Δύσκολη η επαναστόχευσή του σε επεξεργαστές που δεν είναι τύπου RISC ή CISC Πολύ καλή τεκμηρίωση
34 LCC (2) AST IR μετατρεπόμενο σε DFTs Επιλογή κώδικα με κάλυψη δένδρου Τοπικός καταμερισμός καταχωρητών Δεν διαθέτει χρονοπρογραμματισμό εντολών int a; int f(int* p) { return a + *p + 1; } 5. ADDRGP2 a // address of "a" 4. INDIRI2 #5 // load a 8. ADDRFP2 p // address of "p" 7. INDIRP2 #8 // load p 6. INDIRI2 #7 // load *p 3. ADDI2 #4 #6 // integer add 9. CNSTI2 1 // constant "1" 2. ADDI2 #3 #9 // integer add 1. RETI2 #2 // integer return
35 Παράδειγμα γέννησης κώδικα για τον MIPS
36 PCC: Portable C Compiler Μεταφερτός ANSI C μεταγλωττιστής Αναβίωση του μεταγλωττιστή PQCC ο οποίος ήταν μεταγλωττιστής συστήματος στο BSD Unix Ο PQCC αναπτύχθηκε από τον Stephen C. Johnson, βασιζόμενος στη μεταπτυχιακή εργασία του Alan Snyder Πρόσφατα (από το 2007 και έπειτα) ο PCC αναβιώθηκε (νέος κώδικας και νέες στοχευόμενες αρχιτεκτονικές) από τον Anders Magnusson Επιλέχθηκε ως μεταγλωττιστής συστήματος για το λειτουργικό σύστημα OpenBSD Σχετικά μικρή βάση κώδικα Υποστηριζόμενες αρχιτεκτονικές AMD64, ARM, HP PARISC, i386, M16C, MIPS, Nova, PDP-10, PDP-11, PowerPC, SPARCv9, Super-H, VAX
37 Η οργάνωση του μεταγλωττιστή PCC
Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Επαναστοχεύσιμοι μεταγλωττιστές. 19 Ιανουαρίου 2011. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Επαναστοχεύσιμοι μεταγλωττιστές Νικόλαος Καββαδίας nkavv@uop.gr 19 Ιανουαρίου 2011 Σκιαγράφηση της διάλεξης Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems) Η χρησιμότητα των επαναστοχεύσιμων
Σκιαγράφηση της διάλεξης. Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Σκιαγράφηση της διάλεξης Προηγμένα Θέματα Θεωρητικής Πληροφορικής Επαναστοχεύσιμοι μεταγλωττιστές Νικόλαος Καββαδίας nkavv@uop.gr 15 Ιουνίου 2010 Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems)
Αναπτύσσοντας developer tools στην Αpple. Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ
Αναπτύσσοντας developer tools στην Αpple Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ Apple Inc. Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες
Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Επιλογή κώδικα Νικόλαος Καββαδίας nkavv@uop.gr 24 Μαρτίου 2010 Σημαντικά ζητήματα στη γέννηση κώδικα (1) Επιθυμητές ιδιότητες του γεννήτορα κώδικα (code generator)
8 Βελτιστοποιήσεις για την ανάδειξη της παραλληλίας
Αντικείμενο του μαθήματος Προηγμένα Θέματα Θεωρητικής Πληροφορικής Προηγμένα Θέματα Θεωρητικής Πληροφορικής Η οργάνωση του μεταγλωττιστή Νικόλαος Καββαδίας nkavv@uop.gr 10 Μαρτίου 2010 Επιμέρους στόχοι
Μεταγλωττιστές ΙΙ. nkavv@uop.gr. 26 Ιανουαρίου 2011. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Ανασκόπηση του μαθήματος και ϑέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 26 Ιανουαρίου 2011 Σκιαγράφηση της διάλεξης Παραλειπόμενα Αναδρομή στο περιεχόμενο του μαθήματος
Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Γέννηση ενδιάμεσης αναπαράστασης. 10 Νοεμβρίου 2010. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Γέννηση ενδιάμεσης αναπαράστασης Νικόλαος Καββαδίας nkavv@uop.gr 10 Νοεμβρίου 2010 Η έννοια της ενδιάμεσης αναπαράστασης Ενδιάμεση αναπαράσταση (IR: intermediate representation): απλοποιημένη,
Μεταγλωττιστές ΙΙ. Επιλογή κώδικα. 24 Νοεμβρίου Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Επιλογή κώδικα Νικόλαος Καββαδίας nkavv@uop.gr 24 Νοεμβρίου 2010 Ο γεννήτορας κώδικα Επιθυμητές ιδιότητες του γεννήτορα κώδικα (code generator) Το παραγόμενο πρόγραμμα χαμηλού επιπέδου
Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)
1. Κωδικός Μαθήματος: (Εισαγωγή στον Προγραμματισμό) 2. Α/Α Διάλεξης: 1 1. Τίτλος: Εισαγωγή στους υπολογιστές. 2. Μαθησιακοί Στόχοι: Συνοπτική παρουσίαση της εξέλιξης των γλωσσών προγραμματισμού και των
Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Η οργάνωση του μεταγλωττιστή Νικόλαος Καββαδίας nkavv@uop.gr 03 Νοεμβρίου 2010 Αντικείμενο του μαθήματος CST325: Μεταγλωττιστές ΙΙ (1) Επιμέρους στόχοι του μαθήματος Παρουσίαση ϑεμάτων
Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Η οργάνωση του μεταγλωττιστή Νικόλαος Καββαδίας nkavv@uop.gr 10 Μαρτίου 2010 Αντικείμενο του μαθήματος Προηγμένα Θέματα Θεωρητικής Πληροφορικής Επιμέρους στόχοι
Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Γενικά χαρακτηριστικά του επεξεργαστή MU0. nkavv@uop.gr. Προγραμματιζόμενοι επεξεργαστές
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr Προγραμματιζόμενοι επεξεργαστές Ρεαλιστικό παράδειγμα: ο επεξεργαστής MU0 (MicroProcessor
Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Ανασκόπηση του μαθήματος - Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 02 Ιουνίου 2010 Σκιαγράφηση της διάλεξης Σύνοψη του μαθήματος
Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας. Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας Προηγμένα Θέματα Θεωρητικής Πληροφορικής Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας
Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας (Ι) Νικόλαος Καββαδίας nkavv@uop.gr 19 Μαΐου 2010 Βελτιστοποιήσεις για την εκμετάλλευση
Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.
Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Mαθηματικό σύστημα Ένα μαθηματικό σύστημα αποτελείται από αξιώματα, ορισμούς, μη καθορισμένες έννοιες και θεωρήματα. Η Ευκλείδειος γεωμετρία αποτελεί ένα
Συναρτήσεις. Σημερινό μάθημα
Συναρτήσεις Σημερινό μάθημα C++ Συναρτήσεις Δήλωση συνάρτησης Σύνταξη συνάρτησης Πρότυπο συνάρτησης & συνάρτηση Αλληλο καλούμενες συναρτήσεις συναρτήσεις μαθηματικών Παράμετροι συναρτήσεων Τοπικές μεταβλητές
Σκιαγράφηση της διάλεξης. Προηγμένα Θέματα Θεωρητικής Πληροφορικής.
Σκιαγράφηση της διάλεξης Προηγμένα Θέματα Θεωρητικής Πληροφορικής Ανασκόπηση του μαθήματος - Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr Σύνοψη του μαθήματος Ενδεικτικά
Μεταγλωττιστές ΙΙ. Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας
Μεταγλωττιστές ΙΙ Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας Νικόλαος Καββαδίας nkavv@uop.gr 22 Δεκεμβρίου 2010 Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας
Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Καταμερισμός καταχωρητών Νικόλαος Καββαδίας nkavv@uop.gr 01 Δεκεμβρίου 2010 Γενικά για τον καταμερισμό καταχωρητών Καταμερισμός καταχωρητών (register allocation): βελτιστοποίηση μεταγλωττιστή
Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2
Pointers 1 Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 1 Μνήμη μεταβλητών Κάθε μεταβλητή έχει διεύθυνση Δεν χρειάζεται
nkavv@physics.auth.gr nkavv@uop.gr
Γλώσσες Περιγραφής Υλικού Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr 26 Μαΐου 2009 Σκιαγράφηση της διάλεξης Μη προγραμματιζόμενοι επεξεργαστές Υλοποίηση με
Αρχάνες, 10/12/2012 Αρ. Πρωτ: 561
Αρχάνες, 10/12/2012 Αρ. Πρωτ: 561 ΠΡΟΣΚΛΗΣΗ ΕΚ ΗΛΩΣΗΣ ΕΝ ΙΑΦΕΡΟΝΤΟΣ Η Αναπτυξιακή Ηρακλείου Α.Α.Ε. ΟΤΑ απευθύνει πρόσκληση εκδήλωσης ενδιαφέροντος για την επιλογή Αναδόχου για την κατασκευή ιστοσελίδας
Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Θέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 08 Ιουνίου 2011 Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος Εξεταστική περίοδος Ιουνίου-Ιουλίου
Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Χρονοπρογραμματισμός κώδικα και βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική
Μεταγλωττιστές ΙΙ Χρονοπρογραμματισμός κώδικα και βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική Νικόλαος Καββαδίας nkavv@uop.gr 21 Δεκεμβρίου 2010 Βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική
συμπεριφοράς που θα παρατηρηθεί
ιδακτικοί Στόχοι Αποσαφηνίζουν την αλλαγή της συμπεριφοράς που θα παρατηρηθεί στους μαθητές μετά το πέρας της διδασκαλίας 1 Κανόνες για τη διατύπωση των στόχων Ενδιαφέρει το γνωστικό αποτέλεσμα και όχι
Αντικειμενοστραφής. Προγραμματισμού
Αντικειμενοστραφής προγραμματισμός Σημερινό μάθημα Μειονεκτήματα Δομημένου Προγραμματισμού Αντικειμενοστραφής προγραμματισμός Ορισμοί Κλάσεις Αντικείμεναμ Χαρακτηριστικά ΑΠ C++ Class 1 Δομημένος Προγραμματισμός
Αναγνώριση Προτύπων. Σημερινό Μάθημα
Αναγνώριση Προτύπων Σημερινό Μάθημα Bias (απόκλιση) και variance (διακύμανση) Ελεύθεροι Παράμετροι Ελεύθεροι Παράμετροι Διαίρεση dataset Μέθοδος holdout Cross Validation Bootstrap Bias (απόκλιση) και variance
ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.
ΣΤΟ ΦΑΡΜΑΚΕΙΟ Ο ασθενής έχοντας μαζί του το βιβλιάριο υγείας του και την τυπωμένη συνταγή από τον ιατρό, η οποία αναγράφει τον μοναδικό κωδικό της, πάει στο φαρμακείο. Το φαρμακείο αφού ταυτοποιήσει το
H εφαρμογή των Συστημάτων Γεωγραφικών Πληροφοριών στα Μοντέλα Συγκοινωνιακού Σχεδιασμού
H εφαρμογή των Συστημάτων Γεωγραφικών Πληροφοριών στα Μοντέλα Συγκοινωνιακού Σχεδιασμού Γ. Κατσούλης* Μηχανικός Γεωπληροφορικής και Τοπογραφίας Τ.Ε. Διευθ. Κουρμούλη 2, 11145, Αθήνα Α. Μοσχόπουλος Μηχανικός
Η Πληροφορική στο Δημοτικό Διδακτικές Προσεγγίσεις Αδάμ Κ. Αγγελής Παιδαγωγικό Ινστιτούτο
Η Πληροφορική στο Δημοτικό Διδακτικές Προσεγγίσεις Αδάμ Κ. Αγγελής Παιδαγωγικό Ινστιτούτο Α) Το γενικό πλαίσιο.ε.π.π.σ. και Α.Π.Σ. Β) Ο Υπολογιστής στην τάξη Γ) Ενδεικτικές ραστηριότητες Α) Το γενικό πλαίσιο.ε.π.π.σ.
τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές
Σ Υ Π Τ Μ Α 8 Ιουνίου 2010 Άσκηση 1 Μια εταιρία τηλεφωνίας προσπαθεί να βρει πού θα τοποθετήσει τις συνιστώσες τηλεφωνικού καταλόγου που θα εξυπηρετούν τους συνδρομητές της. Η εταιρία εξυπηρετεί κατά βάση
Λειτουργικά Συστήματα. Εισαγωγή
Λειτουργικά Συστήματα Εισαγωγή Λειτουργικά Συστήματα Ι 4/10/2016 Περιληπτικά Στο σημερινό μάθημα θα δούμε ποια είναι η θέση του Λειτουργικού Συστήματος στην οργάνωση ενός ηλεκτρονικού υπολογιστή. Σπύρος
Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Γέννηση τελικού κώδικα για RISC επεξεργαστές. 12 Ιανουαρίου 2011. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 12 Ιανουαρίου 2011 Σκιαγράφηση της διάλεξης Η αρχιτεκτονική επεξεργαστή MIPS Γέννηση τελικού κώδικα για τον
Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology)
Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology) 1 Υπολογιστές Οι υπολογιστές μπορούν να χωριστούν σε τρεις κατηγορίες, βάση της εφαρμογής τους: Επιτραπέζιοι
www.cslab.ece.ntua.gr
Ε ό Μ ό Π ί Σ ή Η ό Μ ώ Μ ώ Η/Υ Τ έ Τ ί Π ή Υ ώ Εργαστήριο Υπολογιστικών Συστημάτων www.cslab.ece.ntua.gr Διπλωματική εργασία Συγκριτική μελέτη μεθόδων αποθήκευσης αραιών πινάκων σε μπλοκ για την βελτιστοποίηση
Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ.
Εγχειρίδιο Χρήσης ΑΤ91
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΤΕΧΝΟΛΟΓΙΑΣ & ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Ver. 1, Rev. 3 Εγχειρίδιο Χρήσης ΑΤ91 ΧΑΡΙΔΗΜΟΣ ΒΕΡΓΟΣ ΝΙΚΟΛΑΟΣ ΚΩΣΤΑΡΑΣ ΠΑΤΡΑ 2007 Εγχειρίδιο
Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading
Κληρονομικότητα Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading 2 1 Κλάση Βάση/Παράγωγη Τα διάφορα αντικείμενα μπορούν να έχουν μεταξύ
ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ
ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ): ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ
Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.
ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ Ταξινόμηη των μοντέλων διαποράς ατμοφαιρικών ρύπων βαιμένη ε μαθηματικά κριτήρια. Μοντέλο Ελεριανά μοντέλα (Elerian) Λαγκρατζιανά μοντέλα (Lagrangian) Επιπρόθετος διαχωριμός Μοντέλα
Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Αρχιτεκτονικά χαρακτηριστικά των συσκευών Xilinx Spartan-3.
Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Οι αρχιτεκτονικές FPGA Xilinx Spartan-3 και Virtex-5 Νικόλαος Καββαδίας nkavv@uop.gr Η αρχιτεκτονική Xilinx Spartan-3 CLB Ενσωματωμένοι πολλαπλασιαστές
Μεταπτυχιακό Πρόγραμμα Σπουδών Γεωπληροφορική. Κατεύθυνση: Τοπογραφικές Εφαρμογές Υψηλής Ακρίβειας
Μεταπτυχιακό Πρόγραμμα Σπουδών Γεωπληροφορική Κατεύθυνση: Τοπογραφικές Εφαρμογές Υψηλής Ακρίβειας 1ο εξάμηνο Τεχνολογίες αιχμής στη Γεωδαισία και Τοπογραφία Παγκόσμιο σύστημα εντοπισμού θέσης (GPS), αδρανειακά
Κεφάλαιο 2.6: Η Διαδικασία Εντοπισμού Επιχειρηματικών Ευκαιριών. Το έκτο κεφάλαιο πραγματεύεται την ευρύτερη έννοια της
Κεφάλαιο 2.6: Η Διαδικασία Εντοπισμού Επιχειρηματικών Ευκαιριών Περίληψη Κεφαλαίου: Το έκτο κεφάλαιο πραγματεύεται την ευρύτερη έννοια της Επιχειρηματικής Ευκαιρίας, τα στάδια εντοπισμού της και τους γενικότερους
Εργαστηριακή Άσκηση Θερμομόρφωση (Thermoforming)
Σελίδα 1 Πανεπιστήμιο Κύπρου Τμήμα Μηχανικών Μηχανολογίας και Κατασκευαστικής ΜΜΚ 452: Μηχανικές Ιδιότητες και Κατεργασία Πολυμερών Εργαστηριακή Άσκηση Θερμομόρφωση (Thermoforming) Σελίδα 2 Εισαγωγή: Η
ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα ΥΠΟΛΟΓΙΣΤΗ Η ΔΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑΔΑ ΕΛΕΓΧΟΥ
ΥΠΟΛΟΓΙΣΤΕΣ Ι Η ΔΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ Τα επιμέρους τμήματα ΕΙΣΟΔΟΣ ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΕΛΕΓΧΟΥ ΑΡΙΘΜΗΤΙΚΗ ΛΟΓΙΚΗ ΕΞΟΔΟΣ ΚΕΝΤΡΙΚΗ ΕΠΕΞΕΡΓΑΣΙΑΣ 1 2 Αναπαράσταση μεγεθών ΜΕΤΡΟΥΜΕΝΟ ΜΕΓΕΘΟΣ ΑΝΑΛΟΓΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ
ΗΛΕΚΤΡΙΚΗ ΕΝΕΡΓΕΙΑ ΣΤΗ ΚΡΗΤΗ
ΗΛΕΚΤΡΙΚΗ ΕΝΕΡΓΕΙΑ ΣΤΗ ΚΡΗΤΗ ΑΝΤΙΟΠΗ ΓΙΓΑΝΤΙ ΟΥ Τοµεάρχης Λειτουργίας Κέντρων Ελέγχου Συστηµάτων Μεταφοράς ιεύθυνσης ιαχείρισης Νησιών ΗΛΕΚΤΡΙΚΟ ΣΥΣΤΗΜΑ ΚΡΗΤΗΣ 2009 Εγκατεστηµένη Ισχύς (Ατµοµονάδες, Μονάδες
Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας (ΙΙ) Νικόλαος Καββαδίας nkavv@uop.gr 26 Μαΐου 2010 Μετασχηματισμοί βρόχου (loop
Writing kernels for fun and profit
Writing kernels for fun and profit Γιάννης Τσιομπίκας nuclear@memberfsforg 23 Μαρτίου 2011 Γιατί; It s FUN! Εξοικείωση με το hardware Εμβάθυνση στον θαυμαστό κόσμο των λειτουργικών συστημάτων Μια καλή
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1 Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Σύνολο Εντολών Το ρεπερτόριο
Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1
Τεχνολογίες ημιαγωγών Chapter 2 Instructions: Language of the Computer 1 Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Διαφάνειες
Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και.
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@uop.gr 24 Απριλίου 2012 Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State Machine) Ορισμός
Γλώσσες Περιγραφής Υλικού Ι
Γλώσσες Περιγραφής Υλικού Ι Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@uop.gr 24 Απριλίου 2012 Σκιαγράφηση της διάλεξης Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State Machine) Ορισμός
Προτεινόμενα θέματα. στο μάθημα. Αρχές οργάνωσης και διοίκησης επιχειρήσεων. ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους.
Προτεινόμενα θέματα στο μάθημα Αρχές οργάνωσης και διοίκησης επιχειρήσεων ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους Στις παρακάτω προτάσεις να γράψετε δίπλα στον αριθμό της καθεμιάς τη λέξη Σωστό αν κρίνετε ότι
Σχεδίαση Ψηφιακών Κυκλωμάτων
Σχεδίαση Ψηφιακών Κυκλωμάτων Η αρχιτεκτονική οργάνωση των FPGA Νικόλαος Καββαδίας nkavv@uop.gr 21 Δεκεμβρίου 2010 Σκιαγράφηση της διάλεξης Εισαγωγή στις προγραμματιζόμενες συσκευές Η αρχιτεκτονική οργάνωση
Γέννηση ενδιάμεσης αναπαράστασης. Προηγμένα Θέματα Θεωρητικής Πληροφορικής. Τύποι IR. Άποψη του μεταγλωττιστή από την πλευρά της IR.
Η έννοια της ενδιάμεσης αναπαράστασης Προηγμένα Θέματα Θεωρητικής Πληροφορικής Γέννηση ενδιάμεσης αναπαράστασης Νικόλαος Καββαδίας nkavv@uop.gr 17 Μαρτίου 2010 Ενδιάμεση αναπαράσταση (IR: intermediate
«Εξατομικεύοντας την επιλογή των πόρων των ψηφιακών βιβλιοθηκών για την υποστήριξη της σκόπιμης μάθησης» Άννα Μαρία Ολένογλου
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΥΠΗΡΕΣΙΕΣ ΠΛΗΡΟΦΟΡΗΣΗΣ ΣΕ ΨΗΦΙΑΚΌ ΠΕΡΙΒΑΛΛΟΝ Εργασία στο μάθημα «Ψηφιακές Βιβλιοθήκες» Παρουσίαση του άρθρου (ECDL, 2008, LNCS,
ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1α ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ Οι επιστήμονες ταξινομούν τους οργανισμούς σε ομάδες ανάλογα με τα κοινά τους χαρακτηριστικά. Τα πρώτα συστήματα ταξινόμησης βασιζόταν αποκλειστικά στα μορφολογικά
Προτεινόμενα θέματα. στο μάθημα. Αρχές οργάνωσης και διοίκησης επιχειρήσεων. ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους.
Προτεινόμενα θέματα στο μάθημα Αρχές οργάνωσης και διοίκησης επιχειρήσεων ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους Στις παρακάτω προτάσεις να γράψετε δίπλα στον αριθμό της καθεμιάς τη λέξη Σωστό αν κρίνετε ότι
Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων κώδικας
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση συνδυαστικών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 06 Μαρτίου 2012 Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 2. Εντολές : Η γλώσσα του υπολογιστή
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Δεύτερη (2 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο
ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ
ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 3 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΣΥΝΟΛΟΥ ΕΝΤΟΛΩΝ Αρχιτεκτονικές συσσωρευτή Αρχιτεκτονικές επέκτασης συσσωρευτή Αρχιτεκτονικές στοίβας Αρχιτεκτονικές
Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2
Τμήμα Μησανικών Πληποφοπικήρ, Τ.Ε.Ι. Ηπείπος Ακαδημαϊκό Έτορ 2016-2017, 6 ο Εξάμηνο Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2 Διδάςκων Τςιακμάκθσ Κυριάκοσ, Phd MSc in Electronic Physics (Radioelectrology)
Συναρτήσεις & Κλάσεις
Συναρτήσεις & Κλάσεις Overloading class member συναρτήσεις/1 #include typedef unsigned short int USHORT; enum BOOL { FALSE, TRUE}; class Rectangle { public: Rectangle(USHORT width, USHORT
ΕΚ ΤΩΝ ΠΡΟΤΕΡΩΝ ΑΙΡΕΣΙΜΟΤΗΤΕΣ
ΕΚ ΤΩΝ ΠΡΟΤΕΡΩΝ ΑΙΡΕΣΙΜΟΤΗΤΕΣ Πρόοδος εκπλήρωσης Ε.Π. «Περιφέρειας Κεντρικής Μακεδονίας 2014 2020» Εθνική Αρχή Συντονισμού ΕΣΠΑ Ειδική Υπηρεσία Στρατηγικής, Σχεδιασμού & Αξιολόγησης 19 Ιουνίου 2015 ΑΠΟΤΥΠΩΣΗ
ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ
ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ Σύνταξη: Παπαδόπουλος Θεοχάρης, Οικονομολόγος, MSc, PhD Candidate Κατηγορίες οφέλους και κόστους που προέρχονται από τις δημόσιες δαπάνες Για την αξιολόγηση
Journal of the Graduate School of the Chinese Academy of Sciences. Application Dependent Software. Standard Application Components.
21 2 2004 4 Journal of the Graduate School of the Chinese Academy of Sciences Vol. 21 April No. 2 2004 :1002 1175 (2004) 0220254205 RTEMS 1 1 1 2 (1, 100084 ; 2, 100039) (2003 1 13 ; 2003 3 6 ) RTEMS,,.
Συναρτήσεις ΙΙ. Σημερινό μάθημα
Συναρτήσεις ΙΙ 1 Σημερινό μάθημα Εμβέλεια Εμφωλίαση Τύπος αποθήκευσης Συναρτήσεις ως παράμετροι Πέρασμα με τιμή Πολλαπλά return Προκαθορισμένοι ρ Παράμετροι ρ Υπερφόρτωση συναρτήσεων Inline συναρτήσεις
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία
Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10
Φροντιστήριο 2: Ανάλυση Αλγόριθμου Εκλογής Προέδρου με O(nlogn) μηνύματα Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10 Περιγραφικός Αλγόριθμος Αρχικά στείλε μήνυμα εξερεύνησης προς τα δεξιά
Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 6 ο και 7 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 6 ο και 7 ο Μοντέλα Συνόλων Εντολών Συσσωρευτή Επέκτασης συσσωρευτή Στοίβας Καταχωρητών γενικού σκοπού Μνήμης-μνήμης Καταχωρητή-μνήμης Καταχωρητή-καταχωρητή Κατηγοριοποίηση RISC
Σχεδίαση Ψηφιακών Κυκλωμάτων
Σχεδίαση Ψηφιακών Κυκλωμάτων Συνδυαστική και ακολουθιακή λογική Νικόλαος Καββαδίας nkavv@uop.gr 10 Νοεμβρίου 2010 Σκιαγράφηση της διάλεξης Αρχές σχεδίασης συνδυαστικών κυκλωμάτων CMOS Λογικές πύλες και
Γλώσσες Περιγραφής Υλικού Ι. Εισαγωγικά. Οργάνωση των παραδόσεων. nkavv@uop.gr. 1 Εισαγωγή στη Verilog HDL. 28 Φεβρουαρίου 2012
Αντικείμενο του μαθήματος CST304: Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Εισαγωγή στη Verilog HDL Νικόλαος Καββαδίας nkavv@uop.gr 28 Φεβρουαρίου 2012 Επιμέρους στόχοι του μαθήματος Σχεδιασμός
Αναγνώριση Προτύπων 1
Αναγνώριση Προτύπων 1 Σημερινό Μάθημα Βασικό σύστημα αναγνώρισης προτύπων Προβλήματα Πρόβλεψης Χαρακτηριστικά και Πρότυπα Ταξινομητές Classifiers Προσεγγίσεις Αναγνώρισης Προτύπων Κύκλος σχεδίασης Συστήματος
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Intel x86 ISA. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Intel x86 ISA Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ RISC vs. CISC Η assembly των επεξεργαστών ARM, SPARC (Sun), και Power (IBM) είναι όμοιες
Μητροπολιτικά Οπτικά Δίκτυα. 11.1. Εισαγωγή
Μητροπολιτικά Οπτικά Δίκτυα 11.1. Εισαγωγή Τα τηλεπικοινωνιακά δίκτυα είναι διαιρεμένα σε μια ιεραρχία τριών επιπέδων: Στα δίκτυα πρόσβασης, τα μητροπολιτικά δίκτυα και τα δίκτυα κορμού. Τα δίκτυα κορμού
Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Ορισμοί για τις χρονικές καθυστερήσεις διάδοσης. Συνδυαστική και ακολουθιακή λογική
Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Συνδυαστική και ακολουθιακή λογική Νικόλαος Καββαδίας nkavv@uop.gr Αρχές σχεδίασης συνδυαστικών κυκλωμάτων CMOS Λογικές πύλες και βασικά συνδυαστικά
Α) Ανάλογα με τη φύση των κονδυλίων που περιλαμβάνουν οι προϋπολογισμοί διακρίνονται σε:
Ο διαγωνισμός της Εθνικής Σχολής Δημόσιας Διοίκησης προϋποθέτει, ως γνωστόν, συνδυασμό συνδυαστικής γνώσης της εξεταστέας ύλης και θεμάτων πολιτικής και οικονομικής επικαιρότητας. Tα Πανεπιστημιακά Φροντιστήρια
Ειδικά Θέματα Ι. Σήμερα!
Ειδικά Θέματα Ι Σήμερα! Static Member Πρόσβαση χωρίς αντικείμενο private static member Static Member Functions Πρόσβαση συνάρτησης χωρίς αντικείμενο Δείκτες σε συνάρτηση η Πίνακες δεικτών σε συνάρτηση
Σκιαγράφηση της διάλεξης. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και.
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@physics.auth.gr, nkavv@uop.gr 12 Μαΐου 2009 Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State
Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος
Προηγμένοι Μικροεπεξεργαστές Έλεγχος Ροής Προγράμματος 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
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1. Τοποθέτηση παραμέτρων 2. Μεταβίβαση ελέγχου στη διαδικασία 3. Λήψη πόρων αποθήκευσης 4. Εκτέλεση επιθυμητής εργασίας 5. Τοποθέτηση αποτελέσματος σε
Κεφάλαιο 2.4: Τα βασικά στοιχεία ενός Επιχειρηματικού Σχεδίου (Business Plan) Μέσα από αυτό το κεφάλαιο φαίνεται ότι αφενός η σωστή δημιουργία και
Κεφάλαιο 2.4: Τα βασικά στοιχεία ενός Επιχειρηματικού Σχεδίου (Business Plan) Περίληψη Κεφαλαίου: Μέσα από αυτό το κεφάλαιο φαίνεται ότι αφενός η σωστή δημιουργία και αφετέρου η σωστή εφαρμογή του Επιχειρηματικού
Συμπεριφοριακή Επιχειρηματικότητα
Συμπεριφοριακή Επιχειρηματικότητα Great talent can come from anywhere, free your mind Το ταλέντο μπορεί να εμφανιστεί από οπουδήποτε, ελευθερώστε το μυαλό σας 1 Επιχειρηματίας Entrepreneur Γαλλική προέλευση
Σχεδίαση Ψηφιακών Κυκλωμάτων
Σχεδίαση Ψηφιακών Κυκλωμάτων Η γλώσσα περιγραφής υλικού VHDL - Μέρος Ι Νικόλαος Καββαδίας nkavv@uop.gr 01 Δεκεμβρίου 2010 Σκιαγράφηση της διάλεξης Εισαγωγή στη VHDL Δομές ακολουθιακού και συντρέχοντος
Η δήλωση `ifdef...`else...` endif
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Σύνταξη παραμετρικών περιγραφών και σχεδίαση μνημών Νικόλαος Καββαδίας nkavv@uop.gr 03 Απριλίου 2012 Σύνταξη παραμετρικών περιγραφών Δηλώσεις του προεπεξεργαστή
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 - Λύσεις 1. Εστω ο πίνακας Α = [12, 23, 1, 5, 7, 19, 2, 14]. i. Να δώσετε την κατάσταση
Εργαστήριο Υπολογιστικών Συστημάτων
Ε ό Μ ό Π ί Σ ή Η ό Μ ώ Μ ώ Η/Υ Τ έ Τ ί Π ή Υ ώ Εργαστήριο Υπολογιστικών Συστημάτων www.cslab.ece.ntua.gr Διπλωματική εργασία Μελέτη και υλοποίηση του αριθμητικού υπολογιστικού πυρήνα του Πολλαπλασιασμού
MIPS functions and procedures
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης MIPS functions and procedures Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος
ιαφορικές Εξισώσεις Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Ατελείς ιδιοτιμές Εκθετικά πινάκων Μανόλης Βάβαλης Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας 9 Απριλίου
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ. Διαφάνειες από το MicroArch 35 Tutorial του Simics
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Διαφάνειες από το MicroArch 35 Tutorial του Simics http://www.cs.pitt.edu/~cho/cs2410/currentsemester/handouts/simics cho/cs2410/currentsemester/handouts/simics_tutorial.pdftutorial.pdf
Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 3-4: Προγραμματισμός MIPS. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 3-4: Προγραμματισμός MIPS Προγραμματισμός σε Συμβολική Γλώσσα Η συμβολική γλώσσα: δεν έχει τύπους, δεν έχει δηλώσεις μεταβλητών, δεν έχει δομές ελέγχου, δεν έχει εντολές βρόχων,
JAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java
JAVA TUTORIAL Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Εργαστήριο Παράλληλης Κατανεμημένης Επεξεργασίας ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java ΚΕΦΑΛΑΙΟ
Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1
Εργαστήριο Αρ. 1 Εισαγωγή στην Αρχιτεκτονική MIPS Πέτρος Παναγή Σελ. 1 Πώς Δημιουργείτε ένα Executable Αρχείο Source File: Ένα TEXT αρχείο με τον πυγαίο κώδικα. Assemble: Μεταφράζει τις assembly εντολές
Προχωρηµένα Θέµατα Αρχιτεκτονικής
Προχωρηµένα Θέµατα Αρχιτεκτονικής Μάθηµα 2 ο : Instruction Set Principles and Examples Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 1 Σχεδιασµός Συνόλου Εντολών Θέµατα που θα συζητηθούν ιαφορετικές επιλογές
ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86
ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 Αρης Ευθυμίου Το σημερινό μάθημα! Λυση του lab02! Αρχιτεκτονική ARM σε τι μοιάζει και σε τι διαφέρει από τον MIPS! Αρχιτεκτονική x86 μια γρήγορη ματιά στη
Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π.
Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π. Θεωρία Παιγνίων (;) αυτά είναι video παίγνια...... αυτά δεν είναι θεωρία παιγνίων
Γλώσσες Περιγραφής Υλικού Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@physics.auth.gr, nkavv@uop.gr 12 Μαΐου 2009 Σκιαγράφηση της διάλεξης Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java Γαβαλάς Δαμιανός dgavalas@aegean.gr Στόχοι μαθήματος Διάκριση και κατανόηση των υφιστάμενων