Η Αρχιτεκτονική Ενός smartphone

30
Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΕΝΟΣ SMARTPHONE Ρούσου Σοφία ms13056

Upload: sophiar

Post on 26-Dec-2015

38 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Η Αρχιτεκτονική Ενός Smartphone

Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΕΝΟΣ SMARTPHONEΡούσου Σοφία

ms13056

Page 2: Η Αρχιτεκτονική Ενός Smartphone

ΠΕΡΙΕΧΟΜΕΝΑΠρόλογος ........................................................................................................................................ 3

Η αρχιτεκτονική ενός Smartphone .................................................................................................... 7

Chip ...........................................................................................................................................................8

Πιο Αναλυτικά.........................................................................................................................................11

Καταστάσεις της CPU .........................................................................................................................13

Καταχωρητές ARM .............................................................................................................................15

Exceptions ...............................................................................................................................................17

Exception Handling .................................................................................................................................19

Οι επιπλέον καταστάσεις .......................................................................................................................21

Jazelle .................................................................................................................................................21

Thumb.................................................................................................................................................21

Υποστήριξη Λειτουργικών Συστημάτων.................................................................................................22

32-bit Λειτουργικά Συστήματα...........................................................................................................22

64-bit Λειρτουργικά Συστήματα.........................................................................................................23

Περιφερειακα..................................................................................................................................25

Συνοψίζοντας ένα τυπικό SoC αποτελείται ............................................................................................27

Αναφορές ......................................................................................................................................30

Page 3: Η Αρχιτεκτονική Ενός Smartphone

ΠΡΟΛΟΓΟΣ

Ενα smartphone ή αλλιώς ένα έξυπνο τηλέφωνο είναι ένα κινητό τηλέφωνο με πολύ πιο

προηγμένα χαρακτηριστικά.

(κατα Oxford Dictionary, ένα κινητό τηλέφωνο που έχει την δυνατότητα να εκτελεί

λειτουργίες ενός Υπολογιστή, συνήθως φέροντας μια σχετικά μεγάλη οθόνη και ένα

λειτουργικό σύστημα το οποίο έχει την

δυνατότητα να τρέχει εφαρμογές γενικού

ενδιαφέροντος). Ένα συνηθισμένο smartphone

έχει μια οθόνη αφής υψηλής ανάλυσης,

συνδεσιμότητα WiFi. Δυνατότητες περιήγησης

στο διαδίκτυο. Και την δυνατότητα να μπορεί να

τρέχει εξηζητημένες εφαρμογές που έχουν

σχεδιαστεί για το αντίστοιχο λειτουργικό

σύστημα που διαθέτει.

Τα διαθέσιμα λειτουργικά συστήματα που

τρέχουν σε ένα smartphone είναι Android,

Symbian, iOS, BlackBerry OS και Windows

Mobile.

Εικόνα 1. Simon Personal Communicator Η πρώτη σύλληψη συσκευών τύπου

smartphone, που συμπεριλάμβαναν την

Page 4: Η Αρχιτεκτονική Ενός Smartphone

δυνατότητα τηλεφώνου με υπολογιστή πραγματοποιήθηκε το

1973, αλλά έφτασαν στην πώληση στις αρχές του 1994.

Το 1994, η IBM και η BellSouth εισήγαγαν έναν συνδυασμό

τηλεφώνου και PDA με την ονομασία Simon Personal

Communicator. Το Simon που συχνα αναφέρεται ως το πρώτο

smartphone, ήταν πολύ ακριβό (Η BellSouth Cellular αρχικά το

προσέφερε για US$899 με διετές συμβόλαιο ή στα US$1099

χωρίς συμβόλαιο. Αργότερα μείωσε την τιμή στα US$599 με

διετές πάλι συμβόλαιο) και βαρύ (510γρ). Εικόνα 2. GS 88 “Penelope”

Παρόλο που ήταν ακριβο έφτασε στα 50.000 κομμάτια πώλησης ενώ η διανομή του διακόπηκε

τον Φεβρουάριο του 1995.

Για τα smartphones πέρασε άλλη μια δεκαετια για να αρχίσουν να παίρνουν την τελική τους

μοφή και την διάδοση που απολαμβάνουν στις μέρες μας.

Ο όρος smartphone εμφανίστηκε πρώτη φορά το 1997, όπου η Ericsson έδωσε τον τίτλο στην

GS 88 “Penelope” του «Εξυπνου Τηλεφώνου».

Το πρώτο όμως Ευρωπαικό Smart Phone ήταν το Nokia 9000 Communicator το 1996.

