Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Υπολογιστές PC

Πώς πολλαπλασιάζονται οι υπολογιστές;

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

1. Δυαδική εκπροσώπηση: Το ίδρυμα είναι ότι όλα σε έναν υπολογιστή αντιπροσωπεύονται ως μια σειρά 0s και 1s (bits). Οι αριθμοί εκπροσωπούνται σε δυαδικό. Για παράδειγμα, ο δεκαδικός αριθμός 13 αντιπροσωπεύεται ως 1101 σε δυαδικό.

2. Μετατόπιση bit: Η μετατόπιση των κομματιών προς τα αριστερά ισοδυναμεί με πολλαπλασιασμό με εξουσίες 2. Για παράδειγμα:

* 1101 (13 δεκαδικό) Μετατοπισμένο αριστερό ένα μέρος γίνεται 11010 (26 δεκαδικό - 13 * 2)

* 1101 Μετατόπιση αριστερά δύο θέσεις γίνεται 110100 (52 δεκαδικό - 13 * 4)

Αυτή είναι μια πολύ γρήγορη λειτουργία για τον υπολογιστή.

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

Ας απεικονίσουμε με ένα παράδειγμα:πολλαπλασιάστε 13 (1101) κατά 5 (101):

`` `

1101 (13)

x 101 (5)

-------

1101 (13 * 1) <- Αυτή η σειρά είναι 1101 μετατοπίζεται 0 θέσεις (13 * 2^0)

0000 (13 * 0) <- Αυτή η σειρά είναι 1101 μετατοπίζεται 1 θέση (13 * 2^1, αλλά πολλαπλασιάζεται με 0)

11010 (13 * 4) <- Αυτή η σειρά είναι 1101 μετατοπίζεται 2 θέσεις (13 * 2^2)

-------

1000001 (65 δεκαδικά)

`` `

Το αποτέλεσμα επιτυγχάνεται με την προσθήκη των μετατοπισμένων ενδιάμεσων αποτελεσμάτων. Αυτό γίνεται αποτελεσματικά χρησιμοποιώντας τα Adders μέσα στην αριθμητική λογική μονάδα (ALU) της CPU.

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

5. Εφαρμογή λογισμικού: Γλώσσες προγραμματισμού υψηλού επιπέδου (όπως Python, Java, C ++) αφηρημένα τις λεπτομέρειες του δυαδικού πολλαπλασιασμού. Όταν γράφετε `x * y`, ο μεταγλωττιστής ή ο διερμηνέας μεταφράζουν αυτό σε μια σειρά οδηγιών που η CPU μπορεί να εκτελέσει χρησιμοποιώντας τις υποκείμενες μεθόδους υλικού που περιγράφονται παραπάνω.

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα