8 και 16 bit θρύλοι και αναμνήσεις

Για αρχή πρέπει να ξέρουν πολύ καλή assembly όλοι όσοι συντηρούν compilers.

Κάθε φορά που μπαίνει ένα feature σε επεξεργαστή (π.χ. κάποιο νέο SSE ή AVX) κάποιος πρέπει να πάει στον compiler και να γράψει κώδικα που να βγάζει την κατάλληλη assembly. Αν δεν ξέρεις assembly δεν μπορείς να κάνεις τη δουλειά σου.
 
Ακομα και αν υπαρχουν μερικοι (ξεχασμενοι σαν ατολες στον ειρηνικο) ασχολουνται ΚΑΘΑΡΑ απο χομπυ.

Το χόμπι πέθανε από τότε που βγήκαν οι 486.
Μετά έγινε χαοτική και μόνο ως (πολύ) καλοπληρωμένη δουλειά ασχολείσαι με assembly.
 
  • Like
Reactions: SR-71
Για αρχή πρέπει να ξέρουν πολύ καλή assembly όλοι όσοι συντηρούν compilers.

Κάθε φορά που μπαίνει ένα feature σε επεξεργαστή (π.χ. κάποιο νέο SSE ή AVX) κάποιος πρέπει να πάει στον compiler και να γράψει κώδικα που να βγάζει την κατάλληλη assembly. Αν δεν ξέρεις assembly δεν μπορείς να κάνεις τη δουλειά σου.
Δεν μιλαω ομως για αυτους.
Αλλα για εταιρειες software που πουλανε εφαρμογες σε τελικους καταναλωτες.
Αυτος που γραφει compiler ..... δεν ειναι τελικος καταναλωτης.
Ουτε μπορεις να πουλησεις disassembly ως καθημερινη εφαρμογη.
Ουτε ο χακερας του ταδε firewall ειναι τυπικος πελατης software.
Oυτε φυσικα αυτος που γραφει ιους και trojians των 50 byte.

Στα καινουργια features επεξεργαστων και καρτων γραφικων
χωρις να ειμαι εντελως σιγουρος, παρεχεται documentation σε επιπεδο hardware με την κυκλοφορια τους.
Ομως δεν ειναι για ΟΛΟΥΣ τους αγοραστες. Γιαυτο δεν τα παιρνουμε χαμπαρι εμεις οι κοινοι θηντοι.
 
Το χόμπι πέθανε από τότε που βγήκαν οι 486.
Μετά έγινε χαοτική και μόνο ως (πολύ) καλοπληρωμένη δουλειά ασχολείσαι με assembly.
Aυτο ειπα : μεχρι το 1995 (αντε αλλα 5 χρονια απο κεκτημενη ταχυτητα να εφτασαν μεχρι το 2000)
 
Δεν μιλαω ομως για αυτους.
Αλλα για εταιρειες software που πουλανε εφαρμογες σε τελικους καταναλωτες.
Αυτος που γραφει compiler ..... δεν ειναι τελικος καταναλωτης.
Ουτε μπορεις να πουλησεις disassembly ως καθημερινη εφαρμογη.
Ουτε ο χακερας του ταδε firewall ειναι τυπικος πελατης software.
Oυτε φυσικα αυτος που γραφει ιους και trojians των 50 byte.

Στα καινουργια features επεξεργαστων και καρτων γραφικων
χωρις να ειμαι εντελως σιγουρος, παρεχεται documentation σε επιπεδο hardware με την κυκλοφορια τους.
Ομως δεν ειναι για ΟΛΟΥΣ τους αγοραστες. Γιαυτο δεν τα παιρνουμε χαμπαρι εμεις οι κοινοι θηντοι.

Αν δεν μίλαγες για αυτούς, να το έλεγες. :)

Εννοείται ότι δεν υπάρχει developer εφαρμογών που να γράφει σε assembly, εδώ και δεκαετίες. Θα ήταν 1000% μαζοχισμός.
 
Κάποιοι όμως πρέπει να τα ξέρουν αυτά, αλλιώς το σύστημα θα καταρρεύσει!
Εισαι σιγουρος οτι σε επιπεδο assembly καποιος στην Microsoft, ας πουμε στα τελευταια Windows, ξερει τι γινεται ?
EΙμαι πολυ περιεργος (και εγω, οχι μονο εσυ). Το μοναδικο που παρεχεται ως πληροφορια εδω και δεκαετιες ειναι
οτι τα Windows γραφονται σε C (και C++) ...... αυτο ..... ΜΟΝΟ !
 