Το Nokia 9000 ζύγιζε 397 γρμ. Και συνδεόταν στα GSM δίκτυα στη συχνότητα των 900MHz,

υποστηριζόταν απο ενα Intel 386 επεξεργαστή στα 24 MHz με το λειτουργικό σύστημα GEOS,

βασισμένο στην αρχιτεκτονική των ROM-DOS. Και οι δυο οθόνες του ηταν μαύρες, και σε

Page 5: Η Αρχιτεκτονική Ενός Smartphone

αντίθεση με το Simon δεν ήταν

αφής, η βασική οθόνη όμως

υποστήριζε την θεαματική ανάλυση

των 640 x 200 pixels.

To 1999 η Nokia εισήγαγε το

«δεύτερης γενιάς» communicator

της, το 9110, ζύγιζε 253 γρμ. Οι

διαστάσεις του ήταν 158 x 56 x 27 mm πολύ μικρότερο δηλαδή απο τα προηγούμενα μοντέλα.

Ο ενσωματωμένος επεξεργαστής ήταν ο AMD Elan SC450 486 στα 33 MHz.

Άλλο ένα πολύ σημαντικό βήμα στην ιστορία των Smartphones που αξίζει να σημειωθεί είναι

το της Nokia, περί το 2000-2001, τρίτης γενιάς. Η πρώτη και πιο σημαντική διαφορά ήταν η

παρουσία του χρώματος για πρώτη φορά. Η τεχνολογία των επεξεργαστων x86, ARM9 της

Nokia αναβαθμίστηκαν στα 52 MHz με Symbian πλέον λειτουργικό.

Μετα απο πολύχρονες διαμάχες και ανταγωνισμούς, το 2007 ένα γεγονός ήρθε για να αλλάξει

την ιστορία των smartphones. Η Apple εισάγει το iPhone της στην αγορά. Αν και δεν ήταν το

πρώτο smartphone οπως το γνωρίζουμε (δεν μπορούσε ο χρήστης να εγκαταστήσει ακόμα

εφαρμογές), δείχνει ουσιαστικά την τροπή που θα πάρουν τα smartphones τα ερχόμενα

χρόνια.

Και εφόσον πραγματοποιούμε μια ιστορική αναδρομή στα smartphones δεν θα πρεπε να

λείπει μια ανφορά στα BlackBerries.

Page 6: Η Αρχιτεκτονική Ενός Smartphone

To πρωτο BlackBerry, smartphone κυκλοφόρησε το 2003. Μπορούσε εκτός απο τηλεφωνικές

λειτουργίες να στέλνει και να παραλαμβάνει email & text μηνυματα καθώς και έδινε στον

χρήστη την δυνατότητα να σερφάρει στο ιντερνετ. Εξαρχής η BlackBerry είχε εστιάσει στην

δυνατότητα αποστολής/λήψης email. Για αυτόν τον λόγο έχουν κρατήσει το πληκρολόγιο

Qwerty σχεδόν σε όλα τα κινητά τους. Τα Blackberry με τον καιρο δεν απέχουν πολύ απο τα

υπόλοιπα κινητά στα SoC που χρησιμοποιούν, δλδ στο hardware, είναι τα ίδια που

χρησιμοποιούν και άλλες κινητές συσκευές, ανάλογα την περίπτωση.

Οι εταιρείες των SmartPhone βασίζονται στις υπηρεσίες και στα resources (πχ applications),

και στα περιφερειακα που διαθέτουν και προσφέρουν για να διαφοροποιηθούν απο τις λοιπές

κατασκευαστικές εταιρείες και όχι στον βασικό πυρήνα των συσκευων.

Page 7: Η Αρχιτεκτονική Ενός Smartphone

Η ΑΡΧΙΤΕΚΤΟΝΙΚΉ ΕΝΌΣ SMARTPHONE

Page 8: Η Αρχιτεκτονική Ενός Smartphone

Η αρχιτεκτονική του περιγράφεται απο ενα «system-on-chip» ολόκληρο σύστημα πάνω σε εναchip. Με τρία βασικά components.

Εναν application processor που τρέχει τις εφαρμογές του τελικού χρήστη, με την βοηθεια τουενδιάμεσου λογισμικού «middleware» και του λειτουργικού συστήματος.

Ένα μόντεμ ή έναν επεξεργαστή BP ( baseband processor: is a device, a chip or part of a chip, ina network interface that manages all the radio functions) με το δικό του λειτουργικό σύστημακαι μέρη που απαντούν στις βασικές λειτουργίες επικοινωνίας (μετάδοση, παραλαβή φωνής,βίντεο και πεχόμενα δεδομένων)

