Smartphones, Dual core vs Quad core

Δημοσιεύτηκε από τον Thanos Nokas Δευτέρα, 03 Σεπτέμβριος 2012 07:31

Αν και δεν συνηθίζω να είμαι τόσο technical oriented στο mostweb, τον τελευταίο καιρό οι εξελίξεις στον χώρο των smartphones και των chipsets(SoC) είναι τόσο ραγδαίες που πρέπει να ξεκαθαρίσουμε κάποια πράγματα.

Αν παρακολουθείτε την εξέλιξη των smartphones θα έχετε δει ότι οι επεξεργαστές τους πλέον αριθμούν τέσσερις πυρήνες. Και μέχρι πριν λίγα χρόνια δεν είχαν ούτε μισό! Εννοώντας, ότι είχαν ένα επεξεργαστή που μοιραζόταν την επεξεργασία των δεδομένων και των γραφικών.

Αλλά αυτή την στιγμή είναι στην αγορά "κινητά" με 4 πυρήνες για την επεξεργασία δεδομένων και καμιά ντουζίνα για την επεξεργασία γραφικών. Δεν θα μιλήσουμε για το chipset των γραφικών και αν χρειάζεται τόσους πυρήνες, αλλά για το CPU και γιατί δεν τους χρειάζεται.

OS Multithreading

Ένα από τα βασικά πράγματα που έχουμε συνηθίσει στην χρήση των pc τα τελευταία 15+ χρόνια είναι το multithreading. To multithreading με την έννοια που το καταλαβαίνει ο χρήστης είναι η ταυτόχρονη λειτουργία δύο και πάνω εφαρμογών. Στην πραγματικότητα δεν είναι ακριβώς αυτό, αλλά ας το αφήσουμε σαν δεδομένο προς το παρόν. Δηλαδή την ίδια στιγμή που έχω ανοίξει τον browser, ακούω και μουσική από το winamp και γράφω και ένα dvd ενώ παράλληλα μεταφέρω και μερικά αρχεία στο flash drive. 

Ας αφήσουμε τώρα το pc και ας πάμε στο κινητό. Έστω λοιπόν ότι έχουμε ένα κινητό Α, γράφουμε ένα μήνυμα και μας παίρνει κάποιος τηλέφωνο, μιλάμε για λίγη ώρα, το κλείνουμε και γυρνάμε να συνεχίσουμε το μήνυμα και βλέπουμε ότι ... έχει χαθεί. Εδώ βλέπουμε ότι το κινητό Α την στιγμή που έλαβε την κλήση, αμέσως έκλεισε την εφαρμογή "μηνύματα". Αυτό, κάποτε ήταν θέμα, έγραφες ένα πενταπλό sms και λίγο πριν πατήσεις send σου έκανε "η άλλη" αναπάντητη και το έχανες όλο. Και το χειρότερο ήταν το μήνυμα το έγραφες για "αυτήν" και έπρεπε να το ξαναγράψεις γρήγορα φοβούμενος μην σου κάνει αναπάντητη πάλι.

Τα πράγματα όμως έχουν εξελιχτεί από τότε. Στα σύγχρονα smartphones όταν εναλλάσσεις τις εφαρμογές αποθηκεύουν στην RAM ή/και στην βάση δεδομένων το state της εφαρμογής και μετά την κλείνουν, έτσι ο χρήστης όταν γυρίσει πάλι πίσω στην εφαρμογή, την βρίσκει όπως την άφησε. Αλλά και πάλι αυτό δεν είναι true multithreading. Η εφαρμογή δεν τρέχει στην ουσία στο background. 

Σημείωση: Μην τολμήσει τώρα κανείς να μου πει "το Android ICS έχει true multithreading". Όχι! Δεν έχει! Πάμε να γίνουμε λίγο πιο technical. To Adnroid δίνει δικαίωμα στις εφαρμογές να ελέγχουν το wake state της συσκευής. Αυτό σημαίνει ότι μια εφαρμογή μπορεί να κρατήσει ενεργό τον επεξεργαστή ακόμα και όταν το τηλέφωνο είναι σε αναμονή. Κατά την γνώμη μου όμως αυτό έχει υλοποιηθεί λάθος και πολλές εφαρμογές δημιουργούν προβλήματα στην μπαταρία.

Πάμε στις εφαρμογές τώρα

Οι εφαρμογές, εκτός από ελάχιστες εξαιρέσεις, δεν είναι optimized για να χρησιμοποιούν πάνω από....ένα πυρήνα. Ακριβώς, ένα πυρήνα! Δεν πας να έχεις το Galaxy SIII με exynos quad core, το 99.99% των εφαρμογών που έχεις εγκατεστημένες χρησιμοποιεί μόνο ένα πυρήνα. Το OS κατανέμει τις εφαρμογές που τρέχουν στους πυρήνες που έχει διαθέσιμους. Όταν έκανα την μετάβαση από single core σε dual core, είδα ότι αν π.χ. έχω ανοιχτό το winamp ενώ παράλληλα κάνω browsing, πλέον το browsing είναι πιο ομαλό. Αυτό γίνεται επειδή έχει το δικαίωμα το OS να δώσει ένα ολόκληρο πυρήνα για τον browser. Το πρόβλημα με ένα κινητό με quad core είναι ότι πάλι θα έδινε ένα πυρήνα για το service του browser. Γιατί ο browser(κανένας browser) δεν έχει προγραμματιστεί ώστε να "ζητάει" πάνω από ένα πυρήνα.

Και η αλήθεια είναι ότι προς το παρόν τα smartphones δεν τρέχουν, για χρηστικούς, λόγους στο background πολλές διεργασίες, όπως ένα pc. Οπότε έχοντας ένα quad core η εφαρμογή στο προσκύνειο χρησιμοποιεί ένα πυρήνα και οι εφαρμογές στο background, που πιθανότατα δεν σε νοιάζουν και τόσο πολύ, χρησιμοποιούν 3 πυρήνες. Λίγο αδικία, δεν νομίζετε; 

Οπότε γιατί φτιάχονται quad core επεξεργαστές για smartphones; Για marketing, είναι ένας λόγος! Λές Quad core και γεμίζει το στόμα σου. 

Ποια είναι η διαφορά μεταξύ Α8, Α9, Α15

Εδώ έχουμε κάτι σημαντικό! Σημαίνει ότι ο επεξεργαστής που χαρκτηρίζεται ως Α15 μπορεί να στριμώξει περισσότερα transistors σε λιγότερο χώρο. Αυτό σημαίνει λιγότερη κατανάλωση μπαταρίας και λιγότερη θερμότητα και φυσικά καλύτερες επιδόσεις. Για αυτό βλέπουμε π.χ. ο Krait S4, που είναι dual core A15, είναι καλύτερος από τον Tegra 3, που είναι quad core και Α9. Πιο γρήγορος και με λιγότερη κατανάλωση μπαταρίας.

Καταλήγοντας, όταν το marketing μπαίνει στην καινοτομία της τεχνολογίας ακολουθείται η λογική ότι bigger is better. Κάτι που είναι πολύ μακριά από την πραγματικότητα.

Thanos Nokas

Thanos Nokas

Find me on and twitter

Προσθήκη νέου σχολίου


Κωδικός ασφαλείας
Ανανέωση