Οταν λεμε "επαφη" ?
Γιατι το kernel (και ποιο ακριβως ειναι το kernel) ειναι κατι χιλιαδες γραμμες κωδικα.
Εχει καποιος την επιβλεψη η ευθυνη του τι συμβαινει σε επιπεδο ...... assembly ?
Αυτος ο ανθρωπος πρεπει να χει καταρρευσει απο ..... ΑΥΠΝΙΑ !
Ακομη και δεκα να ναι ...... πρεπει να χουν καταντησει ΖΟΜΠΙ.
 
Last edited:
Καποια στιγμη (ετσι οπως εχει βαρυνει ως ΛΕΒΙΑΘΑΝ ο κωδικας των Windows)
θα αναγκαστουν να πουν "θελετε την παλια καλη απλοτητα, ελεγχο και ταχυτητα ..... ΤΕΡΜΑ η συμβατοτητα ... OΛΑ απο την αρχη".
Ομως ...... δεν κανεις τετοια AΔIANOHTA σαλτα στον επιχειρηματικο κοσμο (της ακρως ανταγωνιστικης κουρσας των λειτουργικων)
χωρις ΠΟΛΥ ΣΟΒΑΡΟ ΛΟΓΟ, ενα ανυπερβλητο αδιεξοδο. Και το αδιεξοδο αυτο .... δεν εχει φτασει ακομα (ας ειναι καλα και το Linux 😋)
 
Καποια στιγμη (ετσι οπως εχει βαρυνει ως ΛΕΒΙΑΘΑΝ ο κωδικας των Windows)
θα αναγκαστουν να πουν "θελετε την παλια καλη απλοτητα, ελεγχο και ταχυτητα ..... ΤΕΡΜΑ η συμβατοτητα ... OΛΑ απο την αρχη".
Ομως ...... δεν κανεις τετοια AΔIANOHTA σαλτα στον επιχειρηματικο κοσμο (της ακρως ανταγωνιστικης κουρσας των λειτουργικων)
χωρις ΠΟΛΥ ΣΟΒΑΡΟ ΛΟΓΟ, ενα ανυπερβλητο αδιεξοδο. Και το αδιεξοδο αυτο .... δεν εχει φτασει ακομα (ας ειναι καλα και το Linux 😋)
Πάντως διαβάζω όλο και περισσότερα άρθρα ότι η επόμενη ριζοσπαστική γενιά λειτουργικών θα είναι τα AI OS. Οπότε μπορεί εμπορικά να έχει νόημα η αλλαγή.
Τότε το να έχεις πραγματικό λειτουργικό μάλλον θα γίνει niche. Είτε για τα data centers είτε για όσους θέλουν να τρέχουν AI off-line. Οι περισσότεροι άλλοι θα έχουν dumb terminals οποιασδήποτε μορφής (από το κλασσικό οθόνη-πληκτρολόγιο-ποντίκι, στο κινητό, στο τάμπλετ, στα smart γυαλιά, στους smart φακούς επαφής ίσως και με human-brain interfaces...) με συνδέσεις μέσω internet σε cloud ΑΙs.
 
To ζητημα ομως παραμενει η απλοτητα στον κωδικα.
Η αναγκη συμβατοτητας (μετα απο 40 σχεδον χρονια) ΕΚΤΕΛΕΣΕ την απλοτητα (αλλα και τις επιδοσεις).
Δεν φαινεται αυτο γιατι εχουν γινει πανισχυροι οι επεξεργαστες (με πολλαπλες cache, σουπερ ντουπερ SIMD
και εξαιρετικους branch predictors). ΒΓΑΛΤΑ ΟΛΑ ΑΥΤΑ ....... τι θα γινει, ξερεις ? Ο κλαυθμος των χιλιων δακρυων !

Μερικες φορες σκεπτομαι .....
"δηλαδη, αν δεν ηταν RISC στο εσωτερικο του ο AMD, και δεν χρειαζοταν να κανει διαρκεις μεταφρασεις
απο CISC σε RISC και παλι σε CISC .............. ΠΟΣΟ ΣΦΑΙΡΑΤΟΣ ΘΑ ΤΑΝ ?" 😲
 
Αυτος που κανει την διαφορα ειναι ο NEC V20 ......... ολοι οι αλλοι, γνωστοι και μη εξαιρεταιοι.

Up to Pentium III.jpg