Περιφεριακά στοιχεία για την αλληλεπίδραση με τον χρήστη.

CHIP

Οι περιορισμοί σχετικά με το μέγεθος και την κατανάλωση της μπαταρίας έδωσε τελείωςδιαφορετική τροπή στην εξέλιξη των έξυπνων τηλεφώνων από τον υπολογιστή,χρησιμοποιώντας επεξεργαστές χαμηλής κατανάλωσης και εξαιρετικά ολοκληρωμένα τσιπ .

Η μεγαλύτερη αλλαγή έγινε στην επιλογή επεξεργαστών ARM chips και όχι x86. Οι ARM είναι32 - bit RISC επεξεργαστές, και διαθέτουν μια εξαιρετικά «οικονομική» αρχιτεκτονική,χρησιμοποιώντς λίγα τρανζίστορ μειώνοντας κατά πολύ την κατανάλωση της ενέργειας.

Αν και δεν είναι ευρέως διαδεδομένο, οι επεξεργαστές ARM χρησιμοποιούνται σε όλα τα είδητων συσκευών, routers και ADSL modems για video games, πχ Nintendo DS . Σχεδόν κάθεηλεκτρονική συσκευή που έχουμε στο σπίτι και χρησιμοποιει επεξεργαστή 32 bit και δεν είναιένα PC, χρησιμοποιεί έναν ή περισσότερους επεξεργαστές ARM, συμπεριλαμβανομένων, καιτων smartphone.

Ένα άλλο ατού που καθιστά τους ARM κυρίαρχους είναι η ενσωμάτωσηστοιχείων/εξαρτημάτων και η χρήση ειδικών ελεγκτών (controllers) για διαφορετικέςλειτουργίες, σε αντίθεση απο έναν υπολογιστή, όπου σχεδόν όλα γίνονται από τον κύριοεπεξεργαστή. Το πλεονέκτημα στην αντιστοιχιση ελεγκτών είναι ότι οι λειτουργίες τους

Page 9: Η Αρχιτεκτονική Ενός Smartphone

εκτελούνται απευθείας στο υλικό, αντί να εκτελούν λογισμικό πρώτα που προορίζεται νακάνει την ίδια διαδικασία.

Έτσι οι επεξεργαστές αυτοί καταλήγουν να εκτελούν τις λειτουργίες τους με λιγότερατρανζίστορ και λιγότερους κύκλους επεξεργασίας (processing cycles). Αυτό σημαίνειχαμηλότερη κατανάλωση ενέργειας. Κάθε smartphone ενσωματώνει πολλούς τέτοιου τύπουdrivers, οι οποίοι βρίσκονται σε ‘Stand by’ mode τον περισσότερο καιρό και αρχίζουν τηνλειτουργία τους μόνο όταν γίνεται σε αυτούς κάποια κλήση .

Παρακάτω φαίνεται ο OMAP2420, κατασκευάζεται από την Texas Instruments, και αποτελείένα παράδειγμα επεξεργαστή που προορίζονται για χρήση σε smartphones, το συγκεκριμένομοντέλο χρησιμοποιείται σε πολλά μοντέλα της Nokia, συμπεριλαμβανομένου του N95 καιE90.

Όπως άλλα τέτοιου τύπου chips, είναι στην πραγματικότητα ένα SoC (System On Chip -

σύστημα σε ένα τσιπ ), δλδ συμπεριλαμβάνει μια CPU και άλλα εξαρτήματα σε ένα ενιαίο τσιπ.

Page 10: Η Αρχιτεκτονική Ενός Smartphone

Το συγκεκριμένο SoC περιλαμβάνει εναν επεξεργαστή ARM11, ένα chip DSP πομπών για τις

ζώνες συχνοτήτων που υποστηρίζονται, και διεπαφές συνδεδεμένες με άλλα εξαρτήματα.

Συμπεριλαμβάνει εναν video accelerator, που αποκωδικοποιει διάφορα video formats,

επεξεργάζεται φωτογραφίες και βίντεο που προέρχονατι απο την κάμερα (καθώς και άλλες

συναφείς λειτουργίες). Επίσης συμπεριλαμβάνει εναν 3D accelerator, που ενεργοποιείται όταν

τρέχουν παιχνίδια είτε εφαρμογές που χρησιμοποιούν 3D γραφικά. Η απόδοση βέβαια είναι

πολύ μικρή, μόνο στα 2megapixels (συγκριτικά με την VooDoo 1 καρτα του 1996 που είχε

απόδοση 50megapixels), αυτό βέβαια γιατί η κατανάλωση ισχύος πρέπει να παραμείνει

χαμηλή.

