Μια σύντομη ανασκόπηση του Elbrus OS. Λειτουργικό σύστημα Elbrus και μικροεπεξεργαστές της σειράς Elbrus σε ενσωματωμένα συστήματα σε πραγματικό χρόνο Evgeniy Kravtsunov, Konstantin Trushkin

Το BOOT ξεκίνησε. ΕΚΔΟΣΗ BOOT E2S: release-2.13.3.0-E2S::::::: (/tags/release-2.13.3.0-E2S στην αναθεώρηση 3816) BUILT BY neo TARGET: mono ΣΤΙΣ 2 Νοεμβρίου 2015 ΣΤΙΣ 18:05:3 COMPILER : lcc:1.17.12:Nov-27-2012:e2k-linux.cross:i386-linux Μοντέλο νήματος: posix gcc έκδοση 3.4.6 συμβατό. ΕΠΙΣΗΜΑΝΣΕΙΣ: -DDEBUG_TEST_BOOTBLOCK ........ -ΑΠΑΝΤΗΣΗ ........
Πατώντας το πλήκτρο διαστήματος όταν εμφανιστεί το αντίστοιχο μήνυμα (45 δευτερόλεπτα μετά την ενεργοποίηση), μπορείτε να διακόψετε την αυτόματη φόρτωση του πυρήνα του συστήματος και να μεταβείτε στο κύριο μενού εντολών, όπου εμφανίζονται ή αλλάζουν οι βασικές παράμετροι του φορτωτή εκκίνησης. Πατώντας το πλήκτρο "Tilde", μπορείτε να μεταβείτε από αυτό το μενού στη διεπαφή της γραμμής εντολών, όπου είναι διαθέσιμη η λεπτομερής ρύθμιση του εξοπλισμού - από τη ρύθμιση της ημερομηνίας και της ώρας της ημέρας έως τη ρύθμιση των τρόπων λειτουργίας των περιφερειακών ελεγκτών και του διαύλου συστήματος . Παρόλο που υπάρχει μια επιλογή στο μενού για επιβολή ρυθμίσεων αποθήκευσης, οι αλλαγές από τη γραμμή εντολών αποθηκεύονται αυτόματα. Ως τελευταία λύση, οι ρυθμίσεις μπορούν να επαναφερθούν χρησιμοποιώντας ένα βραχυκυκλωτήρα στη μητρική πλακέτα.

Αρχείο καταγραφής εργασιών στο μενού συστήματος(εξ ολοκλήρου στο Pastebin)