Γιατι ηταν τοσο διαφορετικος ο V20 ?
Oι ιαπωνες ξερετε ποσο φειδωλοι ειναι, σωστα ? Ενω εσωτερικα ο V20 δεν διαφερει απο εναν 8086
οι ιαπωνες τον εφοδιασαν με ΔΥΟ 16-bit databuses αντι για ΕΝΑ (του 8086). Aυτο σημαινει οτι ΕΑΝ
δεν κατεφευγες στην RAM για ανακτηση δεδομενων (και εκανες πραξεις με registers AX, BX, CX, DX κλπ)
ο V20 ... ηταν διπλασια γρηγορος (στα ιδια MHz 😮). Oμως ποσοι μπορουσαν να κανουν κατι τετοιο
το 1982 ? 😕 Οποτε ο V20 εμεινε ενας λιγακι διαφορετικος 8086 ..... fading away into the sands of time 😔

UPD70108C-8_01.jpg
 
Last edited:
Μερικες φορες σκεπτομαι .....
"δηλαδη, αν δεν ηταν RISC στο εσωτερικο του ο AMD, και δεν χρειαζοταν να κανει διαρκεις μεταφρασεις
απο CISC σε RISC και παλι σε CISC .............. ΠΟΣΟ ΣΦΑΙΡΑΤΟΣ ΘΑ ΤΑΝ ?" 😲
Ίδια θα ήταν η απόδοση. Έχουμε δει και risc only cpus, δεν αποδίδουν καλύτερα, είτε αν το συγκρίνεις σε performance per density είτε σε performance per Watt. Η συμβατότητα δεν έχει μεγάλο αρνητικό αντίκτυπο, δηλαδή τάξη μεγέθους. Το αν ήταν πχ 10 ή 20% πιο γρήγορο δε λέει κάτι.
 
Ίδια θα ήταν η απόδοση. Έχουμε δει και risc only cpus, δεν αποδίδουν καλύτερα, είτε αν το συγκρίνεις σε performance per density είτε σε performance per Watt. Η συμβατότητα δεν έχει μεγάλο αρνητικό αντίκτυπο, δηλαδή τάξη μεγέθους. Το αν ήταν πχ 10 ή 20% πιο γρήγορο δε λέει κάτι.
Εχεις καποιο λινκ (κατι σχετικο) να ξεστραβωθουμε ?
Γιατι "10 η 20 % δε λεει κατι" ..... δεν ειναι πολυ πειστικο !
 
Μπορείς να συγκρίνεις πχ ARM που είναι 100% risc σε παρόμοιο node με παρόμοιο density και θα δεις παρόμοιες επιδόσεις

Η x86/x64 είναι ουσιαστικά RISC εδώ και πάρα πολλά χρόνια. Το ότι υπάρχει ένα CISC ISA διαθέσιμο εξωτερικά δε λέει κάτι, εσωτερικά είναι RISC και οι CISC εντολές μεταφράζονται στα αντίστοιχα RISC op codes. Η μόνη απώλεια είναι αυτό το κομμάτι τρανζίστορ που κάνει το op-code translation, το οποίο είναι ελάχιστο στο σύνολο του τσιπ. Δεν υπάρχει άλλη διαφορά. Αν το σκεφτείς αυτό που έκαναν Intel και AMD είναι καταπληκτικό. Από κει και πέρα εξαρτάται αν χρησιμοποιείς node που είναι optimized για power efficiency ή για raw performance. Συνήθως συγκρίνουν ARM chips σε node optimized για power efficiency και βγάζουν σαφώς μεγαλύτερη απόδοση per Watt από ένα x64 που όμως είναι optimized για raw performance. Δεν είναι σύγκριση apples to apples δηλαδή. Αν συγκρίνεις δύο τσιπάκια σε ίδιο node με ίδιο optimization η διαφορά θα είναι μικρή.

Και για να θυμηθώ το αγαπημένο του movie quote: "Risc is good"

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
 
Το απολυτως ΧΕΙΡΟΤΕΡΟ μετα την Assembly !
ΟΧΙ ..... δεν το προλαβα (και θεωρω τον εαυτο μου ΥΠΕΡτυχερο).

FortranCard Pro J039.jpg
Noμιζετε οτι το DOS (η το CP/M) ηταν ορισμος του user unfriendly ?
Οτι η assembly τους ηταν το απογειο της user unfriendly γλωσσας ?
ΤΗΙΝΚ ..... ΑGAIN !