Page 11: Η Αρχιτεκτονική Ενός Smartphone

ΠΙΟ ΑΝΑΛΥΤΙΚΑ

Page 12: Η Αρχιτεκτονική Ενός Smartphone

CPU

Η αρχιτεκτονική του ARM ειναι τύπου RISC (Reduced

Instruction Set Computer) καθώς:

- Περιλαμβάνει ένα μεγάλο ενιαίο register file

RISC, είναι η προσέγγιση τωνδυνατοτήτων μιας CPU designκαι βασίζεται στην απλοποίησητου instruction set για να επιτύχεικαλύτερη απόδοση, αν ηαπλότητα της μπορεί να παρέχειταχύτερη εκτέλεση κάθε εντολής.

Η αντιδιαμετρική τεχνολογίαονομάζεται CISC (ComplexInstruction Set Computing).

Page 13: Η Αρχιτεκτονική Ενός Smartphone

- Αρχιτεκτονική load/store, οπου τα δεδομένα που επεξεργάζονται βρίσκονται σε

registers και όχι απευθυείας σε θέσεις μνήμης.

- Απλους τύπους διευθυνσιοδότησης, με τις διευθύνσεις να δίνονται απ τα περιεχόμενα

των registers και απο τις εντολές.

- Ενιαίες και σταθερου μήκους εντολές, για την απλοποίηση της αποκωδικοποίησης.

Επιπλέον η αρχιτεκτονική ARM παρέχει:

- Έλεγχο της ALU (Arithmetic Logic Unit) και του επιλογέα (Shifter) – επιλέγει απο που θα

δεχτεί είσοδο η ALU.

- Auto-increment και auto-decrement στην διευθυνσιοδότηση, για την βελτιστοποίηση

των βρόχων στον προ/σμο.

- Load και store πολλαπλων εντολών για να μεγιστοποιήσει το data throughput.

Τα θετικά αυτών των προσθέσεων στην αρχιτεκτονική των RISC, δείνει στον ARM

επεξεργαστή την δυνατότητα μεγαλύτερης απόδοσης, μικρού μεγέθους κώδικα,

χαμηλή κατανάλωση ισύος, και μικρό όγκο.

ΚΑΤΑΣΤΑΣΕΙΣ ΤΗΣ CPU

User mode, μη προνομιούχα κατάσταση.

Page 14: Η Αρχιτεκτονική Ενός Smartphone

FIQ mode, προνομιούχα κατάσταση στην οποία εισέρχεται ο επεξεργαστής οταν

δέχεται διακοπή τύπου FIQ

IRQ mode, προνομιούχα κατάσταση στην οποία εισέρχεται ο επεξεργαστής οταν

δέχεται διακοπή τύπου IRQ.

Supervisor (svc) mode, προνομιούχα κατάσταση στην οποία εισέρχεται ο

επεξεργαστής οταν γίνεται reset στην CPU ή οταν εκτελείται εντολή τύπου SVC.

Abort mode, προνομιούχα κατάσταση στην οποία εισέρχεται ο επεξεργαστής όταν

λαμβάνει χώρα εξέρεση τύπου Prefetch Abort ή Data Abort.

Undefined mode, προνομιούχα κατάσταση οταν εκτελεστεί κάποια απροσδιόριστη

εντολή και λάβει χώρα το undefined instruction exception.

System mode (ARMv4 και μετά), η μόνη προνομιακή κατάσταση που δεν έχουν

εισχωρεί η CPU μετά από εξαίρεση. Μπορεί να μπει σε αυτήν μόνο με την εκτέλεση

μιας εντολής που εφαρμόζεται στα bits λειτουργίας του CPSR.

Monitor Mode (ARMv6 και ARMv7 στα Security Extensions, ARMv8 EL3), Εισάγεται

τρόπος παρακολούθησης για να υποστηρίξει την TrustZone επέκταση σε πεξεργαστές

ARM.

Hyp Mode (ARMv7 Virtualization Extensions, ARMv8 EL2), Λειτουργία εποπτείας που

υποστηρίζει την εικονοποίηση της μη ασφαλούς λειτουργίας του επεξεργαστή

Page 15: Η Αρχιτεκτονική Ενός Smartphone

ΚΑΤΑΧΩΡΗΤΕΣ ARM

Οι καταχωρητές διαφέρουν ανά μοντέλο. Οι βασικοί καταχωρητές σε εναν ARM ειναι 16 αυτοί

είναι άμεσα προσβάσιμοι από όλα τα modes. Οι καταχωρητές απο R0 μέχρι R07 είναι οι ίδιοι

σε όλα τα cpu modes.

