Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1
Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2
ARM cores ARM: IP (intellectual property!) provider. πυρήνες RISC (ARM cores) για προϊόντα SoC (System-on-Chip). 3
Παράδειγµα System-on-Chip ARM CPU Smart card I/F Audio codec I/F SDRAM controller AMBA-bus SRAM LCD controller UART Synchronous serial port AMBA bus: ARM specification γρήγορα και αργά περιφερειακά 4
Χαρακτηριστικά StrongARM Αρχιτεκτονική RISC (load/store). Ξεχωριστές Ιnstruction & Data Caches. 5-stage pipeline. Ενιαίο register file. Απλή διευθυνσιοδότηση. offset / register addressing Εκτέλεση υπό συνθήκη όλων των εντολών. 4-bit condition code 5
Αρχιτεκτονική StrongARM (BYTE Magazine) όχι superscalar ειδικοί αθροιστές (+4) για δηµιουργία διευθύνσεων 5-port register file 6
StrongARM Pipeline instruction fetch register read instr. issue execute buffer and cache access register write branch address forwarding condition code forwarding 5 βαθµίδες. Πρώιµος υπολογισµός branch address. όχι branch prediction - απλούστερο κύκλωµα forwarding: 1-cycle penalty (single-issue) 7
Προγραµµατιστικό µοντέλο Τύποι δεδοµένων 8, 16 και 32 bits Τρόποι λειτουργίας user: normal mode FIQ: fast interrupt mode IRQ: interrupt mode supervisor: OS mode abort: virtual memory faults undefined: coprocessor emulation system: OS mode 8
Καταχωρητές 30 γενικής χρήσης banked ανάλογα µε τρόπο λειτουργίας κάθε στιγµή 16 προσπελάσιµοι 6 καταχωρητές κατάστασης current program status register (CPSR) saved program status register (SPSR) σε περίπτωση interrupts (exceptions) program counter (register 15) 9
Interrupts (exceptions) IRQ (interrupt) FIQ (fast interrupt) software interrupt memory fetch abort reset undefined instruction 10
Εντολές StrongARM Branch υπό συνθήκη: +/- 32MB branch & link: κλήση ρουτινών άµεση φόρτωση PC (4GB space access) Data Processing arithmetic & logical Load/Store immediate / register / scaled register offsets Αλλες Εντολές status access, coprocessor, semaphore 11
System Control Module Intel SA-1110 StrongARM core -real time clock -OS Timer -general I/O -interrupt controller -power management -reset control Peripheral Control Module -LCD, USB & serial controller -UART & CODEC Memory Module -έλεγχος SRAM & DRAM -PCMCIA 12
Σήµατα SA-1110 memory address & data memory control general I/O ports LCD control PCMCIA control serial, USB, UART & CODEC power management 13
SA-1110 memory map 14
SA-1110: Caches I-Cache: 16kbyte, 32-way associative. 512 lines x 32 bytes D-caches: main D-cache: 8Kbyte, 32-way associative minicache: 16 lines x 32 bytes, 2-way assoc. για αποθήκευση µεγάλων δοµών δεδοµένων Write Buffer: έως 8 blocks των 1-16 bytes. Read Buffer: data prefetch 15
MMU: ιαχείριση µνήµης Ρόλος MMU: µετάφραση virtual διευθύνσεων σε φυσικές έλεγχος προνοµίων προσπέλασης µνήµης Sections: 1MB blocks Pages: 4KB ή 64ΚΒ blocks Domains: περιοχές µνήµης µε ατοµικά προνόµια προσπέλασης 16
StrongARM: Μηχανισµός µετάφρασης διευθύνσεων 17
I/O γενικού σκοπού (1) 18
I/O γενικού σκοπού (2) 28 γραµµές εισόδου/εξόδου. Προγραµµατισµός ως pin εισόδου ή εξόδου. υνατότητα ανίχνευσης ανερχόµενης ή κατερχόµενης ακµής (pins εισόδου). Ελεγχος και ανάγνωση τιµών µέσω καταχωρητών ελέγχου (memory-mapped). Τα pins χρησιµοποιούνται κι από άλλες λειτουργίες (serial port, LCD controller..) 19
Interrupt Controller Καταχωρητές (memory-mapped) για ανίχνευση, ενεργοποίηση και έλεγχο interrupts. 20
Real Time Clock Γενικής χρήσης ρολόι πραγµατικού χρόνου οδήγηση από 32.768 khz ταλαντωτή δυνατότητα alarm OS Timer οδήγηση από 3.6864 ΜHz ταλαντωτή free-running 3 match registers µε δυνατότητα δηµιουργίας interrupt 21
Power Modes Run mode κανονική κατάσταση λειτουργίας όλα τα τµήµατα του chip είναι ενεργά Idle mode CPU clock ανενεργό περιφερειακά ενεργά, έλεγχος interrupts Sleep Mode διακοπή τροφοδοσίας στο µεγαλύτερο µέρος του επεξεργαστή έλεγχος για wake-up events 22