BOOT SETUP Πατήστε το γράμμα εντολής ή πατήστε το "h" για να λάβετε βοήθεια:h ΒΟΗΘΕΙΑ "p" ή "s" - φόρτωση και έναρξη αρχείου "c" - Αλλαγή παραμέτρων εκκίνησης "u" - εμφάνιση τρέχουσες παραμέτρους "d" - εμφάνιση Δίσκων και κατατμήσεις "m" - αποθήκευση παραμέτρων στο NVRAM "b" - έναρξη του μενού Boot.conf "`", "~" - εισαγωγή βελτιωμένης λειτουργίας cmd:` ΕΝΙΣΧΥΜΕΝΗ ΛΕΙΤΟΥΡΓΙΑ CMD Εισαγάγετε την εντολή, "help" για να λάβετε βοήθεια ή Esc για έξοδο # set vga main 1 core: 0x0, link: 0x0, bus: 0x3, slot: 0x0, func: 0x0, ven: 0x1002, dev: 0x6779, rev: 0x0, classcode: 0x30000 is επιλεγμένο! # boot boot# auto CPU#00: Βρέθηκε ετικέτα "auto", φόρτωση παραμέτρων Προσπάθεια φόρτωσης και εκκίνησης εικόνας με τις ακόλουθες παραμέτρους: drive_number: "4" partition_number: "0" command_string: "console=tty0 root=/dev/sda3 . ......." όνομα αρχείου: "/boot/image-033.6.57" initrdfilename: "" CPU#00: Ανάγνωση: Αρχείο - "/boot/image-033.6.57", Μονάδα δίσκου - 4, Διαμέρισμα - 0 .........
Μεταξύ άλλων, αξιοσημείωτη είναι η δυνατότητα ενεργοποίησης και απενεργοποίησης της μονάδας υλικού-λογισμικού αξιόπιστης εκκίνησης Echelon-E, αν και στον υπολογιστή δεν είναι εγκατεστημένη πλακέτα που να μοιάζει με το παραδοσιακό APMDS. Δεν ήταν δυνατό να βρεθούν σαφείς πληροφορίες για μια τέτοια συσκευή, με εξαίρεση μια σημείωση όπου αναφέρθηκε ότι πρόκειται για μια εξειδικευμένη έκδοση του προϊόντος MDZ-Echelon, το οποίο είναι μια εξ ολοκλήρου ανάπτυξη λογισμικού και χρησιμοποιεί τυπικό υλικό υπολογιστή.

Απευθείας από τη γραμμή εντολών, χωρίς να φορτώσετε το λειτουργικό σύστημα, μπορείτε να εκτελέσετε δοκιμές για τη σωστή λειτουργία του εξοπλισμού (Σύστημα δοκιμαστικών και διαγνωστικών προγραμμάτων) - είτε αυτά που είναι αποθηκευμένα στο δίσκο και είναι διαθέσιμα για εκκίνηση από το λειτουργικό σύστημα, είτε κάποια άλλοι: Δεν μπόρεσα να το καταλάβω , γιατί πρέπει να καθορίσετε το ακριβές όνομα του εκτελέσιμου αρχείου και δεν υπάρχει τεκμηρίωση.

Για τον ίδιο λόγο - λόγω έλλειψης κατάλληλης τεκμηρίωσης - δεν ήταν δυνατό να εμβαθύνουμε στις περιπλοκές της διαχείρισης του bootloader του λειτουργικού συστήματος, ή πιο συγκεκριμένα, στο πώς να φορτώσετε κάτι διαφορετικό από το τυπικό σύστημα. Εξάλλου, ο ίδιος bootloader (SILO) χρησιμοποιείται εδώ όπως και στους υπολογιστές της αρχιτεκτονικής SPARC - και εκεί δεν υποτίθεται ότι λειτουργεί με ένα ξένο σύνολο οδηγιών. Οι ίδιες οι παράμετροι εκκίνησης είναι διαισθητικές: πρέπει να καθορίσετε τον αριθμό διαμερίσματος και το όνομα αρχείου με τον πυρήνα του συστήματος, καθώς και τα ορίσματα εκκίνησης του πυρήνα, το όνομα του αρχείου με το αρχείο των βοηθητικών προγραμμάτων ( initrd, εάν είναι απαραίτητο), το χρονικό όριο αναμονής για ακύρωση χρήστη. Αυτές οι παράμετροι διαβάζονται από το αρχείο /boot/boot.confστο πρώτο διαμέρισμα δίσκου που καθορίζεται από τη γραμμή εντολών. μπορούν να οριστούν πολλά σύνολα παραμέτρων στο αρχείο· από προεπιλογή, χρησιμοποιείται αυτό που καθορίζεται στην οδηγία Προκαθορισμένο, ή στο οποίο δίνεται το όνομα " αυτο" Τι πρέπει όμως να γίνει για την εκτέλεση λειτουργικών συστημάτων για την αρχιτεκτονική x86 ή x86‑64, η διαφανής υποστήριξη των οποίων αναφέρεται ως ένα από τα βασικά χαρακτηριστικά του Elbrus; Λείπει αρχείο boot.confστον δίσκο εγκατάστασης των Windows ή σε μια δημοφιλή διανομή Linux, μπορείτε να αντισταθμίσετε με μη αυτόματη εισαγωγή μέσω του μενού. Πώς να μεταφέρετε τον έλεγχο σε ένα νέο bootloader που δεν είναι ο πυρήνας του Linux; Πώς να τρέξω τουλάχιστον τον πυρήνα του Linux αν είναι για x86; Ήταν αδύνατο να το καταλάβουμε αυτό χωρίς τεκμηρίωση: το θέμα κατέληγε πάντα σε πάγωμα τη στιγμή που ο έλεγχος πέρασε από τον φορτωτή εκκίνησης στον πυρήνα.

Τυπική διαμόρφωση bootloader (boot.conf)

Προεπιλογή=αυτόματο timeout=3 label=auto partition=0 image=/boot/image-033.6.57 cmdline=console=tty0 console=ttyS0,115200 consoleblank=0 hardreset REBOOT root=/dev/sda3 video=DVI-D-1 :1024x768-24@60 βίντεο=VGA-1:1024x768-24@60 fbcon=χάρτης:10
Όσον αφορά τους τυπικούς πυρήνες του λειτουργικού συστήματος Elbrus, το αρχείο διαμόρφωσης του bootloader περιέχει μόνο ένα σύνολο παραμέτρων και δείχνουν στον προεπιλεγμένο πυρήνα. Εκτός από αυτό, υπάρχουν δύο πυρήνες - με τα επιθέματα " nn" Και " rt": κρίνοντας από τη διαμόρφωση συναρμολόγησης αυτών των πυρήνων, το πρώτο σημαίνει "χωρίς NUMA" (μια απλοποιημένη έκδοση για συστήματα ενός επεξεργαστή, γιατί να μην το χρησιμοποιήσετε σε έναν προσωπικό υπολογιστή;) και το δεύτερο σημαίνει "πραγματικό χρόνο" (πυρήνας Linux επεκτάσεις για την αποστολή εργασιών με περιορισμό από το χρόνο εκτέλεσης). Χωρίς έστω και επιφανειακή γνώση σε αυτούς τους τομείς, ο συγγραφέας δυσκολεύεται να κάνει σχόλια σχετικά με τα πλεονεκτήματα ή τα μειονεκτήματα αυτού ή του άλλου εναλλακτικού πυρήνα.

Σχετικά με την υποστήριξη PPS και PTP

Η μόνη γνωστή επιλογή διαμόρφωσης είναι να ενεργοποιήσετε την υποστήριξη PPS API (παλμός ανά δευτερόλεπτο) στον πυρήνα." rt", το οποίο σας επιτρέπει να προσαρμόσετε την πορεία του ρολογιού του συστήματος του υπολογιστή σύμφωνα με έναν εξωτερικό παλμό ρολογιού, για παράδειγμα, από έναν δέκτη GPS / GLONASS ή από ένα ρολόι καισίου, εάν τυχαίνει να έχετε ένα ξαπλωμένο. Απλώς δεν είναι ξεκάθαρο πώς ακριβώς να ρυθμίσετε αυτόν τον συγχρονισμό: σε αντίθεση με το FreeBSD, για παράδειγμα, όπου όλα αρχίζουν να λειτουργούν σαν από μόνα τους μετά την ανακατασκευή του πυρήνα με την απαιτούμενη παράμετρο και τη διαμόρφωση του NTPd για χρήση της πειθαρχίας του συστήματος, στο Linux συνήθως απαιτεί χορό με ένα ντέφι γύρω από το βοηθητικό πρόγραμμα ldattach, που δημιουργεί μια εικονική συσκευή PPS που βασίζεται σε μια θύρα COM ή LPT - αυτό απαιτεί κατάλληλα προγράμματα οδήγησης στον πυρήνα ή σε ξεχωριστές μονάδες, αλλά δεν είναι ορατά εδώ.

Η ενσωματωμένη κάρτα δικτύου δεν έδειξε επίσης σημάδια υποστήριξης υλικού για συγχρονισμό χρόνου: έξοδος βοηθητικού προγράμματος ettoolσχετικά με το πρωτόκολλο PTP έδειξε την απουσία τέτοιων λειτουργιών. Σε κάθε περίπτωση, - ότι όταν χρησιμοποιείτε τον προεπιλεγμένο πυρήνα, που είναι σε πραγματικό χρόνο, η μόνη πηγή χρόνου συστήματος είναι η συσκευή " lt"("Χρονόμετρο Elbrus";) με ανάλυση 1 μs. Όχι ότι αυτό είναι πολύ σκληρό, αλλά οι σύγχρονοι υπολογιστές είναι αρκετά ικανοί να παρέχουν κβαντισμό στο επίπεδο των 25–50 ns, ανεξάρτητα από την τρέχουσα συχνότητα του επεξεργαστή.


Από προεπιλογή, το λειτουργικό σύστημα ξεκινά μαζί με το γραφικό περιβάλλον: χρειάζονται 12 δευτερόλεπτα για τη φόρτωση του πυρήνα στη μνήμη και περίπου 23 ακόμη πριν εμφανιστεί η προτροπή σύνδεσης - συνολικά 80 δευτερόλεπτα από τη στιγμή που ενεργοποιείται. Όπως αναφέρθηκε ήδη, δεν μπορέσαμε να επιλέξουμε ορίσματα πυρήνα για εκτέλεση σε λειτουργία ενός χρήστη: κατά τον καθορισμό " μικρό" ή " 1 » το σύστημα έφτασε ακόμα στο επίπεδο 5 και επιχειρεί να χαμηλώσει το επίπεδο μετά από αυτό χρησιμοποιώντας την εντολή μέσα σε αυτόοδήγησε στην κατάρρευση του συστήματος.

Δεδομένου ότι ο υπολογιστής διαθέτει δύο προσαρμογείς βίντεο, τα εικονικά τερματικά διανέμονται μεταξύ τους με τη σειρά τους: το πρώτο τερματικό ανοίγει σε μια διακριτή κάρτα, το δεύτερο - στον ενσωματωμένο ελεγκτή, το τρίτο - και πάλι σε ένα διακριτό και ούτω καθεξής. Η επιφάνεια εργασίας γραφικών, που βρίσκεται στο έβδομο τερματικό, καταλήγει έτσι σε μια διακριτή κάρτα γραφικών, η απόδοση της οποίας δεν προκαλεί κανένα ερώτημα. Ήθελα πραγματικά να ελέγξω πόσο ανταποκρίνεται η επιφάνεια εργασίας αν την έδειχνα μέσω του ενσωματωμένου ελεγκτή, επειδή οι εγχώριες πλατφόρμες έχουν προβλήματα με αυτό: για παράδειγμα, μια απλή επανασχεδίαση οθόνης χρησιμοποιώντας τη μονάδα προσαρμογέα γραφικών (η ανάπτυξη της ίδιας της MCST) μπορεί να διαρκέσει αρκετά δευτερόλεπτα - όχι απλώς αργή, αλλά σχεδόν σαν την εμφάνιση γραμμή προς γραμμή της προφύλαξης οθόνης σε παιχνίδια για το ZX Spectrum, που φορτώνονται από μια κασέτα. Αλίμονο, καμία επεξεργασία Xorg.confσε εικόνα και ομοιότητα, ούτε η επιλογή των ορισμάτων του πυρήνα, ούτε η αλλαγή του κύριου προσαρμογέα βίντεο στις ρυθμίσεις υλικού έδωσαν το επιθυμητό αποτέλεσμα.

Μια περίεργη απόχρωση

Ενώ η κύρια οθόνη σε μια διακριτή κάρτα γραφικών προετοιμάζεται σε λειτουργία κειμένου, η ίδια οθόνη σε έναν ενσωματωμένο ελεγκτή προετοιμάζεται σε λειτουργία γραφικών και εμφανίζει 4 λογότυπα CPU (όπως κάνουν ορισμένοι πυρήνες Linux αμέσως μετά την εκκίνηση), αλλά εξακολουθεί να χρησιμοποιεί μόνο το επάνω μέρος 25 γραμμές κειμένου.


Από προεπιλογή, ο πυρήνας ξεκινά με το όρισμα " hardreset", το οποίο δίνει εντολή στο σύστημα να πραγματοποιήσει πλήρη επαναφορά κατά την επανεκκίνηση του υπολογιστή. Στον κόσμο του x86, όλοι είναι συνηθισμένοι σε αυτήν την επιλογή, αλλά οι εναλλακτικές πλατφόρμες, όπου η ψυχρή προετοιμασία μετά την ενεργοποίηση διαρκεί αρκετά λεπτά, μπορούν να προσφέρουν μια γρήγορη επανεκκίνηση του λειτουργικού συστήματος - και στην πραγματικότητα λειτουργεί, σε αντίθεση με την "λοταρία" με kexecαπό την Intel/AMD. Δεν μπορέσαμε να βρούμε ένα επιχείρημα που να υποστηρίζεται από τον πυρήνα του συστήματος Elbrus και ταυτόχρονα να δίνει το επιθυμητό αποτέλεσμα.

Λογισμικό

Το λειτουργικό σύστημα Elbrus (OS El, OSL) είναι στάνταρ για όλους τους υπολογιστές MCST, αν και η θύρα συστήματος MSVS 3.0 μπορεί επίσης να λειτουργήσει στην πλατφόρμα SPARC. Το επίσημο σύστημα αναγνώρισης προϊόντων λογισμικού ανάγεται στους δεκαδικούς αριθμούς τους: για παράδειγμα, το "OS 316‑10" σημαίνει "λειτουργικό σύστημα TVGI.00316‑10 με τον πυρήνα TVGI.00315‑03, μέρος του γενικού λογισμικού TVGI.00311 -05." Από τη μία, μοιάζει περισσότερο με αλφαριθμητικό τίτλουςπαρά με σειριακούς αριθμούς εκδόσεις. Από την άλλη πλευρά, ένα συγκεκριμένο προϊόν λογισμικού είναι συνήθως στενά συνδεδεμένο με ένα συγκεκριμένο προϊόν υλικού και δεν υφίσταται σημαντικές αλλαγές κατά τη διάρκεια της ζωής του. Ωστόσο, στο αρχείο /etc/mcst_versionμπορείτε να δείτε την ετικέτα "release 2.2.1" και στο ψευδο-αρχείο /proc/bootdata- "έκδοση 2.13.3.0". Ωστόσο, κανένα από αυτά τα σύμβολα δεν εμφανίζεται στη διεπαφή χρήστη.

$ cat /etc/mcst_version έκδοση 2.2.1 $ cat /proc/bootdata boot_ver=" release-2.13.3.0-E2S::::::: (/tags/release-2.13.3.0-E2S στην έκδοση 3816) 2 Νοεμβρίου 2015 στις 18:05:58" mb_type="MONOCUB" chipset_type="IOHUB" cpu_type="E2S" cache_lines_damaged=0 $ cat /proc/version έκδοση Linux 2.6.33-elbrus.033.6.57k1tgri) (συμβατό με έκδοση gcc 4.4.0) #1 SMP Κυρ 11 Οκτ 2015 00:10:58 MSK 2015 $ uname -a Linux MONOCUB-10-XX 2.6.33-elbrus.033.6.57 #1 SMP Κυρ 11 Οκτ. 00:10: 58 MSK 2015 e2k E2S MONOCUB GNU/Linux
Ο πυρήνας του συστήματος είναι το Linux 2.6.33, μεταφερόμενο στην αρχιτεκτονική Elbrus-2000 (E2K) και γενικά το σύστημα βασίζεται στη διανομή Debian με μια επιλεκτική προσέγγιση στην επιλογή των πακέτων: ως επί το πλείστον, υπάρχει συμμόρφωση με την έκδοση 7.0 "Wheezy" ή νεότερη έκδοση, ωστόσο. Οι εκδόσεις ορισμένων πακέτων είναι μάλλον πιο κοντά στο 5.0 "Lenny". Σύμφωνα με μια πρόσφατη αναφορά (PDF, 172 KB), διεξάγεται επίσης έρευνα για την απευθείας μεταφορά της αρχικής διανομής με όλη την ποικιλία πακέτων, αλλά το ίδιο «Παππούς Λένιν» επιλέγεται ως βάση. Και όλα αυτά επειδή είναι απαραίτητο να διασφαλιστεί η συμβατότητα προς τα πίσω με το λογισμικό εφαρμογών και συστήματος που έχει αναπτυχθεί για ακόμη παλαιότερες εκδόσεις βιβλιοθηκών και μεταγλωττιστών. Αλλά γιατί να μην κυκλοφορήσει τότε πολλές εκδόσεις του συστήματος -σε παλαιότερη και νεότερη βάση συσκευασίας- ώστε ο καταναλωτής να μπορεί να επιλέξει μόνος του; Πιθανώς επειδή δεν υπάρχει αρκετή ζήτηση από το κοινό-στόχο και τα προβλήματα πιστοποίησης πιθανότατα παίζουν σημαντικό ρόλο.

Μόλις εγκατασταθεί, το σύστημα δεν υπόκειται σε τακτικές ενημερώσεις από το επίσημο αποθετήριο MCST και περιέχει αμέσως όλα τα διαθέσιμα πακέτα. Ακολουθούν οι εκδόσεις ορισμένων από τις πιο σημαντικές (με εξαίρεση τα εργαλεία ανάπτυξης που συζητούνται στο επόμενο μέρος του άρθρου):

  • εργαλεία γραφείου: abiword 2.8.6, evince 2.32.0, geeqie 1.1, gimp 2.6.12, gnumeric 1.10.0, graphviz 2.32.0, mtpaint 3.40, xsane 0.998;
  • Εργαλεία Διαδικτύου: dillo 3.0.3, firefox 3.6.28, σύνδεσμοι 2.2, linphone 3.5.2, lynx 3.81, thunderbird 3.1.20, sylpheed 2.7.0;
  • κρυπτογραφία: gnutls 3.1.22, openssl 0.9.8zc, openvpn 2.2.2;
  • πολυμέσα: ffmpeg 1.0, mplayer 1.1.1;
  • επεξεργαστές κειμένου: ed 1.7, leafpad 0.8.17, vim 7.3 + gvim 7.3;
  • διαχειριστές αρχείων: mc 4.7.0.8, thunar 1.4.0;
  • διερμηνείς εντολών: bash 4.2.53, pdksh 5.2.14, tcsh 6.18.01, zsh 5.0.2;
  • υπηρεσίες: openssh 6.1p1, httpd 2.4.3, postgresql 9.2.3 + slony1 2.2.0, zeromq 2.1.11;
  • διαχειριστές πακέτων: apt 0.9.7.9, aptitude 0.6.8.2, dpkg 1.16.10, pkgtools 13.1.
Υπάρχουν συνολικά 679 εγγραφές στη διαχείριση πακέτων, οι οποίες είναι δεκάδες φορές μικρότερες από την αρχική ομάδα του Debian, αλλά θα πρέπει να ληφθεί υπόψη ότι δεν είναι συσκευασμένο όλο το πραγματικά εγκατεστημένο λογισμικό: για παράδειγμα, το σύστημα έχει στην πραγματικότητα μια εικονική μηχανή και ένα κιτ ανάπτυξης Java, αλλά ο διαχειριστής πακέτων δεν γνωρίζω για αυτό.

Το μόνο γραφικό περιβάλλον επιφάνειας εργασίας είναι το Xfce 4.10. Παραδόξως, στο εγχώριο λειτουργικό σύστημα, τα προφίλ χρήστη που δημιουργήθηκαν πρόσφατα έχουν οριστεί στην αγγλική γλώσσα διεπαφής από προεπιλογή και στο μενού προγράμματος δεν υπάρχουν συντομεύσεις για τη ρύθμιση εναλλαγής διατάξεων πληκτρολογίου και η τρέχουσα ένδειξη διάταξης επίσης δεν φαίνεται πουθενά. Ωστόσο, οι έμπειροι χρήστες γνωρίζουν ότι τα εγχώρια λειτουργικά συστήματα που βασίζονται σε Linux προσπαθούν συνήθως να αντιγράψουν τις «καλύτερες» παραδόσεις των Windows: να λειτουργούν ως root και να αλλάζουν διατάξεις χρησιμοποιώντας το Alt+Shift.

Επιτραπέζιος υπολογιστής Xfce (προβολή κατά προσέγγιση)

Ενημέρωση με ημερομηνία 09/02/2016.Τα σχόλια υποδηλώνουν ότι η λειτουργία λήψης στιγμιότυπων οθόνης βρίσκεται στο πρόγραμμα επεξεργασίας γραφικών GIMP - μια δίκαιη παρατήρηση, αλλά για αυτό πρέπει να είστε έμπειρος χρήστης αυτού του προγράμματος. ο συγγραφέας, αν και επεξεργάστηκε όλες τις εικόνες για αυτό το άρθρο στο GIMP, δεν είναι ένας από αυτούς τους ειδικούς. Όσον αφορά τη λήψη στιγμιότυπων οθόνης χρησιμοποιώντας βοηθητικά προγράμματα γραμμής εντολών, είτε διατίθενται τυπικά είτε κατασκευασμένα ανεξάρτητα, αυτή η μέθοδος δεν ελήφθη υπόψη λόγω της χαμηλής φιλικότητας της προς τον μέσο χρήστη.

Όπως αναφέρθηκε ήδη, δεν μπορέσαμε να εκκινήσουμε λειτουργικό σύστημα τρίτου κατασκευαστή που έχει μεταγλωττιστεί για την αρχιτεκτονική x86 ή x86‑64 λόγω έλλειψης τεκμηρίωσης. Οι προσπάθειες εκκίνησης μιας προσαρμοσμένης εφαρμογής μεταγλωττισμένης για Linux x86‑64 απευθείας από τη γραμμή εντολών Elbrus ήταν επίσης ανεπιτυχείς. Δεν υπάρχει επίπεδο εξομοίωσης WinAPI ή εργαλεία για την εκκίνηση δυαδικών αρχείων PE στο σύστημα και για να δημιουργήσετε μόνοι σας το WinE από πηγαίο κώδικα, πρέπει να μεταφέρετε τμήματα κώδικα που εξαρτώνται από την αρχιτεκτονική. Ο εξομοιωτής Qemu δεν περιλαμβάνεται επίσης στο τυπικό πακέτο, αλλά συναρμολογείται λίγο πολύ με επιτυχία (με παραμέτρους ‑‑enable-tcg-interpreter ‑‑disable-error) και φαίνεται να λειτουργεί και σε παραλλαγές i386-softmmu, x86_64-softmmu, sparc-softmmu, sparc64-softmmu; Ωστόσο, απαιτείται μεταφορά για παραλλαγές "εφαρμογής". *-linux-user. Προφανώς, οι δημιουργοί της τεχνολογίας δυαδικής μετάφρασης Elbrus δεν το είχαν καθόλου υπόψη όταν μιλούσαν για εξομοίωση υλικού x86, επομένως δεν είδαμε κανένα νόημα να δοκιμάσουμε την απόδοση του Qemu - και είναι τόσο ξεκάθαρο που θα ήταν αργό και λυπηρό .

Επιστρέφοντας στο θέμα του τυπικού λογισμικού, θα τολμούσαμε να προτείνουμε ότι ένας τυπικός χρήστης αυτού του συστήματος είναι απίθανο να αισθάνεται στερημένος, καθώς θα πρέπει είτε να λύσει προβλήματα σε εξειδικευμένα προγράμματα τρίτων ή να δημιουργήσει απλά έγγραφα σε πακέτα γραφείου, να σαρώσει και εκτύπωση, και Για αυτό, λίγοι άνθρωποι χρειάζονται τις πιο πρόσφατες εκδόσεις. Η μόνη εξαίρεση εδώ, ίσως, είναι το πρόγραμμα περιήγησης ιστού: το απλούστερο Dillo και το κείμενο Lynx / Links δεν προσποιούνται ότι είναι τίποτα, αλλά ο Firefox 3.6 είναι, αν και δεν είναι 1.5 από το WSWS 3.0, αλλά εξακολουθεί να είναι απελπιστικά παλιό για σύγχρονους ιστότοπους. Αυτή η έκδοση δεν υποστηρίζεται, για παράδειγμα, από το Yandex και τους χάρτες Google (σε αντίθεση με το OSM και το Bing), τα Έγγραφα Google. θα δείτε μόνο την κεφαλίδα των ιστοσελίδων Intel, Mail.ru και Sberbank. Και, φυσικά, ελλείψει ενσωματωμένης υποστήριξης για το HTML Video και την προσθήκη Flash, δεν θα μπορείτε να παρακολουθήσετε βίντεο σε κανέναν ιστότοπο, είτε είναι ξένο YouTube με αναφορά για την κυκλοφορία του Doom 3 στο Elbrus 401 ‑PC ή το ιδεολογικά πιστό Kremlin.ru με ομιλίες του Ανώτατου Ανώτατου Διοικητή. Προφανώς, ούτε αυτό θεωρείται μειονέκτημα, καθώς το τυπικό σενάριο χρήσης τέτοιων υπολογιστών είναι η πρόσβαση σε εσωτερικές, ειδικά σχεδιασμένες τοποθεσίες σε ένα κλειστό δίκτυο μιας επιχείρησης ή τμήματος.

Προσπάθειες πρόσβασης στο Διαδίκτυο(η λέξη "Namoroka" στα στιγμιότυπα οθόνης δεν είναι άλλη μια αλλαγή επωνυμίας του Firefox για το Debian, αλλά απλώς μια κωδική ονομασία για την έκδοση 3.6)

Αλλά μια ενημέρωση λογισμικού δεν χρησιμεύει μόνο για την επέκταση της λειτουργικότητας, αλλά και εξαλείφει σοβαρά σφάλματα και τρωτά σημεία - τι να κάνετε με αυτό; Προφανώς, οι ιδεολόγοι της ασφάλειας πληροφοριών πιστεύουν ότι εφόσον δεν υπάρχει εξωτερική πρόσβαση σε ιδιωτικό δίκτυο και οι εσωτερικοί χρήστες που έχουν φυσική πρόσβαση στους υπολογιστές τους δεν θα προβούν εσκεμμένα σε κακόβουλες ενέργειες ή θα συνδέσουν αμφίβολα μέσα αποθήκευσης από αμέλεια, τότε δεν υπάρχει τίποτα ανησυχητικό. Ως έσχατη λύση, εάν κάποιο σφάλμα σας ανησυχεί πραγματικά και θέλετε να το συζητήσετε, το MCST έχει το δικό του bugzilla με είσοδο και εισιτήρια, με την έννοια ότι χωρίς τη σύνδεση που σας έχει δοθεί δεν θα φτάσετε εκεί και θα δείτε τα δικά σας εισιτήρια, ακόμα κι αν το πρόβλημα έχει ήδη συζητηθεί χιλιάδες φορές με άλλους πελάτες και έχει βρεθεί λύση εδώ και καιρό.

Ανασκόπηση και συγκριτική δοκιμή του υπολογιστή Elbrus 401‑PC. Συμπλήρωμα - ερωτήσεις και απαντήσεις

Ίσως το κύριο αποτέλεσμα της δημοσίευσης αυτής της κριτικής, εκτός από την ουσιαστική εξοικείωση του κοινού με τις πρώτες ανεξάρτητες εντυπώσεις του νέου υπολογιστή, ήταν η επιθυμία της ίδιας της εταιρείας MCST να αποκαλύψει περισσότερες λεπτομέρειες, να εξαλείψει τυχόν παρεξηγήσεις που έχουν προκύψει και να απαντήσει στο ερωτήματα που τέθηκαν στο άρθρο και στα σχόλια σε αυτό. Μερικά από αυτά τα ζητήματα είναι τόσο θεμελιώδη που αξίζουν το δικό τους άρθρο και επομένως απαιτούν σοβαρή μελέτη. Τώρα θα δούμε αυτά που ταιριάζουν καλύτερα στη μορφή της συνέντευξης.

Γενικά σημεία

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

Ιστορικά, οι κύριοι πελάτες και καταναλωτές των προϊόντων MCST ήταν οι υπηρεσίες επιβολής του νόμου. Η ποικιλία και οι όγκοι παραγωγής ήταν περιορισμένοι, κάθε υπολογιστής ήταν καταχωρημένος, κάθε αγοραστής ήταν γνωστός από την όραση, μεταφορικά μιλώντας. Με ένα τέτοιο μοντέλο πωλήσεων, ήταν απαραίτητο και επαρκές να τεθούν σε κυκλοφορία μόνο καλά λειτουργικά και πιστοποιημένα συστήματα, για τα οποία το λογισμικό εφαρμογών ήταν ειδικά προσαρμοσμένο. Κάθε πελάτης χρειαζόταν προσωπική προσέγγιση - εξειδικευμένες διαβουλεύσεις κατά την επιλογή του εξοπλισμού και την επακόλουθη λειτουργία του, συμπεριλαμβανομένης της επίσκεψης μηχανικού σέρβις στον χώρο εγκατάστασης (οπουδήποτε στην αχανή στεριά, καθώς και στη θάλασσα). Δηλαδή, μια «terry επιχείρηση», ίσως με τις δικές της ιδιαιτερότητες.

Τώρα η MCST θέλει πραγματικά να εισέλθει στην πολιτική αγορά - πρώτα στον εταιρικό τομέα, ο οποίος είναι ακόμα πιο κοντά στην τρέχουσα εμπειρία, και μετά στο τμήμα των καταναλωτών, δηλαδή στις ευρύτερες μάζες. Είναι σαφές ότι εάν οι επιχειρηματικοί πελάτες εξακολουθούν να είναι τουλάχιστον κατά κάποιο τρόπο έτοιμοι να υποστούν πρόσθετα έξοδα (αλλά όχι, φυσικά, αυτά που είναι έτοιμοι να υποστούν οι παραδοσιακοί πελάτες MCST), ειδικά όταν τα πλεονεκτήματα της επιλογής ενός ακριβού αποκλειστικού είναι ξεκάθαρα, τότε ο μέσος άνθρωπος ψηφίζει με το πορτοφόλι του για τα πιο προσιτά προϊόντα, συμφωνώντας σε προϊόντα χαμηλότερης ποιότητας και μερικές φορές σε πλήρη έλλειψη υποστήριξης από τον κατασκευαστή. Και οι απλοί άνθρωποι είναι πεινασμένοι για οτιδήποτε νέο - δώστε τους διπλασιασμό του αριθμού των τρανζίστορ κάθε ενάμιση χρόνο, την τελευταία έκδοση του πυρήνα, τις βιβλιοθήκες συστήματος και τα προγράμματα εφαρμογών. και δεν είναι τόσο σημαντικό πόσα παλιά σφάλματα έχουν εξαλειφθεί και πόσα νέα έχουν εμφανιστεί, πόσο το λογισμικό έχει γίνει βαρύτερο και πώς επιβραδύνεται τώρα σε μηχανήματα της προηγούμενης γενιάς.

Το προφανές χάσμα μεταξύ του επιθυμητού και του πραγματικού είναι καλά κατανοητό στο MCST σε όλα τα επίπεδα - κανείς δεν έχει ρόδινες ψευδαισθήσεις ότι μπορείς να πηδήξεις αμέσως από το ρόπαλο, προσπερνώντας αξιοσέβαστους σπρίντερ και έμπειρους μαραθωνοδρόμους, ειδικά επειδή με τέτοιους αντιπάλους είναι απαραίτητο, όπως στο διάσημο παραμύθι, βιάσου όσο πιο γρήγορα μπορείς για να μείνεις στη θέση σου. Τώρα δεν υπάρχουν ούτε χρήματα, ούτε παραγωγική ικανότητα, ούτε απλώς ανθρώπινοι πόροι για μια τέτοια ανακάλυψη - το προσωπικό είναι τρεις τάξεις μεγέθους μικρότερο από αυτό της Intel ή της Microsoft και πρέπει να κάνουν τα πάντα ταυτόχρονα. Ακόμη και για να φτάσουμε σε εμπορικές ή δημοσιονομικές δομές, είναι απαραίτητο να αναπτυχθεί πρώτα ένα δίκτυο κέντρων αντιπροσωπείας και συνεργείων, να δημιουργηθεί ένα σύστημα εκπαίδευσης και τεχνικής υποστήριξης - τώρα η MCST δοκιμάζει τα νερά μόνο σε αναζήτηση συνεργατών. Και, φυσικά, είναι απαραίτητες οικονομικές επενδύσεις: για να μπορέσετε να πουλήσετε τους υπολογιστές σας φθηνά, πρέπει να μειώσετε το κόστος παραγωγής και αυτό είναι εφικτό μόνο με σημαντική αύξηση του όγκου - αποδεικνύεται ότι είναι ένας φαύλος κύκλος , που είναι πολύ δύσκολο να σπάσει.

Γίνεται επίσης κατανοητό ότι τα καταναλωτικά προϊόντα πρέπει να είναι όσο το δυνατόν πιο ανοιχτά και πρόσφορα: για παράδειγμα, ότι η τεκμηρίωση, οι διανομές εγκατάστασης λογισμικού και οι έγκαιρες ενημερώσεις για αυτά, οι πηγαίοι κώδικες αυτών των προγραμμάτων πρέπει να είναι ελεύθερα διαθέσιμοι, ότι μια πλατφόρμα για δημόσιες διαβουλεύσεις και ανταλλαγή εμπειριών, εκπαιδευτική βιβλιογραφία για αρχάριους και ειδικούς. Αλλά όλα αυτά, επίσης, δεν εμφανίζονται από μόνα τους σε μια νύχτα, και η εταιρεία βρίσκεται ακόμα στην αρχή του μονοπατιού για να κερδίσει τις καρδιές και τα μυαλά των πιθανών πελατών.

Δεδομένου ότι είναι δύσκολο να εγκαταλείψουμε παλιές συνήθειες, ειδικά όταν δεν υπάρχει πρακτική επιχειρηματικής δραστηριότητας σε ένα εντελώς διαφορετικό περιβάλλον, είναι απαραίτητο να ληφθεί υπόψη το γεγονός ότι όταν οι υπάλληλοι της εταιρείας απαντούν στις ερωτήσεις περαιτέρω στο κείμενο, όταν λένε « χρήστη», συχνά εξακολουθούν να έχουν Στο μυαλό του κλασικού πελάτη του, με τον οποίο υπάρχει προσωπική επαφή και άμεση σύμβαση, και συχνά επίσης μια πρόσθετη συμφωνία μη αποκάλυψης, ένας τέτοιος πελάτης δεν ενδιαφέρεται για τη δημοσιότητα και γνωρίζει ότι μπορεί υπολογίζει σε οποιαδήποτε ιδιοτροπία για τα χρήματά του. Όμως, όπως μπορείτε να δείτε από πολλές απαντήσεις, αυτό το πρότυπο δεν θεωρείται πλέον το μοναδικό. Και εδώ όλα θα εξελιχθούν σταδιακά, βήμα-βήμα.

Παραγωγή και προώθηση

Ποιο εργοστάσιο παράγει CPU και KPI; Σε ποιους τόμους; Είναι αλήθεια ότι η παραγωγή έχει περιοριστεί (ανασταλεί) για δύο χρόνια;

Δεν υπάρχει κανένα μυστικό εδώ: νέα μικροκυκλώματα παράγονται πλέον μόνο στην Ασία. Και αν βάλετε στόχο να ανταγωνιστείτε σοβαρά στην ελεύθερη αγορά, δεν υπάρχει ακόμα εναλλακτική σε αυτό. Ένα άλλο πράγμα είναι ότι τότε τίθεται το φυσικό ζήτημα της ασφάλειας πληροφοριών σε κρίσιμες εφαρμογές, αλλά για μια ειδική κατηγορία πελατών είναι δυνατό να οργανωθεί η παραγωγή σε τοπικές εγκαταστάσεις σε περιορισμένες ποσότητες - με κατάλληλο επίπεδο τιμών. Το πρώτο (και επιτυχημένο) έργο αυτού του είδους είναι ο επεξεργαστής Elbrus-2SM: οι κρύσταλλοι του παράγονται στο εργοστάσιο Zelenograd Mikron.

Η παραγωγή μικροκυκλωμάτων δεν σταματά, επιπλέον γίνονται συνεχώς προσαρμογές σε αυτά. Απλώς, σύμφωνα με τα σύγχρονα πρότυπα, οι όγκοι μικρότεροι από χίλιους κρυστάλλους ετησίως θεωρούνται παραγωγή μικρής κλίμακας και οι παραγγελίες γίνονται μόνο περιστασιακά· εδώ δεν χρειάζεται ένας μεταφορέας 24 ωρών.

Πολλοί επεξεργαστές σε αυτό το στάδιο χρησιμοποιούνται για εσωτερικές ανάγκες, τόσο συνηθισμένοι όσο και πειραματικοί. Για παράδειγμα, ένα συγκρότημα υπολογιστών συναρμολογήθηκε πρόσφατα από 32 μονάδες 1U με τέσσερις επεξεργαστές Elbrus-4C σε καθεμία - συνολικά 512 πυρήνες. Όποιος έχει ενδιαφέρουσες εργασίες για ένα τέτοιο σύστημα μπορεί να κάνει αίτηση για χρόνο υπολογιστή. (Μια σύντομη περιγραφή του ποιες κατηγορίες προγραμμάτων εκτελούνται πιο αποτελεσματικά στην αρχιτεκτονική E2K και πώς να βελτιστοποιήσετε τον πηγαίο κώδικα σας θα συζητηθεί παρακάτω, και αυτό το θέμα σχεδιάζεται να καλυφθεί με περισσότερες λεπτομέρειες σε ξεχωριστή δημοσίευση.)

Σε ποιους όγκους παραγωγής θα είναι δυνατό να μειωθεί το κόστος της «μητρικής πλακέτας + επεξεργαστής» σε επίπεδο αποδεκτό για ένα ευρύ φάσμα αγοραστών; Πόσο σύντομα θα είναι σε θέση η ρωσική βιομηχανία ηλεκτρονικών να παρέχει τέτοιους όγκους;

Για να φτάσετε σε ένα επίπεδο περίπου 1.000 $, είναι απαραίτητο να παράγονται τουλάχιστον 10 χιλιάδες τελικά προϊόντα ετησίως και η περαιτέρω κίνηση προς τον αγοραστή είναι δυνατή μόνο με ροή περίπου 100 χιλιάδων προϊόντων ετησίως. Φυσικά, όλη η παραγωγή θα πρέπει στη συνέχεια να συγκεντρωθεί στην Κίνα ή τα εγχώρια εργοστάσια θα πρέπει να εργαστούν πολύ σκληρά για να μειώσουν το κόστος των logistics και να μειώσουν το κόστος παραγωγής. Τώρα όλες οι σανίδες που παράγονται από την MCST συναρμολογούνται σε ρωσικά εργοστάσια.
Σε ποιους όγκους παραγωγής θα δικαιολογείται η κυκλοφορία μιας απλοποιημένης έκδοσης του επεξεργαστή για συστήματα 1 υποδοχών - χωρίς μπλοκ επικοινωνίας μεταξύ των επεξεργαστών και πρόσβαση σε απομακρυσμένη μνήμη;

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

Μέχρι στιγμής, αυτό το σχέδιο πωλήσεων δεν έχει δοκιμαστεί, αλλά πιθανότατα θα υιοθετηθεί η εμπειρία των συναδέλφων από το Alt Linux - για προσωπική χρήση η τιμή σίγουρα δεν θα γίνει επαχθής.
Πότε μπορούμε να περιμένουμε έτοιμα συστήματα βασισμένα στο Elbrus-8S; Έχουν προσδιοριστεί τα χαρακτηριστικά των μελλοντικών επεξεργαστών; Το επόμενο μοντέλο θα έχει 16 πυρήνες και ταχύτητα ρολογιού 2 GHz, για παράδειγμα;

Δείγματα προπαραγωγής μηχανών μονού επεξεργαστή που βασίζονται στο G8 μπορείτε να δείτε αυτό το καλοκαίρι. Το επόμενο βήμα είναι μια ελαφρά αύξηση της συχνότητας (έως 1,5 Hz) και ο διπλασιασμός του αριθμού των υπολογιστικών μονάδων κινητής υποδιαστολής, που αποτελούν την κύρια κινητήρια δύναμη αυτής της πλατφόρμας - ένας τέτοιος επεξεργαστής αναπτύσσεται ήδη με τον τίτλο εργασίας "Elbrus- 8SV". Ο επεξεργαστής με 16 πυρήνες σχεδιάζεται να κυκλοφορήσει το 2020.
Γιατί το σύστημα ονομασίας υλικού και λογισμικού είναι τόσο μπερδεμένο;

Όταν έχετε μόνο μερικά βασικά προϊόντα, η κατανόηση της ονοματολογίας δεν είναι δύσκολη, ειδικά για έναν επαγγελματία. Τώρα, όταν η γκάμα του υλικού και του λογισμικού επεκτείνεται, όταν επικεντρώνεται ο μέσος χρήστης, το σύστημα ονοματοδοσίας έρχεται σταδιακά σε μια μορφή κατανοητή από έναν μη ειδικό.

Σημαντική διευκρίνιση.Είναι λάθος να αναφέρουμε την ονομασία «Elbrus-2000», καθώς και τη συντομογραφία «E2K», στο πλαίσιο των σύγχρονων προϊόντων: η επίσημη ονομασία αυτής της αρχιτεκτονικής μικροεπεξεργαστή είναι «Elbrus», χωρίς επιθήματα. Το όνομα «Elbrus-2000» επιλέχθηκε για την αρχιτεκτονική που επρόκειτο να υλοποιηθεί από κοινού με δυτικές εταιρείες το 2000. Στις αρχές του 1999, το περιοδικό Microprocessor Report δημοσίευσε ένα άρθρο που περιγράφει την αρχιτεκτονική του μικροεπεξεργαστή Elbrus-2000, το οποίο στα αγγλικά έμοιαζε με "Elbrus-2000", και σε συντομογραφία - "E2k". Η τρέχουσα αρχιτεκτονική Elbrus έχει βελτιωθεί σημαντικά σε σχέση με την αρχιτεκτονική E2k - αυτή είναι ήδη η τρίτη έκδοση - επομένως η χρήση της παλιάς ονομασίας δεν είναι απολύτως σωστή. Επιπλέον, η συντομογραφία E2K (με κεφαλαίο γράμμα "K") μπορεί να ερμηνευτεί από ορθόδοξους επιστήμονες υπολογιστών ως 2048, κάτι που δεν είναι καθόλου καλό.

Υποστήριξη χρήστη

Διατίθεται η τεκμηρίωση σε ηλεκτρονική μορφή; Υπάρχουν σχέδια να δημοσιοποιηθεί η τεκμηρίωση για δωρεάν λήψη από οποιονδήποτε (ανεξάρτητα από το γεγονός της αγοράς του εξοπλισμού);

Η τεκμηρίωση μπορεί να ληφθεί τώρα, αλλά προς το παρόν μόνο με έναν σύνδεσμο που αποστέλλεται κατόπιν αιτήματος. Ωστόσο, τους επόμενους μήνες σχεδιάζεται να ξεκινήσει ένας ιστότοπος κοινότητας και τεχνικής υποστήριξης, όπου όλες οι πληροφορίες θα είναι διαθέσιμες στο κοινό. Εφόσον μιλάμε για δεκάδες έγγραφα, αυτό θα πάρει λίγο χρόνο.
Υπάρχουν σχέδια για άνοιγμα του bugzilla για δημόσια προβολή; Δημιουργήστε ένα FAQ, οργανώστε ένα φόρουμ - έναν ιστότοπο για ανοιχτή ανταλλαγή εμπειριών;

Δεν μπορείτε απλώς να ανοίξετε το bugzilla, όπου πολλά εισιτήρια περιέχουν «ιδιαίτερα ευαίσθητες» πληροφορίες. Πιθανότατα, θα δημιουργηθεί ένα ξεχωριστό bugzilla για το ευρύ κοινό, διαθέσιμο για προβολή και συνεισφορά όλων. Και η προηγουμένως συσσωρευμένη εμπειρία σχετικά με τις πιο συχνές ερωτήσεις θα μετατραπεί σε ένα FAQ, το οποίο θα αναρτηθεί επίσης στον νέο ιστότοπο υποστήριξης. Θα υπάρχει και φόρουμ εκεί, πιθανότατα.
Τι γίνεται με τη δημοσίευση των πηγαίων κωδίκων του προσαρμοσμένου λογισμικού και την αποστολή ενημερώσεων κώδικα στο upstream ενός συγκεκριμένου έργου; Υπάρχουν σχέδια για αποδοχή ενημερώσεων κώδικα από χρήστες; Τι γίνεται με τις ανταμοιβές για ευπάθειες που βρέθηκαν;

Οι πηγαίοι κώδικες δεν έγιναν διαθέσιμοι στο κοινό απλώς και μόνο επειδή οι ίδιοι οι πελάτες δεν ήταν δημόσιοι, και υπήρχε μικρή ζήτηση μεταξύ τους για τους πηγαίους κώδικες, και όσοι το χρειάζονταν πραγματικά, όχι από περιέργεια, έκαναν αίτημα και έλαβαν ό,τι χρειάζονταν ιδιαιτερώς. Προβλέπεται ότι στο άμεσο μέλλον θα δημιουργηθεί ένα δημόσιο αποθετήριο για τον μαζικό καταναλωτή, όπου θα πάει όλος ο δανεισμένος κωδικός. Η εταιρεία δεν σχεδιάζει να ανοίξει τις δικές της εξελίξεις, όπως ο μεταγλωττιστής LCC - τελικά, ο μεταγλωττιστής Intel C++ (δηλαδή, τον οποίο η MCST θεωρεί τον κύριο ανταγωνιστή της όσον αφορά τις βελτιστοποιήσεις) είναι επίσης κλειστός και αισθάνεται καλά με αυτό.

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

Η αποστολή των αλλαγών σας στους δημιουργούς των αρχικών έργων είναι αναμφίβολα χρήσιμη, αλλά κάποιος πρέπει να το κάνει αυτό, πρέπει να γνωρίζετε την προσέγγιση σε κάθε έργο και να κατανοείτε τις ιδιαιτερότητες της κουλτούρας της κοινότητας. Φαίνεται πιο εφικτό καθήκον να βάλουμε απλώς όλο τον κώδικα στον δημόσιο τομέα: εάν υπάρχει ένας «πρεσβευτής καλής θέλησης» έτοιμος να αλληλεπιδράσει με τον ένα ή τον άλλον ανάντη, καλά, καλά. Μέχρι στιγμής, το MCST δεν έχει τέτοια εμπειρία.

Σκεύη, εξαρτήματα

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

Ο ευκολότερος τρόπος για να ξεκινήσετε την επαναδιαμόρφωση της επιφάνειας εργασίας γραφικών θα ήταν να εκτελέσετε το βοηθητικό πρόγραμμα xorg-server.postinst. Ο ενσωματωμένος προσαρμογέας δεν διαθέτει καθόλου χαρακτηριστικά 3D επιτάχυνσης υλικού, αλλά η κανονική χρήση των επιτραπέζιων εφαρμογών δεν θα πρέπει να προκαλεί καμία ταλαιπωρία - σίγουρα όχι όπως σε παλαιότερους υπολογιστές. Πιθανώς, θα χρειαστεί να το καταγράψετε σε βίντεο και να δημοσιεύσετε ένα σύντομο βίντεο - αντί για χίλιες λέξεις.
Ποιες διακριτές κάρτες γραφικών, εκτός από το Radeon HD 6450 / R5 230, υποστηρίζονται από το λειτουργικό σύστημα; Ποιες λειτουργίες επιτάχυνσης υλικού είναι διαθέσιμες στα προγράμματα εφαρμογών μέσω του προγράμματος οδήγησης που είναι διαθέσιμο στο σύστημα;

Υποστηρίζεται ολόκληρη η σύγχρονη γραμμή Radeon, συμβατή με ανοιχτό πρόγραμμα οδήγησης για Linux. Δεδομένου ότι η nVidia είναι πολύ λυπηρή από αυτή την άποψη, τα προϊόντα της δεν έχουν υποστήριξη στο λειτουργικό σύστημα Elbrus αυτή τη στιγμή.
Πώς μπορεί κανείς να εξηγήσει τις ασυνήθιστα χαμηλές ταχύτητες ανάγνωσης και εγγραφής μιας μονάδας στερεάς κατάστασης, οι οποίες δεν φτάνουν ούτε το ονομαστικό εύρος ζώνης της διεπαφής SATA-2 μέσω της οποίας συνδέεται;

Αυτός είναι ένας γνωστός περιορισμός του τσιπ 1991VG1Ya, το οποίο υλοποιεί έναν ελεγκτή περιφερειακής διασύνδεσης (PIC). Μια βελτιστοποιημένη έκδοση του ελεγκτή (KPI-2), στην οποία επιλύεται αυτό το πρόβλημα, θα εγκατασταθεί σε συστήματα με τους νέους επεξεργαστές Elbrus-8S και Elbrus-1S+.
Γιατί ο υπολογιστής Elbrus 401‑PC διαθέτει σκληρό δίσκο 1 TB, εάν δεν έχει καν ρυθμιστεί στο λειτουργικό σύστημα και η κύρια μονάδα δίσκου παρέχει ήδη πολύ ελεύθερο χώρο;

Ο προφανής σκοπός ενός σκληρού δίσκου είναι η αποθήκευση μεγάλων ποσοτήτων δεδομένων, τα οποία απαιτούνται από το τρέχον σύνολο χρηστών. Το γεγονός ότι ο δίσκος δεν είναι τοποθετημένος στο σύστημα είναι ένα ελάττωμα, αλλά όχι σημαντικό: ορισμένοι χρήστες διαμορφώνουν επίσης την κάρτα flash για να ταιριάζει στις ανάγκες τους αντί για δυαδική μετάφραση· δεν μπορείτε να ευχαριστήσετε όλους αμέσως.
Ποιος είναι ο σκοπός της βαφής της βιδωτής στερέωσης ενός ηλεκτροκινητήρα στερεάς κατάστασης - ως σφραγίδα εγγύησης ή για να αποφευχθεί το αυτοξεβίδωμα;

Πράγματι, το χρώμα είναι πρωτίστως ένα πώμα. Μπορείτε να ξεβιδώσετε τη μονάδα - αυτό δεν ακυρώνει την εγγύηση, αλλά αν κάτι σπάσει, οι μηχανικοί σέρβις θα έχουν φυσικά ερωτήσεις για τον χρήστη σχετικά με τις ενέργειες που εκτελούνται.
Από πού προέρχονται τα αναγνωριστικά συσκευών PCI; Γιατί ο κωδικός προγραμματιστή (Vendor ID) πολλών ενσωματωμένων συσκευών είναι ίδιος με αυτόν της Intel;

Ο λόγος είναι εντελώς πεζός - αυτό διευκολύνει το λειτουργικό σύστημα Windows να αισθάνεται σαν στο σπίτι του στη λειτουργία δυαδικής μετάφρασης. Είναι αλήθεια ότι λόγω της παρανοϊκής σύνδεσης των κωδικών ενεργοποίησης στον εξοπλισμό που χρησιμοποιείται, αυτό το «πιο φιλικό» σύστημα εξακολουθεί μερικές φορές να αρχίζει να λειτουργεί.
Πού μπορώ να βρω μια περιγραφή της μονάδας υλικού και λογισμικού αξιόπιστης λήψης Echelon-E;

Εδώ υπάρχει μια παρεξήγηση: αυτό το προϊόν είναι καθαρά λογισμικό και είναι μόνο μια ειδική περίπτωση του συνηθισμένου Echelon MDZ, που αναπτύχθηκε από την ομώνυμη ένωση έρευνας και παραγωγής. Αυτό το εργαλείο παρέχει αξιόπιστη εκκίνηση του υπολογιστή, έλεγχο ακεραιότητας, αναγνώριση και έλεγχο ταυτότητας του χρήστη πριν από τη μεταφορά του ελέγχου στο λειτουργικό σύστημα.
Η μονάδα τηλεχειρισμού μέσω IPMI, που προσφέρεται ως επιλογή για διακομιστές Elbrus-4.4, είναι μια ανεξάρτητη ανάπτυξη ή είναι ένα τελικό προϊόν του εξωτερικού;

Φυσικά, αυτή είναι μια ανεξάρτητη ανάπτυξη, αλλά όχι ακόμα ένα τελικό προϊόν - η ενότητα βρίσκεται στο στάδιο εντοπισμού σφαλμάτων.

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

Ποιο σύστημα χαρακτηρισμού έκδοσης χρησιμοποιείται για το Elbrus OS;

Η σωστή απάντηση έχει ήδη δοθεί στο άρθρο: ο αριθμός έκδοσης είναι γραμμένος στο αρχείο /etc/mcst_version. Αυτή η έκδοση 2.2, η οποία ήταν εξοπλισμένη με υπολογιστές από την πρώτη παρτίδα, στην πραγματικότητα δεν είναι πλέον σχετική - η 2.3 είναι τώρα σταθερή και η 3.0 (με τον πυρήνα 3.14) βρίσκεται στο στάδιο της υποψήφιας έκδοσης.
Υπάρχουν σχέδια για την κυκλοφορία τακτικών ενημερώσεων που θα εγκαθίστανται αυτόματα από ένα δημόσιο αποθετήριο; Γιατί δεν είναι συσκευασμένο όλο το λογισμικό που είναι εγκατεστημένο στο σύστημα;

Ναι, προγραμματίζεται αυτόματη ενημέρωση, αν και τώρα αυτή η διαδικασία εξακολουθεί να πραγματοποιείται χειροκίνητα κατόπιν αιτήματος. Φυσικά, για αυτό, όλο το λογισμικό πρέπει να είναι υπό τον έλεγχο ενός διαχειριστή πακέτων - αν κάτι δεν πάει καλά τώρα, αυτό οφείλεται μόνο στην ατελή διαδικασία κατασκευής.
Δεν είναι πιο εύκολο να μεταφέρετε απευθείας μία από τις δημοφιλείς διανομές Linux - για παράδειγμα, το Debian;

Αυτό ακριβώς κάνει μια από τις ομάδες αυτή τη στιγμή. Πράγματι, το Debian προσφέρει ίσως την πιο βολική υποδομή για τη δημιουργία διανομών παραγώγων. Επιπλέον, το Debian έχει πλέον το μεγαλύτερο εύρος υποστηριζόμενων αρχιτεκτονικών, τουλάχιστον μεταξύ της οικογένειας Linux, επομένως είναι πιο λογικό να δημιουργηθούν νέες θύρες σε αυτή τη βάση. Ωστόσο, η διαδικασία μεταφοράς για αυτήν τη διανομή δεν είναι η πιο ομαλή και συστηματική, επομένως πρέπει να εργαστείτε σκληρά. Αλλά μόλις η διαδικασία εξορθολογιστεί και αυτοματοποιηθεί, ο συγχρονισμός με την κύρια γραμμή θα γίνει [σχεδόν] άμεσος. Αλλά αν θα είναι δυνατό να δοθεί σε αυτό το λιμάνι επίσημη ιδιότητα είναι ένα μεγάλο ερώτημα.

Αλλά η λίστα των υποστηριζόμενων λειτουργικών συστημάτων δεν σχεδιάζεται να περιοριστεί σε μία μόνο επιλογή. Το πρώτο πράγμα που περιμένουμε είναι η θύρα ALT Linux, η οποία δεν χρειάζεται εισαγωγή. Γίνονται επίσης εργασίες για την προσαρμογή του QNX: το ασφαλές λειτουργικό σύστημα σε πραγματικό χρόνο Neutrino-Elbrus λειτουργεί ήδη με κάποια μορφή. Για λεπτομέρειες, επικοινωνήστε με τους προγραμματιστές στο κέντρο ικανοτήτων SVD Embedded Systems.

Πόσο δύσκολο είναι να μεταφέρετε έναν πυρήνα Linux; Γιατί χρησιμοποιείται τώρα η έκδοση 2.6.33 του πυρήνα - όχι η πιο πρόσφατη, αλλά ταυτόχρονα δεν υποστηρίζεται ως LTS;

Η διαδικασία μεταφοράς του πυρήνα Linux σε μια ή την άλλη πλατφόρμα υλικού είναι στην πραγματικότητα αρκετά εντατική, αλλά το πρόβλημα δεν είναι μια εφάπαξ προσπάθεια, αλλά το γεγονός ότι κάθε φορά πολλά πράγματα πρέπει να ξεκινούν σχεδόν από την αρχή, αφού όλα ρέουν, αλλάζουν και ανακατεύονται. Για παράδειγμα, μόλις μετακινηθήκαμε στον πυρήνα 3.14 και αρχίσαμε να πειραματιζόμαστε με τον κλάδο 4.x - και μετά όλα άλλαξαν ξανά.

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

Ποιες εκδόσεις πυρήνα ( Προκαθορισμένο, nn, rt) για ποιους σκοπούς είναι καλύτερο να χρησιμοποιείται;

Για καθημερινές εργασίες, ο προεπιλεγμένος πυρήνας είναι προφανώς καλύτερος. Ο πυρήνας "nn" προορίζεται για δρομολογητές δικτύου - μειώνει το κόστος της επεξεργασίας διακοπών. Ο πυρήνας "rt" είναι σε θέση να προγραμματίσει την εργασία των διαδικασιών, τηρώντας τους περιορισμούς στα εκχωρημένα χρονικά τμήματα εντός των καθορισμένων ορίων, γεγονός που μας επιτρέπει να μιλάμε για υπολογισμούς σε πραγματικό χρόνο - δεν σημαίνει "γρήγορο", αλλά σημαίνει " προβλέψιμο», αν και με κόστος απώλειας απόδοσης. Σε αυτήν την περίπτωση, μόνο ο πυρήνας και η εφαρμογή προορισμού, καθώς και το ελάχιστο απαιτούμενο σύνολο υπηρεσιών παρασκηνίου, συνήθως παραμένουν σε λειτουργία στο σύστημα.
Είναι δυνατή η γρήγορη επανεκκίνηση του λειτουργικού συστήματος χωρίς επανεκκίνηση του υλικού; Πώς να επιταχύνω την εκκίνηση του λειτουργικού συστήματος ειδικότερα και του υπολογιστή γενικότερα;

Δεν υπάρχει πρόβλεψη για γρήγορη επανεκκίνηση του λειτουργικού συστήματος χωρίς προετοιμασία του υλικού. Μπορείτε να επιταχύνετε την προετοιμασία του εξοπλισμού, πρώτον, με προφανείς τρόπους: για παράδειγμα, απενεργοποιώντας ή μειώνοντας το χρονικό όριο αναζήτησης για ATA μέσω διακομιστών Ethernet - χρειάζονται μόνο για εκκίνηση μέσω του δικτύου. Δεύτερον, υπάρχουν επίσης τρόποι που δεν είναι προφανείς με την πρώτη ματιά: για παράδειγμα, μπορείτε να απενεργοποιήσετε την εκκαθάριση της μνήμης RAM, η οποία συνήθως εκτελείται για λόγους ασφάλειας πληροφοριών. Λοιπόν, η επιτάχυνση της εκκίνησης του λειτουργικού συστήματος με την απενεργοποίηση όλων των περιττών υπηρεσιών δεν χρειάζεται σχόλια.

Λογισμικό εφαρμογής

Για ποιο σκοπό τοποθετείται η τρέχουσα έκδοση του Firefox 3.6 εάν πολλοί ιστότοποι που χρησιμοποιούν σύγχρονες τεχνολογίες web δεν είναι συμβατοί με αυτήν;

Η τρέχουσα έκδοση του προγράμματος περιήγησης στην τρέχουσα έκδοση του λειτουργικού συστήματος Elbrus είναι η 23.0, η οποία είναι πολύ πιο προηγμένη από άποψη λειτουργικότητας και απόδοσης. Για παράδειγμα, η δοκιμή JetStream ολοκληρώνεται τώρα με επιτυχία, με βαθμολογία 7,8 βαθμών - όχι πολύ χαμηλότερη από τους 8,2 βαθμούς που επιτυγχάνει η ίδια έκδοση του Firefox σε λειτουργία δυαδικής μετάφρασης x86, η οποία χρησιμοποιεί έναν πλήρη μεταγλωττιστή JIT για JavaScript.

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

Το σύστημα διαθέτει εφαρμογή εγχώριων κρυπτογραφικών αλγορίθμων (συμπεριλαμβανομένων των τρεχουσών εκδόσεων) που είναι διαθέσιμη για προγράμματα σε γλώσσες C/C++;

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

Το πακέτο OpenJDK 1.6.0 ήταν, κατά μία έννοια, μια «δοκιμή του στυλό» - η εργασία βρίσκεται ήδη σε πλήρη εξέλιξη στις 1.7.0 και 1.8.0, όπου η απόδοση αυξήθηκε κατά 3-4 φορές, κρίνοντας από δοκιμές όπως π.χ. SPECjvm2008. Αλλά στη γενική περίπτωση, φυσικά, θα πρέπει να βελτιστοποιηθούν πολύ περισσότερα.
Υπάρχουν σχέδια για port Mono ή .NET εντός του Elbrus OS ή άλλης διανομής;

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

Στο μεταξύ, εάν κάποιος χρειάζεται να εκτελέσει εφαρμογές Dotnet, μπορεί να χρησιμοποιήσει τη λειτουργία μετάδοσης x86. Στην πραγματικότητα, αυτός είναι ένας από τους κύριους σκοπούς της τεχνολογίας μετάφρασης - να διασφαλίσει τη συμβατότητα για τη μεταβατική περίοδο, ενώ η βάση λογισμικού δεν έχει γίνει ακόμη εγγενής. Παρεμπιπτόντως, η ομάδα MCST εργάζεται τώρα ενεργά για να βελτιώσει την αποτελεσματικότητα της μετάφρασης των εφαρμογών χρησιμοποιώντας παρόμοιους μεταγλωττιστές just-in-time.

Ποιες είναι οι προοπτικές για την Elbrus ως πλατφόρμα gaming, δεδομένου ότι στα σύγχρονα παιχνίδια σχεδόν όλο το φορτίο πέφτει στην κάρτα βίντεο και συχνά δεν χρειάζεται ένας ισχυρός επεξεργαστής;

Κανείς δεν έχει κάνει ακόμη σοβαρά αυτήν την ερώτηση. Προς το παρόν, εκτός εάν το παιχνίδι είναι διαθέσιμο σε πηγαίο κώδικα και είναι πραγματικά φορητό, η μόνη επιλογή είναι να τρέξετε τα Windows ή το Steam OS σε λειτουργία δυαδικής μετάφρασης, αλλά ενδέχεται να υπάρχουν προβλήματα με την ενεργοποίηση αδειών λόγω των ιδιαιτεροτήτων της σύνδεσης με το υλικό.

Αρχιτεκτονικά και εργαλεία ανάπτυξης

Πού και πώς μπορώ να βρω έναν λεπτομερή οδηγό αναφοράς για το σετ εντολών αρχιτεκτονικής και μηχανής;

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

Ωστόσο, αυτό δεν δημιουργεί σοβαρό πρακτικό πρόβλημα, καθώς, σύμφωνα με το MCST, οι πληροφορίες στη διαθέσιμη τεκμηρίωση είναι επαρκείς ακόμη και για προγραμματισμό χαμηλού επιπέδου μέσω "εσωτερικών" και η δημιουργία κώδικα μηχανής από μόνος σας ή ακόμα και η εγγραφή σε assembler E2K είναι μια άχρηστη εργασία σε όλες σχεδόν τις περιπτώσεις, εκτός από έναν πολύ, πολύ στενό κύκλο διαδικασιών συστήματος χαμηλού επιπέδου. Μόνο ένας μεταγλωττιστής είναι ικανός να λάβει υπόψη του χρόνους εκτέλεσης εντολών και να εκτελέσει τέτοιες πολύπλοκες βελτιστοποιήσεις που απαιτούνται για την αποτελεσματική χρήση των πόρων μιας τέτοιας αρχιτεκτονικής.

Ποιοι τύποι προγραμμάτων (αλγόριθμοι) μπορούν να εφαρμοστούν στο E2K πιο αποτελεσματικά, μεταξύ άλλων σε σύγκριση με άλλες αρχιτεκτονικές που παρέχουν σιωπηρό παραλληλισμό;

Αρχικά, το Elbrus-2000 σχεδιάστηκε ως πλατφόρμα υψηλής απόδοσης για υπολογισμούς κινητής υποδιαστολής και δεν υπάρχουν σχέδια για απόκλιση από αυτήν την ιδέα - μάλλον, αντίθετα: όπως ήδη αναφέρθηκε, το επόμενο βήμα μετά τους 8 C θα είναι ο διπλασιασμός του αριθμού των υπολογιστικές μονάδες πραγματικού τύπου. Αντίστοιχα, η κύρια διαδρομή είναι τα μαθηματικά προγράμματα, οι επιστημονικοί και βιομηχανικοί υπολογισμοί. Η βιβλιοθήκη αλγορίθμων EML (Elbrus math library) έχει αναπτυχθεί και βελτιστοποιηθεί ειδικά για τέτοιες εργασίες και ο μεταγλωττιστής LCC έχει ειδικές δεξιότητες για τη μετατροπή ορισμένων προτύπων πηγαίου κώδικα σε κλήσεις προς αυτήν τη βιβλιοθήκη.

Ένα άλλο δυνατό σημείο είναι η παρουσία ενός μεγάλου αρχείου καταχωρητή - έως και 256 καταχωρητές είναι διαθέσιμοι στο πρόγραμμα ανά πάσα στιγμή, συμπεριλαμβανομένης της δυνατότητας αυτόματης μετονομασίας τους. Αυτό ανοίγει το δρόμο για βελτιστοποιήσεις πολύ μεγάλης κλίμακας. Για παράδειγμα, σε μια γνωστή κριτική στο CNews υπήρχε μια δοκιμή gostcrypt(αυτή είναι μια ιδιωτική υλοποίηση από έναν από τους πελάτες MCST), στην οποία το Elbrus-4C σε μειωμένη συχνότητα ξεπέρασε τον Core i7-2600 σχεδόν δύο φορές - δεν υπάρχει απάτη εδώ, αλλά βγήκε το εσφαλμένο συμπέρασμα ότι ο λόγος για αυτό ήταν η εγχώρια προέλευση του αλγορίθμου GOST 28147-89. Στην πραγματικότητα, το μυστικό της επιτυχίας βρίσκεται στον επιτυχημένο συνδυασμό της δομής αυτού του αλγορίθμου με τα ποσοτικά χαρακτηριστικά της αρχιτεκτονικής E2K και τις ποιοτικές δυνατότητες του μεταγλωττιστή LCC να πραγματοποιεί βαθιά βελτιστοποίηση. Ο μεταγλωττιστής κατάφερε να επεκτείνει ολόκληρο τον κύκλο μετατροπής ενός μπλοκ και να τον συμπυκνώσει στο ελάχιστο δυνατό σύνολο λέξεων εντολών, παρέχοντας εργασία σε όλα τα διαθέσιμα μπλοκ ακεραίων - έτσι προέκυψε το εντυπωσιακό αποτέλεσμα.

Πώς να γράψετε αποτελεσματικά προγράμματα για E2K σε C/C++ και Fortran; Υπάρχει κάποιο tutorial για αυτό το θέμα;

Είχε ήδη γίνει μια προσπάθεια δημιουργίας ενός εγχειριδίου αρχιτεκτονικής, αλλά οι συγγραφείς μπήκαν πολύ βαθιά στην περιγραφή του υλικού, πιστεύοντας ότι οποιοσδήποτε αναγνώστης θα μπορούσε να βγάλει προφανή συμπεράσματα από αυτό το υλικό - το αποτέλεσμα ήταν περίπου το ίδιο με αυτό. δημοσιεύτηκε στο περίφημο βιβλίο «Μικροεπεξεργαστές και υπολογιστικά συγκροτήματα της οικογένειας Elbrus». Όσο για τις οδηγίες για τους προγραμματιστές εφαρμογών, τότε, δυστυχώς, μέχρι στιγμής όλη η ιερή γνώση αποθηκεύεται μόνο στα κεφάλια των εργαζομένων που εμπλέκονται στην ανάπτυξη μεταγλωττιστών. Μερικές φορές μοιράζονται τις αποκαλύψεις τους σε διαλέξεις στο MIPT, αλλά δεν είναι ακόμη έτοιμοι να γράψουν τις σημειώσεις τους σε μορφή βιβλίου. Εν τω μεταξύ, ως σημείο εκκίνησης, συνιστάται να διαβάσετε τις συστάσεις για το Itanium - εννοιολογικά αυτή η αρχιτεκτονική μοιάζει πολύ με το E2K.

Εν συντομία, οι κύριες τεχνικές μπορούν να διατυπωθούν ως εξής.

  • Μην παρεμβαίνετε στον μεταγλωττιστή: εάν δηλώσετε τη συνάρτηση ως ενσωματωμένη ( στη γραμμή), τότε μην ξεχάσετε να συμπεριλάβετε τον ορισμό του σε κάθε μονάδα κλήσης, επειδή η κλήση υπορουτίνων και η επιστροφή του ελέγχου πίσω είναι πολύ ακριβές λειτουργίες στο Elbrus. Γενικά, η μετάβαση ελέγχου πραγματοποιείται σχεδόν ανώδυνα μόνο όταν η προετοιμασία για αυτήν ξεκίνησε τουλάχιστον 4 κύκλους ρολογιού εκ των προτέρων, επομένως, για παράδειγμα, οι κλάδοι υπό όρους στις απλούστερες περιπτώσεις αντικαθίστανται αυτόματα από κερδοσκοπικούς υπολογισμούς.
  • Βοηθήστε τον μεταγλωττιστή με συμβουλές: επισημάνετε τα πιθανά και σπάνια χρησιμοποιούμενα μπλοκ υπό όρους με μακροεντολές πιθανόςΚαι απίθανος, αναφέρετε τον κατά προσέγγιση αριθμό επαναλήψεων βρόχου στην οδηγία μέτρηση βρόχου πραγματισμού, χρησιμοποιήστε μεταγλώττιση δύο περασμάτων με προφίλ όταν η φύση του φορτίου είναι πάντα του ίδιου τύπου.
  • Χρησιμοποιήστε σημασιολογικά κατάλληλες κατασκευές: ο μεταγλωττιστής είναι πιο πιθανό να προσπαθήσει να βελτιστοποιήσει τον βρόχο Για, πως ενώ, ειδικά εάν μια πρόωρη έξοδο μέσω Διακοπή.
  • Απαλλαγείτε από περιττές εξαρτήσεις μεταξύ επαναλήψεων βρόχου και μεταξύ μεμονωμένων βημάτων μιας επανάληψης - τότε ο μεταγλωττιστής έχει την ευκαιρία να συμπυκνώσει ευρείες εντολές, καθώς και να αντικαταστήσει τους βαθμωτούς υπολογισμούς με διανυσματικούς. (Αυτή η συμβουλή ισχύει σε κάθε περίπτωση, αλλά στην περίπτωση των βρόχων υπάρχει συχνά περιορισμός στον αριθμό των επαναλήψεων που αναλύονται.)
  • Αποφύγετε τεχνικές που είναι γνωστό ότι δεν είναι ευνοϊκές: για παράδειγμα, μην χρησιμοποιείτε μη ευθυγραμμισμένη πρόσβαση στη μνήμη - παρόλο που αυτή η συμπεριφορά υποστηρίζεται, η ποινή για αυτήν είναι πολύ πιο αυστηρή από ό,τι στο x86. Επιπλέον, εάν εγγυηθείτε την απουσία τέτοιας συμπεριφοράς στο πρόγραμμα, τότε μπορείτε να ενεργοποιήσετε πρόσθετες λειτουργίες βελτιστοποίησης.
  • Χρησιμοποιήστε βελτιστοποιημένες λειτουργίες όποτε είναι δυνατόν - όπως η προαναφερθείσα βιβλιοθήκη EML. Όπως ήδη αναφέρθηκε, ο ίδιος ο μεταγλωττιστής μπορεί να αντικαταστήσει τις κλήσεις συνηθισμένων συναρτήσεων με βελτιστοποιημένες, αλλά δεν είναι παντοδύναμος και είναι καλύτερο να κάνετε τα πάντα ρητά.
Αυτές οι μέθοδοι και άλλες λεπτότητες σχεδιάζεται να καλυφθούν με περισσότερες λεπτομέρειες και με παραδείγματα σε ξεχωριστό άρθρο. Το MCST γνωρίζει καλά τη σημασία της διάδοσης «μυστικών τεχνικών» μεταξύ των προγραμματιστών για την εξαγωγή της μέγιστης απόδοσης από το Elbrus και σχεδιάζει να αρχίσει να διαδίδει το φως της γνώσης μόλις δημιουργηθεί η κοινότητα και η υποδομή της.
Υπάρχει ένα έτοιμο σύνολο παραδειγμάτων πηγαίου κώδικα σε C/C++ με σφάλματα πρόσβασης στη μνήμη για να δείξετε πόσο ασφαλής τεχνολογία εκτέλεσης προγράμματος σάς επιτρέπει να συλλαμβάνετε τέτοια σφάλματα στο στάδιο της μεταγλώττισης και στο χρόνο εκτέλεσης;

Φυσικά, υπάρχει ένα τέτοιο σύνολο προγραμμάτων - ως μέρος των εργαλείων δοκιμής παλινδρόμησης, τα οποία εκτελούνται κάθε βράδυ. Μπορείτε επίσης να χρησιμοποιήσετε παραδείγματα από τη συλλογή SAMATE του αμερικανικού ινστιτούτου NIST. Ωστόσο, για λόγους σαφήνειας (προβλέπεται να γραφτεί ένα ξεχωριστό άρθρο για αυτό το θέμα), θα είναι πιθανώς ευκολότερο να γραφτούν "one-liners" που απεικονίζουν συγκεκριμένα κάθε σφάλμα ξεχωριστά.
Υπάρχει κάποια σκέψη για τη σύνταξη ενός συστήματος υποστήριξης E2K για τον μεταγλωττιστή LLVM ως εναλλακτική λύση στο LCC, που στοχεύει να είναι σαν το GCC;

Η έρευνα προς αυτή την κατεύθυνση πραγματοποιήθηκε, φυσικά, αλλά η ετυμηγορία μέχρι στιγμής ήταν μάλλον αρνητική: η αρχιτεκτονική Elbrus-2000 είναι δύσκολο να περιγραφεί χρησιμοποιώντας το LLVM με τον βέλτιστο τρόπο. Δηλαδή, ένας εναλλακτικός μεταγλωττιστής θα μπορούσε να κυκλοφορήσει, αλλά ο κώδικας μηχανής που δημιουργεί θα ήταν κατώτερος του LCC από άποψη ταχύτητας. Αλλά η κατεύθυνση δεν θεωρείται αδιέξοδο - είναι πιθανό ότι με την πάροδο του χρόνου το backend στο LLVM θα εξακολουθεί να εφαρμόζεται.
Μπορούν το LCC να εξάγει σφάλματα και προειδοποιήσεις με την ίδια μορφή με το GCC, ώστε αυτά τα μηνύματα να αναγνωρίζονται κατάλληλα στο περιβάλλον ανάπτυξης (π.χ. Qt Creator);

Προς το παρόν αυτό δεν παρέχεται, αλλά έχει ήδη ανοίξει ένα εισιτήριο στο bugzilla.
Πού μπορώ να βρω ένα σύνολο εργαλείων για προγράμματα cross-compiling για E2K από το περιβάλλον x86; Παρέχεται αντίστροφη διαδικασία - δημιουργία κωδικού x86 από το περιβάλλον Elbrus, και αν ναι, τότε με χρήση ειδικής έκδοσης LCC ή κανονικού GCC;

Οι εγκαταστάσεις πολλαπλής μεταγλώττισης για το E2K (δηλαδή ο μεταγλωττιστής LCC που τρέχει σε x86 Linux) είναι διαθέσιμες κατόπιν αιτήματος. Η αντίστροφη διαδικασία δεν προβλέπεται ρητά: εάν αυτό είναι απαραίτητο, μπορείτε να εκτελέσετε κάποιο σύστημα x86 στο Elbrus σε λειτουργία δυαδικής μετάφρασης και να χρησιμοποιήσετε τον μεταγλωττιστή που είναι διαθέσιμος εκεί.
Ποιες τεχνολογίες εικονικοποίησης υποστηρίζονται στην πλατφόρμα Elbrus;

Αυτή τη στιγμή δεν υπάρχει καθόλου υποστήριξη. Ωστόσο, σύντομα θα είναι δυνατή η χρήση δοχείων.

Επιπλέον, φέτος θα πρέπει να ολοκληρωθούν οι εργασίες για τη δημιουργία ενός παρα-εικονικού πυρήνα λειτουργικού συστήματος και ενός μηχανισμού για την υποστήριξη του hypervisor KVM, και αυτό είναι το κύριο θεμέλιο στο τμήμα που εξαρτάται από την αρχιτεκτονική για την ανάπτυξη μιας πλήρους υποδομής cloud όπως το OpenStack. Ενώ άλλες αρχιτεκτονικές, όταν εργάζονται στο περιβάλλον Qemu/KVM, βασίζονται σε πλήρη εικονικοποίηση υλικού, προαιρετικά χρησιμοποιώντας παραεικονικά προγράμματα οδήγησης virtio για I/O και υποκλοπή προνομιακών οδηγιών με την υποστήριξη του ίδιου του επεξεργαστή, για το Elbrus το τμήμα του KVM που εξαρτάται από την αρχιτεκτονική είναι τροποποιείται για να παρέχει ακριβώς παραεικονικό τρόπο λειτουργίας όταν το σύστημα επισκέπτη συνεργάζεται στενά με τον υπερεπόπτη και αντί να εκτελεί προνομιακές εντολές, καλεί λειτουργίες API υπερκλήσεων.

Είναι γνωστό ότι η Intel βελτιώνει συνεχώς την αρχιτεκτονική της και βελτιώνει τη μικροαρχιτεκτονική, αυξάνοντας παράλληλα την απόδοση. Πώς εξελίσσεται η αρχιτεκτονική Elbrus σε αυτό το κομμάτι;

Η ανάπτυξη κινείται προς διάφορες κατευθύνσεις.
  • Η εστίαση είναι στη βελτίωση της απόδοσης του πυρήνα του επεξεργαστή για την επιτάχυνση των εφαρμογών με ένα νήμα. Αυτό επιτυγχάνεται αυξάνοντας τον αριθμό των ταυτόχρονα εκτελούμενων λειτουργιών (που υλοποιούνται στην επόμενη, 4η έκδοση του συστήματος εντολών), χρησιμοποιώντας ευρύτερους καταχωρητές για πράξεις σε διανυσματικά δεδομένα (που εφαρμόζονται στην 5η έκδοση) και βελτιώνοντας την ιεραρχία του υποσυστήματος μνήμης. Ταυτόχρονα, διατηρείται η συμβατότητα με προηγούμενες εκδόσεις της αρχιτεκτονικής.
  • Η δεύτερη κατεύθυνση είναι η βελτίωση του μικροεπεξεργαστή ως συστήματος σε ένα τσιπ. Καθώς οι μικροεπεξεργαστές εξοικειώνονται με λεπτότερες τεχνολογίες νανομέτρων, ο αριθμός των πυρήνων του επεξεργαστή αυξάνεται, ο αριθμός των καναλιών πρόσβασης στη μνήμη αυξάνεται για να διατηρείται η ισορροπία του μικροεπεξεργαστή και σε ορισμένες περιπτώσεις προστίθενται εξειδικευμένοι πυρήνες γραφικών και πρόσθετοι ελεγκτές για αλληλεπίδραση με περιφερειακές συσκευές.
Τέλος, σημαντικό ρόλο παίζει η βελτίωση του μεταγλωττιστή βελτιστοποίησης, με τη βοήθεια του οποίου είναι δυνατή η εξαγωγή του παραλληλισμού προγράμματος και η μετατροπή του κώδικα στις παράλληλες δυνατότητες της αρχιτεκτονικής - όπως έχει τονιστεί επανειλημμένα, ο μεταγλωττιστής είναι στην πραγματικότητα μέρος της αρχιτεκτονικής. Το απόθεμα των ικανοτήτων μεταγλωττιστή απέχει πολύ από το να έχει εξαντληθεί· το MCST βλέπει ένα πολύ ευρύ πεδίο εφαρμογής προσπαθειών εδώ.

Δυαδική μετάφραση του κώδικα x86

Ποιες είναι οι δυνατότητες και οι περιορισμοί της δυαδικής μετάφρασης;

Αυτό το θέμα αξίζει να εξεταστεί σε ξεχωριστό άρθρο, αλλά εν συντομία η εικόνα είναι η εξής. Υπάρχουν δύο τύποι μετάδοσης - σε επίπεδο συστήματος και σε επίπεδο εφαρμογής. Στην πρώτη περίπτωση, παρέχεται στο λειτουργικό σύστημα επισκέπτης πρόσβαση σε ολόκληρο το περιβάλλον υλικού του υπολογιστή και στη δεύτερη, κατά συνέπεια, εκτελείται μόνο η μεταφορά των κλήσεων συστήματος από το πρόγραμμα επισκέπτη στον πυρήνα του κεντρικού συστήματος Linux. Αυτό μπορεί να συγκριθεί με εξομοιωτές qemu-system-x86_64Και qemu-i386Ως εκ τούτου, ωστόσο, ο μεταφραστής δεν μιμείται τον επισκέπτη επεξεργαστή, αλλά αμέσως μεταγλωττίζει εκ νέου τον κώδικα επισκέπτη της μηχανής σε εγγενείς οδηγίες της αρχιτεκτονικής του. Επιπλέον, ο μετασχηματισμός εκτελείται πολλές φορές, αυξάνοντας σταδιακά τον βαθμό βελτιστοποίησης για τις πιο συχνά εμφανιζόμενες ενότητες κώδικα και τα αποτελέσματα αποθηκεύονται σε μια μακροπρόθεσμη κρυφή μνήμη.

Ο μεταφραστής σε επίπεδο συστήματος (ανεπίσημα ονομάζεται "lintel" - "el-Intel") υποστηρίζει σύνολα εντολών x86 και x86-64 και ο μεταφραστής σε επίπεδο εφαρμογής ("rtc", δηλαδή, μεταγλωττιστής χρόνου εκτέλεσης) είναι προς το παρόν συμβατός μόνο με Προγράμματα 32 bit - Η έκδοση 64 bit είναι υπό δοκιμή. Ωστόσο, η συμβατότητα με την αρχιτεκτονική AMD64 / EM64T δεν υποστηρίζει αυτόματα όλα τα νέα σύνολα εντολών που μπορούν να βρεθούν σε ορισμένους επεξεργαστές Intel / AMD, όπως οι πιο πρόσφατες εκδόσεις των SSE, AVX, AES-NI - οι αντίστοιχες σημαίες στις πληροφορίες CPUID θα λείπω.

Πώς να χρησιμοποιήσετε τον μεταφραστή επιπέδου συστήματος;

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

Ο μεταφραστής σε επίπεδο συστήματος έχει μια πρωτότυπη σχεδίαση BIOS και μετά την εκκίνηση, εμφανίζεται η γνωστή ακολουθία POST στην οθόνη, κατά την οποία μπορείτε να μεταβείτε στο μενού ρυθμίσεων. Οι περισσότερες από αυτές τις ρυθμίσεις είναι πολύ κοινές, αλλά υπάρχουν και συγκεκριμένες. Για παράδειγμα, μπορείτε να διαχειριστείτε με μεγάλη ευελιξία την αναγνώριση του επεξεργαστή μέσω CPUID, αλλάζοντας όχι μόνο την οικογένεια και τον αριθμό μοντέλου ή τις επισημάνσεις μεμονωμένων δυνατοτήτων, αλλά και το όνομα κειμένου - αυτό είναι απαραίτητο για την εξουδετέρωση της αντιανταγωνιστικής συμπεριφοράς των προγραμμάτων που έχουν μεταγλωττιστεί με τη χρήση του Intel C++ Compiler . Μια άλλη συγκεκριμένη επιλογή είναι η διαφανής μετατροπή του ελεγκτή SATA σε PATA για την παροχή συμβατότητας με ένα ευρύτερο φάσμα λειτουργικών συστημάτων. Όμως, παρά την παρουσία τέτοιων «μαγικών ραβδιών», η λειτουργία των λειτουργικών συστημάτων που εγκαταστάθηκαν σε ένα πραγματικό μηχάνημα x86 δεν είναι εγγυημένη - αυτό ισχύει ιδιαίτερα για τα Windows με την άδειά τους συνδεδεμένη με το υλικό και την ευλαβική τους στάση απέναντι στο δίσκο συστήματος οδηγός.

Πώς να χρησιμοποιήσετε το Application Layer Translator;

Είναι ακόμη πιο απλό: εκκινώντας το πρόγραμμα μετάδοσης, περνώντας του τη διαδρομή προς την εφαρμογή επισκέπτη και τη διαδρομή προς τον ριζικό κατάλογο του αναδημιουργημένου περιβάλλοντος. Το όλο ερώτημα είναι πώς να αποκτήσετε πρώτα μια εικόνα αυτού του περιβάλλοντος. Μέχρι στιγμής, μόνο το περιβάλλον της έκδοσης x86 του συστήματος Elbrus παρέχεται στάνταρ, αλλά μπορούν να χρησιμοποιηθούν και άλλα. Εάν ο πελάτης δυσκολεύεται να δημιουργήσει μόνος του μια εικόνα του απαιτούμενου συστήματος, οι ειδικοί του MCST μπορούν να παρέχουν την απαραίτητη βοήθεια.

Από μια τρέχουσα εφαρμογή επισκέπτη (για παράδειγμα, έναν διερμηνέα εντολών), ο χρήστης μπορεί να εκκινήσει άλλα προγράμματα φιλοξενούμενων - εντελώς διαφανώς. Πολλά στιγμιότυπα του μεταφραστή μπορούν να εκκινηθούν ταυτόχρονα και κάθε παρουσία μπορεί να λειτουργήσει στο δικό του περιβάλλον. Επομένως, για παράδειγμα, μπορείτε να δοκιμάσετε την ίδια έκδοση του προγράμματος περιήγησης σε διαφορετικές διανομές ή, αντίθετα, διαφορετικές εκδόσεις του προγράμματος περιήγησης στο ίδιο σύστημα (το παράδειγμα είναι τραβηγμένο, φυσικά, αλλά καταλαβαίνει την ουσία).

Μπορείτε να συναντήσετε τη δήλωση ότι στη λειτουργία δυαδικής μετάφρασης, ορισμένα σημεία αναφοράς αρχίζουν να λειτουργούν ακόμη πιο γρήγορα από αυτά που είχαν αρχικά μεταγλωττιστεί για το E2K. Για ποιες κατηγορίες προγραμμάτων και υπό ποιες προϋποθέσεις είναι αυτό δυνατό;

Αυτό είναι πράγματι δυνατό, για παράδειγμα, όταν η εγγενής έκδοση της μηχανής JVM ή JS μπορεί να ερμηνεύσει μόνο τον κώδικα χρήστη, αλλά η έκδοση x86 σε σύγκριση με αυτήν έχει έναν πλήρη μεταγλωττιστή JIT. Ταυτόχρονα, παρόλο που πραγματοποιούνται πολλαπλές μεταφράσεις, πρώτα ο bytecode που επιλέχθηκε για βελτιστοποίηση μεταγλωττίζεται σε γλώσσα μηχανής x86 και μετά από κάποιο χρονικό διάστημα επαναμεταγλωττίζεται σε E2K (τρεις φορές, μία φορά για κάθε επίπεδο βελτιστοποίησης), - εξακολουθεί να είναι το τελικό κέρδος από τη συλλογή υπερτερεί.

Όσο για τα εγγενή προγράμματα στις γλώσσες C/C++, υπάρχει επίσης μια λογική εξήγηση, έστω και δύο. Πρώτον, αν και ο μεταγλωττιστής LCC κάνει μια τιτάνια δουλειά στη βελτιστοποίηση του παραγόμενου κώδικα, κανείς δεν εγγυάται ότι οποιοσδήποτε μεταγλωττιστής x86, ειδικά ένας εμπορικός, δεν θα κάνει καλύτερη δουλειά σε αυτήν ή τη συγκεκριμένη περίπτωση. Δεύτερον, είναι πιο πιθανό ότι ένα καλά βελτιστοποιημένο πρόγραμμα για το x86 καταρτίστηκε απλώς λαμβάνοντας υπόψη το προκαταρκτικό προφίλ, ενώ ο μεταγλωττιστής LCC τροφοδοτήθηκε με γυμνό πηγαίο κώδικα χωρίς προτροπή. Ωστόσο, εάν όλα τα άλλα πράγματα είναι ίσα, φυσικά, τα εγγενή προγράμματα δεν θα πρέπει να λειτουργούν τουλάχιστον πιο αργά από τα μεταφρασμένα - εάν δεν συμβαίνει αυτό, πρέπει να στείλετε μια αναφορά σφαλμάτων στους προγραμματιστές LCC.

μέτρηση επίδοσης

Σύμφωνα με τους ειδικούς του MCST, ορισμένα παλαιότερα δημοφιλή σημεία αναφοράς δεν μπορούν να αποκαλύψουν πραγματικά τις δυνατότητες οποιασδήποτε από τις υπάρχουσες πλατφόρμες. Πάρτε το ίδιο UnixBench - με όλο τον σεβασμό για την αξιοσέβαστη ηλικία του, είναι πολύ ξεπερασμένο και εξίσου ακατάλληλο για οποιονδήποτε σύγχρονο επεξεργαστή και λειτουργικό σύστημα. Και οι δύο δοκιμές που εξαρτώνται από τον επεξεργαστή, το Whetstone και το Dhrystone, πρακτικά δεν παραλληλίζονται και δεν υπόκεινται σε καμία σημαντική εκτέλεση εκτός σειράς - είτε σε αρχιτεκτονικές με ρητό είτε σιωπηρό παραλληλισμό. Και οι υπόλοιπες δοκιμές είναι «τίποτα»· είναι καλύτερα να χρησιμοποιήσετε κάτι πιο συγκεκριμένο. Το μόνο πλεονέκτημα του UnixBench είναι η πολυπλατφορμική του φύση, γι' αυτό και χρησιμοποιείται ακόμα και σήμερα.

Η ισχυρή δύναμη της δημιουργίας προφίλ δεν πρέπει επίσης να αγνοηθεί. Για παράδειγμα, τα αποτελέσματα της δοκιμής 7-Zip στην κριτική του CNews που φάνηκαν ύποπτα υψηλά σε πολλούς δεν είναι φάρσα, αλλά συνέπεια της συλλογής δύο περασμάτων. Ένα άλλο ερώτημα είναι πόσο χρήσιμη είναι μια τέτοια βελτιστοποίηση στη γενική περίπτωση, δηλαδή σε αυθαίρετα δεδομένα εισόδου. Για αυτόν τον λόγο, δεν έχει νόημα να δημιουργηθούν προφίλ όλων των στοιχείων της δοκιμής Pgbench - επειδή σε πραγματικά δεδομένα, η απόδοση Postgresql μπορεί να αποδειχθεί εντελώς διαφορετική. Αλλά ειδικά στην περίπτωση του 7-Zip, είναι πολύ εύκολο να το ελέγξετε ξανά: πρέπει να κάνετε μια άλλη δοκιμή, υποβάλλοντας μια συλλογή από διάφορα αρχεία ως είσοδο. Το μόνο πρόβλημα είναι ότι εάν τα αρχεία δεν είναι τυποποιημένα, τότε κανείς δεν θα μπορεί να επαναλάβει το τεστ με τον ίδιο τρόπο και θα υπάρχει ακόμη λιγότερη εμπιστοσύνη στα δημοσιευμένα αποτελέσματα.

Θα πρέπει να γνωρίζετε ότι τα συνθετικά σημεία αναφοράς γράφονται συχνά με μια συγκεκριμένη αρχιτεκτονική στο μυαλό (συμπεριλαμβανομένου του ότι οι συντάκτες τους έχουν συνηθίσει να σκέφτονται με αυτόν τον τρόπο) ή είναι προσαρμοσμένα σε έναν ορισμένο συνδυασμό υλικού και μεταγλωττιστή. Για παράδειγμα, η γνωστή δοκιμή SPECcpu δηλώνει αντικειμενικότητα και αμεροληψία, αλλά στον πηγαίο κώδικα της έκδοσης 2006 μπορείτε να βρείτε σχόλια ότι αυτό ή εκείνο το δεκανίκι προστέθηκε ειδικά για τον μεταγλωττιστή Intel C++. Και πώς να μην υποψιαστεί κανείς την επιρροή ενός μεγάλου πωλητή, όταν από τα 36,6 χιλιάδες δημοσιευμένα αποτελέσματα, τα προϊόντα του αποτελούν το 90% των αρχείων;

Τα προγράμματα πραγματικών εφαρμογών δεν είναι επίσης πάντα δείκτης, επειδή οι πιο κρίσιμες ενότητες μπορούν είτε να γραφτούν εξ ολοκλήρου σε x86 assembler, είτε να περιέχουν πολλά ένθετα συγκρότησης και κλήσεις σε ειδικές λειτουργίες (εσωτερικές), των οποίων το OpenSSL είναι ένα σαφές παράδειγμα. Αποδεικνύεται ότι ο γυαλισμένος κώδικας μηχανής συγκρίνεται με μια υλοποίηση σε γλώσσα υψηλού επιπέδου, ο κύριος σκοπός της οποίας είναι να είναι αναφορά και όχι βέλτιστη.

Επομένως, μια πρόταση στους αναγνώστες: ας σκεφτούμε μαζί ποιες δοκιμές - τεχνητές ή κοντά στη ζωή - μπορούν να γίνουν για να δούμε πόσο ισχυρός είναι ο Elbrus σε εργασίες που σχετίζονται με αυτόν. Δεν είναι απαραίτητο να πρόκειται για έτοιμα προγράμματα, ειδικά όσον αφορά τους μαθηματικούς υπολογισμούς, γιατί, ας πούμε, ο πολλαπλασιασμός πινάκων είναι επίσης πολλαπλασιασμός πινάκων στην Αφρική: η πολυπλοκότητα της εργασίας είναι η ίδια, είτε εκτελείται από βελτιστοποιημένη EML, BLAS / Βιβλιοθήκες LAPACK ή μια αυτο-γραμμένη λειτουργία. Αφήστε τις ιδέες σας στα σχόλια.

Ετικέτες:

  • ΕΛΜΠΡΟΥΣ
Προσθέστε ετικέτες

Η εταιρεία ZAO "MCST" ξεκίνησε μια πιλοτική παρτίδα μικροεπεξεργαστών γενικής χρήσης στην παραγωγή Elbrus-8S. Η εκτιμώμενη συχνότητα λειτουργίας του τσιπ είναι 1,3 GHz, η τεχνολογία παραγωγής είναι 28 nm και η υπολογιστική ισχύς είναι 250 gigaflops. Η παραλαβή των τελικών δειγμάτων μικροκυκλωμάτων αναμένεται τον Οκτώβριο του 2014.

Ο μικροεπεξεργαστής Elbrus-8S είναι μια εντελώς ρωσική εξέλιξη. Ο κρύσταλλος μικροεπεξεργαστή έχει σχεδιαστεί χρησιμοποιώντας τεχνολογία 28 nm, έχει 8 πυρήνες επεξεργαστή με βελτιωμένη αρχιτεκτονική Elbrus 64-bit 3ης γενιάς, κρυφή μνήμη 2ου επιπέδου με συνολικό όγκο 4 megabyte και κρυφή μνήμη 3ου επιπέδου με συνολικό όγκο 16 megabyte. .

Με βάση τον μικροεπεξεργαστή Elbrus-8S, σχεδιάζεται να οργανωθεί μαζική παραγωγή διακομιστών, σταθμών εργασίας και άλλου εξοπλισμού υπολογιστών που προορίζονται για χρήση σε κρατικούς φορείς και επιχειρηματικές δομές που έχουν αυξημένες απαιτήσεις για ασφάλεια πληροφοριών, καθώς και για χρήση στον τομέα υψηλής -υπολογιστές επιδόσεων, επεξεργασία σήματος, τηλεπικοινωνίες. Δείγματα μηχανικής ενός διακομιστή 4 επεξεργαστών που βασίζεται σε επεξεργαστές Elbrus-8C με απόδοση 1 teraflops θα κατασκευαστούν στο τέλος του 2014.

Η οικιακή αρχιτεκτονική Elbrus αναπτύχθηκε στη Ρωσία και έχει μια σειρά από μοναδικά χαρακτηριστικά. Αυτά περιλαμβάνουν:

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

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

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

Το βασικό λειτουργικό σύστημα για την πλατφόρμα Elbrus είναι το Elbrus OS, που βασίζεται στον πυρήνα του Linux. Το σύστημα προγραμματισμού πλατφόρμας υποστηρίζει γλώσσες C, C++, Java, Fortran-77, Fortran-90.

Πηγή: sdelanounas.ru

Λειτουργικό σύστημα Elbrus

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

Η εταιρεία MCST έχει δημιουργήσει, διατηρεί και αναπτύσσει συνεχώς ένα λειτουργικό σύστημα για VK με αρχιτεκτονική SPARC και Elbrus OS "Elbrus". Βασίζεται στον πυρήνα Linux 2.6.33. Το Elbrus OS παρέχει λειτουργίες πολλαπλών εργασιών και πολλαπλών χρηστών. Για αυτό έχουν αναπτυχθεί ειδικοί μηχανισμοί για τη διαχείριση διαδικασιών, εικονικής μνήμης, διακοπών, σημάτων, συγχρονισμού και υποστήριξης υπολογισμών με ετικέτα.

Για τη χρήση της σειράς Elbrus VC σε διάφορα κρίσιμα συστήματα, έχει γίνει θεμελιώδης εργασία για τον μετασχηματισμό του ΛΣ Linuxσε ένα λειτουργικό σύστημα που υποστηρίζει σκληρή λειτουργία σε πραγματικό χρόνο, για το οποίο, με βάση την τυπική βιβλιοθήκη για τη διαχείριση υπολογιστικών ροών και συγχρονισμού libpthreadδημιουργήθηκε η δική μας βελτιστοποιημένη βιβλιοθήκη elpthread . Κατά τη λειτουργία σε πραγματικό χρόνο, μπορείτε να ορίσετε διάφορες λειτουργίες για την επεξεργασία εξωτερικών διακοπών, τον προγραμματισμό υπολογισμών, τις ανταλλαγές με μονάδες δίσκου και ορισμένες άλλες.

Το Elbrus OS περιλαμβάνει βασικά εργαλεία υποστήριξης διεπαφής χρήστη:

  • Εργαλεία για την υποστήριξη της διεπαφής της γραμμής εντολών (η ίδια «κονσόλα»). Παρέχετε στον χειριστή τη δυνατότητα να εργάζεται με VK σε λειτουργία κειμένου χρησιμοποιώντας ένα σύνολο εντολών και λήψη μηνυμάτων κειμένου από το λειτουργικό σύστημα και τις εκκινημένες εφαρμογές.
  • Εργαλεία αρχειοθέτησης για το συνδυασμό ενός αριθμού αρχείων σε ένα ενιαίο αρχείο ή μια σειρά αρχείων (συμπεριλαμβανομένης της συμπίεσης δεδομένων), τα οποία διασφαλίζουν την ευκολία μετάδοσης μέσω καναλιών επικοινωνίας ή αποθήκευσης.
  • Εργαλεία ανάπτυξης λογισμικού. Παρέχετε διαδικασία ανάπτυξης λογισμικού και υποστήριξης. Αυτοί είναι assemblers, μεταφραστές, μεταγλωττιστές, σύνδεσμοι (επεξεργαστές συνδέσμων), assemblers, προεπεξεργαστές, προγράμματα εντοπισμού σφαλμάτων, επεξεργαστές κειμένου, βιβλιοθήκες υπορουτίνας, εργαλεία ελέγχου εκδόσεων, εργαλεία τεκμηρίωσης.
  • Εργαλεία προγραμματισμού εργασιών - σας επιτρέπουν να προσδιορίσετε στο λειτουργικό σύστημα ποιες ενέργειες, ποια ώρα και με ποια συχνότητα πρέπει να εκτελούνται.

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

Τα εργαλεία υποστήριξης GUI περιέχουν τα βασικά στοιχεία του συστήματος γραφικών Xorg, καθώς και ένα σύνολο από διάφορες υποστηρικτικές βιβλιοθήκες, συμπεριλαμβανομένων GTK+ και Qt.

Η βάση του ΛΣ είναι η βιβλιοθήκη. Glibc – (ΑΝΤΙΛΟΠΗΣ ΤΗΣ ΑΦΡΙΚΗΣντοΒιβλιοθήκη) – βιβλιοθήκη που διανέμεται ελεύθερα ΜΕ. Παρέχει κλήσεις συστήματος και βασικές λειτουργίες όπως π.χ Άνοιξε, malloc,printfκαι τα λοιπά. Βιβλιοθήκη ντοχρησιμοποιείται για όλα τα δυναμικά συνδεδεμένα προγράμματα. Glibcχρησιμοποιείται σε συστήματα που εκτελούν πολλά διαφορετικά λειτουργικά συστήματα και σε διαφορετικές αρχιτεκτονικές. Συχνότερα Glibcχρησιμοποιείται σε μηχανές x86 με λειτουργικό σύστημα Linux. Υποστηρίζονται επίσημα και οι αρχιτεκτονικές SPARCκαι «Έλμπρους».

Βιβλιοθήκη glibc, που παρέχεται ως μέρος του Elbrus OS, βασίζεται σε ΑΝΤΙΛΟΠΗΣ ΤΗΣ ΑΦΡΙΚΗΣ glibcέκδοση 2.7. Αποτελείται από δύο μέρη:

  • αρχεία κεφαλίδας, τα οποία ορίζουν τύπους και μακροεντολές και δηλώνουν μεταβλητές και συναρτήσεις.
  • η πραγματική βιβλιοθήκη ή το αρχείο που περιέχει ορισμούς μεταβλητών και συναρτήσεων. Αποτελείται από πολλά αρχεία, οι συναρτήσεις στα οποία συνδυάζονται σύμφωνα με κάποιο χαρακτηριστικό (για παράδειγμα, libm.a - ένα αρχείο μαθηματικών συναρτήσεων).

Παρέχεται μια συμπαγής βιβλιοθήκη για την υποστήριξη προγραμμάτων που εκτελούνται σε προστατευμένη λειτουργία. libmcst , το οποίο παρέχει λειτουργίες μνήμης και υποστήριξη I/O σε επίπεδο βιβλιοθήκης πυρήνα libc.

Ενσωματωμένο στον πυρήνα του λειτουργικού συστήματος Elbrus ένα σύνολο εργαλείων ασφάλειας πληροφοριών (ICSI) από μη εξουσιοδοτημένη πρόσβαση (NSD). Η πλήρης λειτουργία του Elbrus OS ICSI θα πρέπει να παρέχει το απαιτούμενο επίπεδο προστασίας πληροφοριών από μη εξουσιοδοτημένη πρόσβαση όταν ο υπολογιστής λειτουργεί ως μέρος εξειδικευμένων αυτοματοποιημένων συστημάτων. Το ICSI υλοποιείται χρησιμοποιώντας κλήσεις συστήματος, βιβλιοθήκες υπορουτίνας και διαμόρφωση συστήματος.

Το KSZI από το NSD OS "Elbrus" παρέχει την ευκαιρία χρήσης της τεχνολογίας υπολογιστών (CT) της σειράς "Elbrus" ως μέρος ενός υπολογιστή για την κατασκευή αυτοματοποιημένων συστημάτων με κλάσεις ασφαλείας έναντι μη παρεμβατικής δραστηριότητας 3A, 2A, 1B, 1A και χαμηλότερες, σύμφωνα με τα κυβερνητικά έγγραφα της Κρατικής Τεχνικής Επιτροπής υπό τον Πρόεδρο της Ρωσικής Ομοσπονδίας. Σε αυτή την περίπτωση, SVT:

α) πληρούν τις απαιτήσεις της 2ης κατηγορίας προστασίας κατά της NSD της Κρατικής Τεχνικής Επιτροπής της RD υπό τον Πρόεδρο της Ρωσικής Ομοσπονδίας·

β) επιτρέπει την πιστοποίηση HIF SVT στο 2ο επίπεδο ελέγχου αδήλωτων δυνατοτήτων, σύμφωνα με το RD της Κρατικής Τεχνικής Επιτροπής υπό τον Πρόεδρο της Ρωσικής Ομοσπονδίας

Για υποστήριξη για υπάρχοντες χρήστεςσυνεχίζεται υποστήριξη για διανομές Elbrus OSμε πυρήνα Linux 2.6.14. Εκτός από το Elbrus OS, το MCST παρέχει και υποστηρίζει OS WSWSμε πυρήνα Linux 2.4.25για VC "Elbrus-90micro" και OS MSVS με πυρήνα Linux 2.6.14για το VK "Elbrus-3M1". Η σειρά Elbrus-90micro VK υποστηρίζει επίσης το λειτουργικό σύστημα OS_E90 με βάση Solaris 2.5.1.

Οι εργασίες για την αρχιτεκτονική του Elbrus ξεκίνησαν το 1986 στην ομάδα του Ινστιτούτου Μηχανικής Ακριβείας και Τεχνολογίας Υπολογιστών (ITM και VT) που πήρε το όνομά του. ΑΝΩΝΥΜΗ ΕΤΑΙΡΙΑ. Lebedev, στο οποίο προηγουμένως δημιουργήθηκαν τα σοβιετικά συγκροτήματα υψηλής απόδοσης Elbrus-1 και Elbrus-2. Η ανάπτυξη του συγκροτήματος υπολογιστών Elbrus-3, η οποία πραγματοποιήθηκε υπό την ηγεσία της Β.Α. Babayan, ολοκληρώθηκε το 1991. Σε αυτό το υπολογιστικό συγκρότημα, οι ιδέες του ρητού ελέγχου του παραλληλισμού των πράξεων χρησιμοποιώντας έναν μεταγλωττιστή τέθηκαν στη ζωή για πρώτη φορά.

Οι οικονομικές αλλαγές στη Ρωσία που ξεκίνησαν το 1992 δεν επέτρεψαν στους προγραμματιστές του Elbrus-3 να ολοκληρώσουν τη θέση σε λειτουργία του συγκροτήματος. Το ίδιο 1992, η ομάδα των προγραμματιστών μηχανών της οικογένειας Elbrus χωρίστηκε στην εταιρεία ZAO MCST και άρχισε να εργάζεται για μια εφαρμογή μικροεπεξεργαστή της αρχιτεκτονικής Elbrus.

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

Βασικά χαρακτηριστικά της αρχιτεκτονικής Elbrus

Σε παραδοσιακές αρχιτεκτονικές όπως το RISC ή το CISC (x86, PowerPC, SPARC, MIPS, ARM), η είσοδος του επεξεργαστή λαμβάνει μια ροή εντολών που έχουν σχεδιαστεί για διαδοχική εκτέλεση. Ο επεξεργαστής μπορεί να ανιχνεύσει ανεξάρτητες λειτουργίες και να τις εκτελέσει παράλληλα (υπερκλιμακότητα) και ακόμη και να αλλάξει τη σειρά τους (εκτέλεση εκτός σειράς). Ωστόσο, η δυναμική ανάλυση εξάρτησης και η υποστήριξη για εκτέλεση εκτός σειράς έχει τους περιορισμούς της: οι καλύτεροι σύγχρονοι επεξεργαστές είναι ικανοί να αναλύουν και να εκτελούν έως και 4 εντολές ανά κύκλο ρολογιού. Επιπλέον, τα αντίστοιχα μπλοκ μέσα στον επεξεργαστή καταναλώνουν αξιοσημείωτη ποσότητα ενέργειας.

Στην αρχιτεκτονική Elbrus, ο μεταγλωττιστής αναλαμβάνει το κύριο έργο της ανάλυσης των εξαρτήσεων και της βελτιστοποίησης της σειράς των λειτουργιών. Ο επεξεργαστής λαμβάνει τη λεγόμενη είσοδο. «ευρείς εντολές», καθεμία από τις οποίες κωδικοποιεί οδηγίες για όλες τις μονάδες εκτέλεσης του επεξεργαστή που πρέπει να εκκινηθούν σε έναν δεδομένο κύκλο ρολογιού. Ο επεξεργαστής δεν χρειάζεται να αναλύει εξαρτήσεις μεταξύ τελεστών ή να αναδιατάσσει λειτουργίες μεταξύ ευρειών εντολών: ο μεταγλωττιστής τα κάνει όλα αυτά με βάση την ανάλυση πηγαίου κώδικα και τον προγραμματισμό πόρων του επεξεργαστή. Ως αποτέλεσμα, το υλικό του επεξεργαστή μπορεί να είναι απλούστερο και πιο οικονομικό.

Ο μεταγλωττιστής είναι ικανός να αναλύει τον πηγαίο κώδικα πολύ πιο διεξοδικά από το υλικό του επεξεργαστή RISC/CISC και να βρίσκει πιο ανεξάρτητες λειτουργίες. Ως εκ τούτου, η αρχιτεκτονική Elbrus έχει περισσότερους παράλληλους ενεργοποιητές από τις παραδοσιακές αρχιτεκτονικές και επιδεικνύει αξεπέραστη αρχιτεκτονική ταχύτητα σε πολλούς αλγόριθμους.

Δυνατότητες αρχιτεκτονικής Elbrus:

  • 6 κανάλια αριθμητικών λογικών μονάδων (ALU) που λειτουργούν παράλληλα.
  • Αρχείο καταχώρισης 256 καταχωρητών 84-bit.
  • Υποστήριξη υλικού για βρόχους, συμπεριλαμβανομένων εκείνων με διοχέτευση. Αυξάνει την αποτελεσματικότητα της χρήσης πόρων του επεξεργαστή.
  • Προγραμματιζόμενη συσκευή ασύγχρονης προάντλησης δεδομένων με ξεχωριστά κανάλια ανάγνωσης. Σας επιτρέπει να αποκρύψετε καθυστερήσεις από την πρόσβαση στη μνήμη και να κάνετε πληρέστερη χρήση της ALU.
  • Υποστήριξη για κερδοσκοπικούς υπολογισμούς και κατηγορήματα ενός bit. Σας επιτρέπει να μειώσετε τον αριθμό των μεταβάσεων και να εκτελέσετε πολλές διακλαδώσεις προγράμματος παράλληλα.
  • Μια ευρεία εντολή, ικανή να καθορίσει έως και 23 λειτουργίες σε έναν κύκλο ρολογιού (περισσότερες από 33 λειτουργίες κατά τη συσκευασία των τελεστών σε διανυσματικές οδηγίες).

Απόδοση σε εργασίες πραγματικού κόσμου:

Παρακάτω είναι η απόδοση του επεξεργαστή Elbrus-2C+ σε εργασίες από το πακέτο SPEC2000 σε σύγκριση με τους επεξεργαστές Intel Pentium-M ULV (1 GHz, 1M cache, 2xDDR-266) και Intel Atom D510 (1,66 GHz, 1M cache, DDR2) - 800).

Τα δεδομένα για το Intel Pentium-M ULV ελήφθησαν από τον μεταγλωττιστή spec.org, ICC 9.1. Για να μετρήσουμε την απόδοση του επεξεργαστή Intel Atom D510, χρησιμοποιήσαμε τη δική μας συναρμολόγηση δοκιμών SPEC από υπαλλήλους της MCST.

Είναι σημαντικό να σημειωθεί ότι οι κανόνες SPEC απαγορεύουν την τροποποίηση των πηγαίων κωδικών δοκιμής. Η πρακτική έχει δείξει ότι η αρχιτεκτονική του Elbrus έχει σημαντική ένα αποθεματικό απόδοσης που μπορεί να χρησιμοποιηθεί τροποποιώντας τον πηγαίο κώδικα σε κρίσιμες περιοχές.

εξομοίωση αρχιτεκτονικής x86

Ακόμη και στο στάδιο του σχεδιασμού του Elbrus MP, οι προγραμματιστές κατάλαβαν τη σημασία της υποστήριξης λογισμικού γραμμένου για την αρχιτεκτονική Intel x86. Για το σκοπό αυτό, εφαρμόστηκε ένα σύστημα δυναμικής (δηλαδή κατά την εκτέλεση του προγράμματος ή «εν πτήσει») μετάφρασης δυαδικών κωδίκων x86 σε κώδικες επεξεργαστή Elbrus. Στην πραγματικότητα, το σύστημα δυαδικής μετάφρασης δημιουργεί μια εικονική μηχανή που εκτελεί ένα λειτουργικό σύστημα επισκέπτη για την αρχιτεκτονική x86. Χάρη σε πολλά επίπεδα βελτιστοποίησης, είναι δυνατό να επιτευχθεί υψηλή ταχύτητα του μεταφρασμένου κώδικα (βλ. παραπάνω διαγράμματα). Η ποιότητα της εξομοίωσης αρχιτεκτονικής x86 επιβεβαιώνεται από την επιτυχημένη κυκλοφορία περισσότερων από 20 λειτουργικών συστημάτων (συμπεριλαμβανομένων πολλών εκδόσεων Windows) και εκατοντάδων εφαρμογών στην πλατφόρμα Elbrus.

Προστατευμένη λειτουργία εκτέλεσης προγράμματος

Μία από τις πιο ενδιαφέρουσες ιδέες που κληρονομήθηκαν από τις αρχιτεκτονικές Elbrus-1 και Elbrus-2 είναι η λεγόμενη ασφαλής εκτέλεση προγράμματος. Η ουσία του είναι να διασφαλίζει ότι το πρόγραμμα λειτουργεί μόνο με αρχικοποιημένα δεδομένα, να ελέγχει όλες τις προσβάσεις στη μνήμη για να βεβαιωθεί ότι ανήκουν στο έγκυρο εύρος διευθύνσεων και να παρέχει προστασία μεταξύ των μονάδων (για παράδειγμα, να προστατεύει το πρόγραμμα κλήσης από σφάλματα στη βιβλιοθήκη). Όλοι αυτοί οι έλεγχοι πραγματοποιούνται σε υλικό. Για προστατευμένη λειτουργία υπάρχει ένας πλήρης μεταγλωττιστής C/C++ και μια βιβλιοθήκη υποστήριξης χρόνου εκτέλεσης.

Ακόμη και στον κανονικό, «απροστάτευτο» τρόπο λειτουργίας του Elbrus MP υπάρχουν χαρακτηριστικά που αυξάνουν την αξιοπιστία του συστήματος. Έτσι, η στοίβα πληροφοριών σύνδεσης (η αλυσίδα των διευθύνσεων επιστροφής για διαδικαστικές κλήσεις) διαχωρίζεται από τη στοίβα δεδομένων χρήστη και δεν είναι προσβάσιμη σε τέτοιες επιθέσεις ιών όπως η πλαστογράφηση διευθύνσεων επιστροφής. Αξίζει να σημειωθεί ξεχωριστά ότι αυτή τη στιγμή απλά δεν υπάρχουν ιοί για την πλατφόρμα Elbrus.

Πεδίο εφαρμογής μικροεπεξεργαστών αρχιτεκτονικής Elbrus
Εκτεταμένο εύρος θερμοκρασίας, δυνατότητα εντοπισμού παραγωγής Κυβερνητική παραγγελία, βιομηχανικοί υπολογιστές, ηλεκτρονικά αυτοκινήτων

Αυξημένη προστασία από επιθέσεις ιών

Τερματικά πληρωμής, τείχη προστασίας, διακομιστές ανθεκτικοί σε χάκερ
Υψηλή απόδοση σε κρυπτογραφικούς αλγόριθμους Μονάδες κρυπτογράφησης, ασφαλείς thin clients, άλλα συστήματα ασφαλείας
Υψηλή απόδοση σε υπολογισμούς με πραγματικούς αριθμούς (float, double) Ρομποτική, αεροηλεκτρονική, βιομηχανικοί ελεγκτές, συστήματα επεξεργασίας εικόνας, υπερυπολογιστές
Εργαστείτε υπό τον έλεγχο ενός δυαδικού μεταγλωττιστή σε λειτουργία συμβατότητας με αρχιτεκτονική x86 Τερματικά Διαδικτύου, σταθμοί εργασίας χαμηλής κατανάλωσης, μικρού μεγέθους επιτραπέζιοι υπολογιστές και ενσωματωμένοι υπολογιστές
Προστατευμένη λειτουργία Ιδιαίτερα κρίσιμα συστήματα, βάσεις εντοπισμού σφαλμάτων

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

Με το περήφανο όνομα "Elbrus" κυκλοφόρησε μια σειρά υπερυπολογιστών, οι οποίοι αναπτύχθηκαν από τον Σοβιετικό επιστήμονα Vsevolod Sergeevich Burtsev (δεκαετίες 70-80).

Αυτοί οι υπολογιστές εισήγαγαν μια σειρά από καινοτομίες στη θεωρία των υπολογιστών, όπως η υπερκλιμάκωση (επεξεργασία περισσότερων από μία εντολών ανά κύκλο ρολογιού), η εφαρμογή ασφαλούς προγραμματισμού με τύπους δεδομένων υλικού και η παράλληλη επεξεργασία πολλαπλών εντολών. Αλλά το κύριο χαρακτηριστικό των σοβιετικών υπερυπολογιστών ήταν η εστίασή τους σε γλώσσες υψηλού επιπέδου. Ο Σοβιετοαμερικανός επιστήμονας Vladimir Mstislavovich Pentkovsky, ο οποίος συμμετείχε στην ανάπτυξη του Elbrus, δημιούργησε τη γλώσσα προγραμματισμού υψηλού επιπέδου El-76.

Εκτός από τη βελτίωση του πεδίου εφαρμογής των σοβιετικών υπολογιστικών μηχανών, ο υπολογιστής έγινε η βάση για τη δημιουργία καθολικών μικροεπεξεργαστών 64-bit "Elbrus 4-C" και της επόμενης γενιάς "Elbrus 8-C". Αραίωσαν την αγορά των αμερικανικών κατασκευαστών Intel, AMD και IBM. Η τοπική ανάπτυξη και παραγωγή επεξεργαστών προήλθε από την ανάγκη να βρούμε τις δικές μας λύσεις για την αμυντική βιομηχανία, όπου η χρήση εγχώριων συσκευών είναι πιο επιθυμητή.

Ιστορία ανάπτυξης

Η ανάπτυξη της αρχιτεκτονικής υπολογιστών Elbrus ξεκίνησε τη δεκαετία του '70 στο ITMiVT im. Λεμπέντεβα. Οι προγραμματιστές αντιμετώπισαν το καθήκον να δημιουργήσουν ένα υπολογιστικό σύστημα με απόδοση 100 εκατομμυρίων op/s. Ο Burtsev εργάστηκε στο σύστημα ελέγχου και σχεδίασης υπολογιστή και έγινε ο επικεφαλής σχεδιαστής του έργου.

Το 1980, το Elbrus-1, με συνολική παραγωγικότητα 15 εκατομμυρίων op/s, πέρασε με επιτυχία τις κρατικές δοκιμές. Αυτός ήταν ο πρώτος υπολογιστής στη Σοβιετική Ένωση που κατασκευάστηκε με βάση τα μικροκυκλώματα TTL. Ένα ιδιαίτερο χαρακτηριστικό του μηχανήματος ήταν η κλιμακούμενη αρχιτεκτονική του, η οποία υποστήριζε την ταυτόχρονη λειτουργία έως και 10 επεξεργαστών. Η μνήμη RAM έφτασε τα 64 MB (220 λέξεις μηχανής). Η οργάνωση της μεταφοράς των ροών δεδομένων μεταξύ περιφερειακών συσκευών και RAM πραγματοποιήθηκε με τη χρήση ειδικών επεξεργαστών εισόδου-εξόδου. Θα μπορούσαν να υπάρχουν περίπου 4 τέτοιοι επεξεργαστές στο σύστημα και είχαν τη δική τους μνήμη, που λειτουργούσε παράλληλα με τον κεντρικό επεξεργαστή.

Το Elbrus-1 χρησιμοποιήθηκε σε πολλά στρατιωτικά συστήματα - πυραυλική άμυνα, Κέντρο Ελέγχου Διαστήματος κ.λπ.

Το επόμενο στάδιο στην ανάπτυξη του υπολογιστή Elbrus ήταν η μεταφορά της αρχιτεκτονικής του πρώτου μοντέλου σε μια νέα βάση στοιχείων. Έτσι, προέκυψε το Elbrus-2, το οποίο βασίστηκε σε ολοκληρωμένα κυκλώματα ELS. Η παραγωγικότητά του έφτασε τα 125 εκατομμύρια op/s. Η ποσότητα της μνήμης RAM έχει επίσης αυξηθεί - έως και 144 MB. Η συχνότητα ρολογιού έφτασε τα 20 MHz.

Το 1985, το Elbrus-2 κυκλοφόρησε σε μαζική παραγωγή. Χρησιμοποιήθηκε σε περιοχές όπου απαιτούνταν μεγάλοι υπολογισμοί. Ο υπολογιστής χρησιμοποιήθηκε επίσης ενεργά στην αμυντική βιομηχανία, στο Κέντρο Ελέγχου Διαστημικών Πτήσεων και σε κέντρα πυρηνικής έρευνας (στο Arzamas-16, στο Chelyabinsk-70). Από το 1991, ο υπολογιστής λειτουργεί στο σύστημα αντιπυραυλικής άμυνας A-135 και σε άλλες στρατιωτικές εγκαταστάσεις.

Μαζί με τους υπερυπολογιστές, κατασκευάστηκε επίσης ο υπολογιστής γενικής χρήσης Elbrus 1-KB (1988). Αυτά τα μηχανήματα αντικατέστησαν το BESM-6 με το οποίο είχαν πλήρη συμβατότητα λογισμικού προς τα πίσω. Συμπληρώθηκε με έναν νέο τρόπο λειτουργίας με αυξημένο βάθος bit αριθμών και διευθύνσεων.

Συγκριτικά χαρακτηριστικά BESM-6 και Elbrus 1-KB

Το επόμενο κυκλοφόρησε το "Elbrus-3", στο οποίο οι προγραμματιστές εφάρμοσαν για πρώτη φορά την "μετα-υπερκλιμακωτή" προσέγγιση. Αυτός ο υπολογιστής αναπτύχθηκε από το 1986 έως το 1994. υπάλληλοι του ITMiVT υπό την ηγεσία του Σοβιετικού επιστήμονα Boris Artashesovich Babayan.

Το Elbrus-3 δεν τέθηκε σε μαζική παραγωγή, αλλά η αρχιτεκτονική του έγινε η βάση για την ανάπτυξη των μικροεπεξεργαστών Elbrus 2000 και Elbrus-3M1.

Η σειρά Elbrus εκτιμήθηκε από τη σοβιετική ηγεσία. Οι προγραμματιστές Babayan, Burtsev, Bardizh έλαβαν βραβεία και παραγγελίες. Στους υπόλοιπους συμμετέχοντες στο έργο απονεμήθηκαν και κρατικά βραβεία.

Εποχή των επεξεργαστών MCST

Η ρωσική εταιρεία MCST ιδρύθηκε το 1992 με βάση την ομάδα ανάπτυξης Elbrus-3. Έγινε ο νόμιμος διάδοχος του Moscow Center for SPARC Technologies LLP (εξ ου και το όνομα MCST). Η συντομογραφία SPARC προήλθε από τον κύριο συνεργάτη της MCST, την αμερικανική εταιρεία Sun Microsystems, η οποία προωθεί υπολογιστές με την αρχιτεκτονική SPARC.

Η MCST παρήγαγε μικροεπεξεργαστές με την αρχιτεκτονική SPARC (MCST-R100, MCST-R150, MCST-R500 και MCST-R500S) και δημιούργησε υπολογιστικά συστήματα στη βάση τους. Όμως το 2007 κυκλοφόρησε ο ομώνυμος επεξεργαστής Elbrus. Η μέγιστη απόδοση της συσκευής σε λειτουργία 64-bit έφτασε τα 2,4 GFLOPS. Η συχνότητα ρολογιού λειτουργίας ήταν 300 MHz. Ο επεξεργαστής είχε 75,8 εκατομμύρια τρανζίστορ. Διαρροή ισχύος 6 W.

Με βάση τον επεξεργαστή, αναπτύχθηκε το συγκρότημα υπολογιστών Elbrus-3M1, το οποίο χρησιμοποιείται για την αμυντική βιομηχανία. Αυτό το συγκρότημα εφοδιάστηκε με ένα ασφαλές λειτουργικό σύστημα MSVS-E (Mobile System of the Armed Forces), βασισμένο στην έκδοση Linux 2.6.14. Το Elbrus-3M1 ήταν συμβατό προς τα πίσω με το πρώτο και το δεύτερο Elbrus.

Το συγκρότημα υπολογιστών είχε δύο επιλογές σχεδίασης - μια έκδοση διακομιστή, η οποία θα μπορούσε να χρησιμοποιηθεί ως επιτραπέζιος υπολογιστής και μια έκδοση CompactPCI (διαύλου συστήματος). Η έκδοση διακομιστή βασίστηκε στη συσκευή του υπολογιστή UV 3M1. Στην περίπτωση του CompactPCI, το Elbrus-3M1 καταλάμβανε δύο ενότητες της μορφής Euromechanics 6U. Το υλικό και για τις δύο εκδόσεις ήταν εξοπλισμένο με εξοπλισμό δικτύου για ανταλλαγές εξαιρετικά υψηλής ταχύτητας με παρόμοια συστήματα υπολογιστών.

Το 2010, στις εκθέσεις ChipEXPO-2010 και Softool, παρουσιάστηκε στο κοινό το Elbrus-S system-on-chip. Ο αριθμός των τρανζίστορ σε αυτόν τον επεξεργαστή έχει αυξηθεί - έως και 218 εκατομμύρια. Η συχνότητα ρολογιού έχει επίσης αυξηθεί στα 500 MHz και η μέγιστη απόδοση έχει αυξηθεί: έως 4 GFLOPS σε λειτουργίες 64 bit και έως 8 GFLOPS σε λειτουργίες 32 bit.

Μαζί με το Elbrus-S, παρουσιάστηκε ένας ελεγκτής περιφερειακής διεπαφής (PIC).

Το 2011, η MCST παρουσίασε τον επεξεργαστή διπλού πυρήνα επόμενης γενιάς Elbrus-2C+. Εκτός από τους 2 κύριους πυρήνες (αρχιτεκτονική Elbrus), που λειτουργούν σε συχνότητα ρολογιού 500 MHz, το μοντέλο περιελάμβανε επίσης 4 επιπλέον πυρήνες του ενσωματωμένου επεξεργαστή ψηφιακού σήματος (αρχιτεκτονική Multicor). Στον επεξεργαστή έχει προστεθεί ένα κανάλι εισόδου/εξόδου, με το οποίο είναι δυνατή η σύνδεση άλλου KPI. Το Elbrus-2C+ πρόσθεσε επίσης υποστήριξη για μνήμη DDR2 με αποτελεσματική συχνότητα 800 MHz. Η απόδοση του επεξεργαστή έχει αυξηθεί - έως και 28 GFLOPS σε λειτουργία 32-bit. Ο αριθμός των τρανζίστορ έφτασε τα 368 εκατομμύρια.

Οι προγραμματιστές υλοποίησαν μια έκδοση του μεταγλωττιστή γλώσσας C για να αναπαράγουν τον κώδικα για τους πυρήνες DSP και να δημιουργήσουν αποτελεσματική αλληλεπίδραση μεταξύ του κύριου προγράμματος στους πυρήνες της CPU και των ενεργειών στο DSP.

Σύμφωνα με τους υπολογισμούς των δημιουργών, το Elbrus-2C+ επρόκειτο να χρησιμοποιηθεί σε ψηφιακά ευφυή συστήματα επεξεργασίας σήματος (ραντάρ, αναλυτές εικόνας κ.λπ.). Αλλά οι επεξεργαστές αποδείχθηκε ότι ήταν καλύτερα προσαρμοσμένοι για μη στρατιωτικές εργασίες. Για παράδειγμα, η Kraftway λάνσαρε μια δοκιμαστική σειρά υπολογιστών all-in-one που βασίζονται σε κρυστάλλους Elbrus-2C+.

Επεξεργαστής "Elbrus-4S"

Τον Απρίλιο του 2014, η εταιρεία παρουσίασε βελτιωμένους τετραπύρηνους επεξεργαστές Elbrus-4C.

Τεχνικά χαρακτηριστικά του "Elbrus-4S"

Πρώτα απ 'όλα, θα πρέπει να δώσετε προσοχή στη μετάβαση της παραγωγής επεξεργαστή σε μια τεχνολογική διαδικασία 65 nm. Η συχνότητα ρολογιού και η απόδοση των καναλιών RAM έχουν επίσης αυξηθεί. Αυτές και άλλες βελτιώσεις έχουν επηρεάσει σημαντικά την απόδοση των νέων επεξεργαστών. Κάθε πυρήνας μπορεί να εκτελέσει έως και 23 λειτουργίες σε έναν κύκλο ρολογιού. Στις λειτουργίες κινητής υποδιαστολής, η μέγιστη θεωρητική απόδοση των τεσσάρων πυρήνων είναι περίπου 50 GFLOPS απλής ακρίβειας και 25 GFLOPS διπλής ακρίβειας. Αν το συγκρίνουμε με το προηγούμενο μοντέλο Elbrus-2C+, τότε σε λειτουργία 64-bit είναι πάνω από τρεις φορές υψηλότερο. Στον νέο επεξεργαστή, ένας πιο σύνθετος κρύσταλλος, που περιέχει 986 εκατομμύρια τρανζίστορ, έχει ωφέλιμη επιφάνεια 380 mm2.

Οι ειδικοί του MCST δημιούργησαν το δικό τους λειτουργικό σύστημα "Elbrus" ειδικά για τον επεξεργαστή που κυκλοφόρησε. Το λειτουργικό σύστημα βασίζεται στην έκδοση 2.6.33 του πυρήνα Linux. Περιλαμβάνει πάνω από 3.000 πακέτα λογισμικού (από τη διανομή Debian 5.0) και διαθέτει διαχειριστή πακέτων. Περιλαμβάνεται ένα πλήρες σύνολο εργαλείων προγραμματιστή, συμπεριλαμβανομένων μεταγλωττιστών βελτιστοποίησης για τις γλώσσες προγραμματισμού υψηλού επιπέδου C, C++, Fortran 77 και Fortran 9.

Το Elbrus OS πιστοποιήθηκε για τη δεύτερη κατηγορία προστασίας από μη εξουσιοδοτημένη πρόσβαση και το δεύτερο επίπεδο ελέγχου αδήλωτων δυνατοτήτων. Αλλά οι υπολογιστές που βασίζονται σε επεξεργαστές Elbrus-4C λειτουργούν επίσης με εκδόσεις του λειτουργικού συστήματος Windows.

Διαδοχικός επεξεργαστής και επιτραπέζιος υπολογιστής

Ένα από τα έργα της εταιρείας ήταν η ανάπτυξη του πρώτου ρωσικού επιτραπέζιου υπολογιστή βασισμένου στον επεξεργαστή Elbrus-4C. Ονομάστηκε "Workstation Elbrus-401" (όπου Workstation σημαίνει αυτοματοποιημένος σταθμός εργασίας). Το μοντέλο έχει σχεδιαστεί για γραφείο σε τυπική θήκη MiniTower. Μπορεί όμως να χρησιμοποιηθεί σε διάφορους τομείς με αυξημένες απαιτήσεις ασφάλειας πληροφοριών.

Ο υπολογιστής διαθέτει τεχνολογία διεργασίας 65 nm με ταχύτητα ρολογιού 800 Hz, θύρες SATA-2 και USB 2.0, προεγκατεστημένο SSD 120 GB με διασύνδεση mSATA και υποστήριξη για DDR3-1600 με ECC. Η βασική διαμόρφωση προσφέρει 24 GB μνήμης RAM (με δυνατότητα επέκτασης έως 96 GB). Μεταξύ των χαρακτηριστικών της αρχιτεκτονικής Elbrus-401 ARM, μπορούν να επισημανθούν τα ακόλουθα: η παρουσία 6 παράλληλων καναλιών λειτουργίας αριθμητικών-λογικών συσκευών. αρχείο μητρώου 256 καταχωρητών 84-bit. υποστήριξη υλικού για βρόχους. υποστήριξη για κερδοσκοπικούς υπολογισμούς και κατηγορήματα ενός bit. μια εντολή που μπορεί να καθορίσει έως και 23 λειτουργίες σε έναν κύκλο ρολογιού στη μέγιστη χωρητικότητα. Ο υπολογιστής έχει επίσης εγκατεστημένη μια κάρτα γραφικών AMD Radeon 6000 series.

Επεξεργαστής νέας γενιάς - Elbrus-8S

Ο επεξεργαστής Elbrus-8S αναπτύσσεται από την εταιρεία MCST με τη συμμετοχή του Ινστιτούτου Ηλεκτρονικών Μηχανών Ελέγχου (INEUM). ΕΙΝΑΙ. Μπρούκα. Η αρχιτεκτονική, ο σχεδιασμός του κυκλώματος και η τοπολογία του μικροεπεξεργαστή δημιουργήθηκαν από Ρώσους ειδικούς. Ο επεξεργαστής έχει οκτώ πυρήνες με βελτιωμένη αρχιτεκτονική Elbrus 64 bit. Η συχνότητα ρολογιού φτάνει τα 1,3 GHz, ο όγκος της κρυφής μνήμης δεύτερου και τρίτου επιπέδου είναι 4 και 16 MB. Η εκτιμώμενη απόδοση φτάνει τα 250 GFLOPS.

Τεχνικά χαρακτηριστικά του "Elbrus-8S"

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

Το υλικό αλληλεπιδρά με το λειτουργικό σύστημα μέσω του δικού του μικροκώδικα BIOS. Ο επεξεργαστής είναι συμβατός με διανομές Linux, FreeBSD, QNX, Windows XP, αλλά το προτεινόμενο λειτουργικό σύστημα Elbrus βασίζεται στον πυρήνα Linux 2.6.33. Η χρήση εξειδικευμένων εργαλείων ανάπτυξης (βελτιστοποίηση μεταγλωττιστών για γλώσσες C και C++, Fortran, Java κ.λπ.) καθιστά δυνατή τη βελτιστοποίηση του κώδικα του προγράμματος λαμβάνοντας υπόψη την αρχιτεκτονική Elbrus.

Η εταιρεία αναπτύσσει ήδη βοηθητικά προγράμματα και στοιχεία υποστήριξης βελτιστοποιημένα για να λειτουργούν σε επεξεργαστές. Αυτά είναι όλα - εργαλεία για εργασία με το δίκτυο και τις περιφερειακές συσκευές (βοηθητικά προγράμματα, βιβλιοθήκες γενικής χρήσης, υπηρεσίες, υποστήριξη βάσεων δεδομένων, υποσύστημα γραφικών).

Το Elbrus-8S πρέπει να λειτουργεί παράλληλα με το KPI 2, έναν ελεγκτή περιφερειακής διεπαφής ρωσικής κατασκευής.