Οι υπόλοιποι χρησιμοποιούνται για να επιταχύνουν την επεξεργασία των exceptions.

Τρείς απο τους 16 καταχωρητές έχουν ειδικούς ρόλους :

Stack pointer – Register 13 PUSH και POP εντολές

Link Register LR - Register 14 κρατάει τη διεύθυνση της επόμενης

εντολής μετά από μια εντολή Branch and Link ( BL ή BLX ), που είναι η εντολή που

χρησιμοποιείται για να κάνει μια κλήση σε υπορουτίνα . Επίσης, χρησιμοποιείται για

την επιστροφή πληροφοριών διεύθυνσης κατά την είσοδο σε Exception Mode.

Σε όλες τις άλλες περιπτώσεις, o R14 μπορεί να χρησιμοποιηθεί ως καταχωρητής

γενικού σκοπού.

Program counter - Register 15 είναι ο Program Counter ( PC ). Μπορεί να

χρησιμοποιηθεί στις περισσότερες εντολές ως δείκτης στην εντολή που απέχει δύο

εντολές απο την τρέχουσα που εκτελείται. Στην κατάσταση ARM , όλες οι εντολές ARM

είναι τέσσερα bytes ( ενα word 32 - bit ) και είναι πάντα μεσα στο όριο αυτό . Αυτό

Page 16: Η Αρχιτεκτονική Ενός Smartphone

σημαίνει ότι τα δυο χαμηλότερα bits του PC είναι πάντα μηδέν, επομένως ο PC

περιέχει μόνο 30 bits που αλλάζουν.

Δύο άλλες καταστάσεις του επεξεργαστή υποστηρίζονται από ορισμένες εκδόσεις. Η

Thumb κατάσταση υποστηρίζεται σε εκδόσεις T και Jazelle κατάσταση στις J. Ο PC

Μπορεί να είναι halfword ( 16 - bit) ή ένα byte αντίστοιχα σε αυτές τις καταστάσεις.

Ο παραπάνω πίνακας μας εμφανίζει τους καταχωρητές που χρησιμοποιούνται ανάλογα το

mode που τρέχει ο επεξεργαστής.

Page 17: Η Αρχιτεκτονική Ενός Smartphone

Ενώ σε αυτόν τον πίνακα μπορούμε να δούμε τον Program Status Register.

EXCEPTIONS

Ενα απο τα πιο σημαντικά features του hardware ειναι τα exceptions.

O ARM επεξεργαστης υποστηρίζει εφτα είδη εξαιρέσεων, και επίπεδο προνομιακής

επεξεργασίας για κάθε τύπο εξαίρεσης. Τα εφτά είδη των εξαιρέσεων ειναι.

Reset

Προσπάθεια εκτέλεσης μιας μη προσδιοριμένης εντολής (Undefined instruction)

Page 18: Η Αρχιτεκτονική Ενός Smartphone

Διακοπή απο λογισμικό (SWI), χρησιμοποιείται σε περίπτωση κλήσης απο το

λειτουργικό συστημα.

Prefetch Abort (instruction fetch memory abort), σήμα αναστολής απο την μνήμη.

Data Abort, data access memory abort. Ενεργοποίηση αναστολής σε απάντηση

πρόσβαση (φόρτωση ή αποθήκευση δεδομέων), καθιστά τα δεδομένα άκυρα.

IRQ, normal interrupt. Η IRQ εξαίρεση ενεργοποιείται απο εξωτερικό σήμα που

εφαρμόζεται στην IRQ είσοδο του επεξεργαστή. Εχει μικρότερη προτεραιότητα απο την

FIQ, δλδ μασκάρεται στην εκκίνηση της.

FIQ, fast interrupt, ξεκινάει εφαρμόζωντας είσοδο στο FIQ pin του επεξεργαστή. Μια

FIQ ξεκινάει για να υποστηρίξει μεταφορά δεδομένων ή επεξεργασία καναλιού.

Όταν συμβαίνει εξαίρεση ο ARΜ διακόπτει την επεξεργασία του κατα συγκεκριμένο τρόπο και

ξεκινάει την εκτέλεση απο μια συγκεκριμένη θέση μνήμης. Η συμπεριφορά του είναι ήδη

προσδιοριμένη για συγκεκριμένες καταστάσεις debug events. Το λειτουργικό σύστημα

εγκαθιστά «διαχειριστή - handler» για κάθε εξαίρεση κατά την αρχικοποίηση.

Οι προνομιακές λειτουργίες του λειτουργικού συστήματος συνήθως τρέχουν στο System

Mode, για να λάβουν χώρα οι εξαιρέσεις εντός του λειτουργικού συστήματος χωρίς να χάσει

την τρέχουσα κατάσταση.

Page 19: Η Αρχιτεκτονική Ενός Smartphone

EXCEPTION HANDLING

Όταν συμβεί ένα exception, ο επεξεργαστής:

- Αντιγράφει τον CPSR στο SPSR_ ανάλογα το mode.

Page 20: Η Αρχιτεκτονική Ενός Smartphone

- Σετάρει τα αντίστοιχα CPSR bits

Αλλάζει σε κατάσταση ARM

Μπαίνει σε exception mode

Απενεργοποιεί τις διακοπές, interrupts (αν χρειάζεται)

- Αποθηκεύει την νδιεύθυνση επιστροφής στο LR_ (ανάλογα το mode)

- Σετάρει τον PC να δείχνει την διεύθυνση.

Για να επιστρέψει απο τον handler του exception πρέπει:

- Να αποκαταστήσει τον CPSR απο τον SPSR

- Να αποκαταστήσει τον P ωστε να δείχνει την τρέχουσα διεύθυνση, απο τον LR

Στους περισσότερους επεξεργαστές γίνεται σε κατάσταση ARΜ, μετα το Thumb-2 κάποιοι

καταχωρητές μπορούν να τρέξουν εξαιρέσεις και σε κατάσταση Thumb.

Page 21: Η Αρχιτεκτονική Ενός Smartphone

ΟΙ ΕΠΙΠΛΕΟΝ ΚΑΤΑΣΤΑΣΕΙΣ

JAZELLE

Η Jazelle DBX (Direct Bytecode eXecution ) είναι μια τεχνική που επιτρέπει σε Java Bytecode να

εκτελείται απευθείας στην αρχιτεκτονική ARM ως τρίτη

κατάσταση λειτουργίας (και του instruction set),

ταυτόχρονα με τις άλλες δύο ARM και Thumb

καταστάσεις. Αν ένας επεξεργαστής υποστηρίζει την

κατάσταση φαίνεται από το "J" στο όνομά του πχ.

ARMv5TEJ, και ARM9EJ-S, ARM7EJ-S. Αυτή η κατάσταση

υποστηρίζεται από τον ARMv6 και μετά, αν και οι πιο νέοι

επεξεργαστες περιλαμβάνουν μόνο μια μικρή υλοποίηση που δεν παρέχει κανένα acceleration

στο υλικό.

THUMB

Σε πολλές περιπτώσεις πολλές περίπλοκες συναρτήσεις που εκτελούνται σε μια «αργή»

εντολή σε εναν CISC επεξεργαστή, μπορεί να χρειαστούν πολλαπλές εντολές σε RISC. Για να

μειώσουν αυτα τα κόστη μνήμης των επιπλέον εντολών, δημιουργήθηκε η κατάσταση Thumb.

Το καταλαβαίνουμε απο το ‘T’ που εμπεριέχεται στο όνομα του επεξεργαστή, πχ ARM7TDMI.

Το instruction set του Thumb αποτελείται απο 16bit εντολές που λειτουργουν σαν υποομάδα

των 32 bit εντολών του ARM

Σε αντίθεση με την CISC τεχνολογία, ηRISC εκτελεί τις εντολές σε έναν κύκλορολογιού. Εντούτοις η αυξημένηταχύτητα έρχεται με ένα κόστος. ΈναςRISC επεξεργαστής χρειάζεταιπερισσότερη μνήμη για νααποθηκεύση το ίδιο πρόγραμμα.

Σε πολλές περιπτώσεις το κόστος τηςμνήμης είναι μεγαλύτερο σε σχέση μετην ταχύτητα.

Page 22: Η Αρχιτεκτονική Ενός Smartphone

Ουσιαστικά δεν είναι 2 instruction sets που συμπεριλαμβανει η CPU του ARM αλλά οταν ο

επεξεργαστής εκτελεί σε Thumb κατάσταση, ο επεξεργαστής διευρύνει τις εντολές που φέρει

απο την μνήμη στις αντίστοιχες των 32 bit. Η διαφορά μεταξύ των εντολών βρίσκεται στο πως

της φέρει (fetch) και τις μεταφράζει, πριν την εκτέλεσή τους, όχι στο πως λειτουργούν.

Υποστηρίζονται, οι αριθμητικές και λογικές πράξεις, load /store δεδομένων, και οι conditional

ή οι unconditional διακλαδώσεις. Βάσει τα διαθέσιμα instruction sets, κώδικας γραμμένος σε C

θα μπορούσε να εκτελεστεί κάλλιστα σε κατάσταση Thumb. Ωστόσο, οι device drivers και οι

Exception Handlers πρέπει συχνά να γραφούν τουλάχιστον εν μέρει σε κατάσταση ARM.

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

32-BIT ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

Η αρχιτεχτονική ARM υποστηρίζεται απο μεγάλο αριθμό ενσωματωμένων λειτουργικών

συστημάτων και λειτουργικών συστημάτων πραγματικού χρόνου. Αυτα είναι:

Linux Windows CE Symbian ChibiOS/RT

FreeRTOS eCos Integrity Nucleus PLUS

MicroC/OS-II PikeOS QNX RTEMS

RTXC Quadros ThreadX VxWorks DRYOS

MQX T-Kernel OSE SCIOPTA

OS-9 RISC OS - -

Page 23: Η Αρχιτεκτονική Ενός Smartphone

Λειτουργικά Συστήματα Κινητών Συσκευών

Τα περισσότερα λειτουργικά συστημάτα συσκευών κινητής βασίζονατι πάνω σε SoC ARM

αρχιτεκτονικής. Τέτοια λειτουργικά συστήματα είναι τα:

iOS Android Windows Phone Windows RT

Bada Blackberry OS / Blackberry 10 MeeGo Firefox OS

Tizen Ubuntu Touch Sailfish webOS

Desktop & server Λειτουργικά Συστήματα

Η αρχιτεκτονική των ARM υποστηρίζεται απο τύπου RISC OS και διάφορα τύπου Unix

λειτουργικά συστήματα, αυτα συμπεριλαμβάνουν τα BSD (NetBSD, FreeBSD), OpenSolaris και

διάφορες εκδόσεις Linux όπως είναι τα Ubuntu και το Chrome OS.

64-BIT ΛΕΙΡΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

Λειτουργικά Συστήματα Κινητών Συσκευών

Υποστηρίζουν τα iOS 7 στο 64-bit Apple A7 SOC υπάρχει ενσωματωμένος ο ARMv8-A ως

Υποστηριχτής εφαρμογών.

Page 24: Η Αρχιτεκτονική Ενός Smartphone

Desktop & server Λειτουργικά Συστήματα

Το Linux kernel version 3.7 του 2012 υποστηρίζει τον ARMv8-A.

Ενώ ο ARMv8-A υποστηρίζεται απο ποικιλία Linux διανομών.

Page 25: Η Αρχιτεκτονική Ενός Smartphone

ΠΕΡΙΦΕΡΕΙΑΚΑ

Advanced Microcontroller Bus Architecture (AMBA)

Οι πυρήνες του ARM επικοινωνούν με διαύλους επικοινωνίας που έχουν

βελτιστοποιηθει για να προσφέρουν υψηλής απόδοσης επικοινωνία.

Τρείς δίαυλοι εχουν εμφυτευτεί μεσα στο SoC, βασισμένοι στις προδιαγραφές AMBA.

Page 26: Η Αρχιτεκτονική Ενός Smartphone

Ο ΑΗΒ – advanced High-performance Bus χρησιμοποιείται για να διασυνδέει

υψηλής απόδοσης εξαρτήματα (modules). Υποστηρίζει μεταφορά δεδομένων

burst (ριπής) και πράξεις διαχωρισμου (split transactions), ενω η χρονική

αναφορά του ειναι σε μια ακμή ρολογιού.

Ο Advanced System Bus (ASB) χρησιμοποιείται για να διασυνδέει υψηλής

απόδοσης εξαρτήματα (modules). Υποστηρίζει μεταφορά δεδομένων burst

(ριπής).

Και ο Advanced Peripheral Bus (APB) προσφέρει ένα πιο απλό δίαυλο για

μικρότερης απόδοσης περιφερειακά.

JTAG boundary scan test architecture

Δυο διαφορετικές και ταυτόχρονα δύσκολες περιοχές στην παραγωγή ενός προιόντος το οποίο

βρίσκεται ενσωματωμένο σε ένα System Chip είναι η παρακολούθηση – παραγωγή

δοκιμαστικών σημάτων του VLSI εξαρτήματος και του ολοκληρωμένου κυκλώματος εν γένει.

Το δεύτερο μέρος το πληρή ένα διεθνές standard IEEE 1149 – ‘Standard Test Access Port

and Boundary-Scan Architecture’. Αυτό το πρότυπο υλοποιείται απο ένα 5-pin σειριακό

πρωτόκολλο για την πρόσβαση και τον έλεγχο των επιπέδων σήματος επί των εκπομπών ενός

ψηφιακού κυκλώματος. Το πρότυπο αναπτύχθηκε από την ομάδα Joint Test Action Group

(JTAG), και η αρχιτεκτονική περιγράφεται με το πρότυπο ‘JTAG boundary scan’ ή ως ‘IEEE

1149’.

Page 27: Η Αρχιτεκτονική Ενός Smartphone

The I/O system

Ο ARM διαχειρίζεται I/O (input/output) περιφερειακά (όπως είναι οι disk controllers,

τα network interfaces κτλ) σαν χαρτογραφημένη μνήμη και τα υποστηρίζει με

interrupt. Οι εσωτερικοί καταχωρητές αυτών των περιφερειακών εμφανίζονται σαν

διευθυνσδιοδοτούμενες θέσεις μέσα στον χάρτη μνήμης του ARM και μπορεί να

φορτωθεί και να διαβαστεί χρησιμοποιώντας τις ίδιες εντολές (load-store) όπως

οποιαδήποτε θέση στην μνήμη. Τα περιφερειακά για να πάρουν την άδεια

χρησιμοποιούν τα interrupts, είτε τη είδοδο για την κανονική διακοπή (IRQ) ή την

γρήγορη (FIQ). Και οι δύο διακοπές είναι level-sensitive και μασκάρονται. Κανονικά οι

περισσότερες πηγές είναι συνδεδεμένες με την IRQ, με μόνο μια ή δυο κρίσιμες να

συνδέονται με την μεγαλύτερης προτεραιότητας FIQ.

ΣΥΝΟΨΙΖΟΝΤΑΣ ΕΝΑ ΤΥΠΙΚΟ SOC ΑΠΟΤΕΛΕΙΤΑΙ από:

Έναν μικροελεγκτή, μικροεπεξεργαστή ή πυρήνα DSP (επεξεργαστών). Μερικά SoCs-

ονομάζονται συστήματα πολλαπλών - επεξεργαστων σε τσιπ (multiprocessor system on

chip - MPSoC) – περιλαμβάνουν περισσότερους από ένα επεξεργαστή.

Μπλοκ μνήμης με μια ποικιλία από ROM, RAM, EEPROM και τη μνήμης flash.

Πηγές Χρονισμού, συμπεριλαμβανομένων των ταλαντωτές και phase-locked loops (PLL)

το οποίο είναι ένα σύστημα ελέγχου που παράγει ένα σήμα εξόδου του οποίου η φάση

ειναι σε σχέση με την φάση του σήματος εισόδου.

Page 28: Η Αρχιτεκτονική Ενός Smartphone

Άλλα περιφερειακά συμπεριλαμβανομένων των μετρητές - χρονόμετρα, χρονόμετρα

πραγματικού χρόνου και γεννήτρια σήματος επαναφοράς (power on reset generator).

Εξωτερικές διασυνδέσεις, συμπεριλαμβανομένων πρώτυπα τύπου, USB, FireWire,

Ethernet, USART, SPI.

Αναλογικές διεπαφές, συμπεριλαμβανομένων ADCs και DACs.

Ρυθμιστές τάσης και τα κυκλώματα διαχείρισης ενέργειας.

Page 29: Η Αρχιτεκτονική Ενός Smartphone
Page 30: Η Αρχιτεκτονική Ενός Smartphone

ΑΝΑΦΟΡΕΣ

http://www.pcmag.com/encyclopedia/term/51537/smartphone

http://www.theregister.co.uk/2012/10/17/slideshow_history_of_the_smartphone_in_20_handsets/

http://www.amphus.com/chips/pdf/230dm.pdf

http://en.wikipedia.org/wiki/NEC_V20

http://en.wikipedia.org/wiki/IBM_Simon

http://el.wikipedia.org/wiki/%CE%88%CE%BE%CF%85%CF%80%CE%BD%CE%BF_%CF%84%CE%B7%CE

%BB%CE%AD%CF%86%CF%89%CE%BD%CE%BF

http://www.pcmag.com/encyclopedia/term/51537/smartphone

https://cs.uwaterloo.ca/~a78khan/courses-offered/cs446/2010_05/lecture-slides/BB_Architecture.pdf

https://www.scss.tcd.ie/~waldroj/3d1/arm_arm.pdf

https://web.eecs.umich.edu/~prabal/teaching/eecs373-f10/readings/ARM_Architecture_Overview.pdf

http://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb

http://electro.fisica.unlp.edu.ar/arq/downloads/Papers/ARM/Addison%20Wesley%20-%20ARM%20System-on-Chip%20Architecture,%202Ed.pdf

https://www.doc.ic.ac.uk/~wl/teachlocal/cuscomp/notes/cc10.pdf