A processor (100) is provided that is a programmable fixed point digital
signal processor (DSP) with variable instruction length, offering both
high code density and easy programming. Architecture and instruction set
are optimized for low power consumption and high efficiency execution of
DSP algorithms, such as for wireless telephones, as well as pure control
tasks. The processor includes an instruction buffer unit (106), a program
flow control unit (108), an address/data flow unit (110), a data
computation unit (112), and multiple interconnecting busses. Dual
multiply-accumulate blocks improve processing performance. A memory
interface unit (104) provides parallel access to data and instruction
memories. The instruction buffer is operable to buffer single and compound
instructions pending execution thereof. A decode mechanism is configured
to decode instructions from the instruction buffer. The use of compound
instructions enables effective use of the bandwidth available within the
processor. A soft dual memory instruction can be compiled from separate
first and second programmed memory instructions. Instructions can be
conditionally executed or repeatedly executed. Bit field processing and
various addressing modes, such as circular buffer addressing, further
support execution of DSP algorithms. The processor includes a multistage
execution pipeline with pipeline protection features. Various functional
modules can be separately powered down to conserve power. The processor
includes emulation and code debugging facilities with support for cache
analysis.
Ένας επεξεργαστής (100) παρέχεται που είναι προγραμματίσημος σταθερός επεξεργαστής ψηφιακών σημάτων σημείου (DSP) με το μεταβλητό μήκος οδηγίας, που προσφέρει και την υψηλή πυκνότητα κώδικα και τον εύκολο προγραμματισμό. Το σύνολο αρχιτεκτονικής και οδηγίας βελτιστοποιείται για τη μικρή κατανάλωση ισχύος και την εκτέλεση υψηλής αποδοτικότητας των αλγορίθμων DSP, όπως για τα ασύρματα τηλέφωνα, καθώς επίσης και τους καθαρούς στόχους ελέγχου. Ο επεξεργαστής περιλαμβάνει μια μονάδα απομονωτών οδηγίας (106), μια μονάδα ελέγχου ροής προγράμματος (108), μια διεύθυνση/μια μονάδα ροής στοιχείων (110), μια μονάδα υπολογισμού στοιχείων (112), και τα πολλαπλάσια διασυνδέοντας λεωφορεία. Διπλός πολλαπλασιάζω-συσσωρεύστε τους φραγμούς βελτιώνει την απόδοση επεξεργασίας. Μια μονάδα διεπαφών μνήμης (104) παρέχει την παράλληλη πρόσβαση στις μνήμες στοιχείων και οδηγίας. Ο απομονωτής οδηγίας είναι λειτουργικός για να αποθηκεύσει τις ενιαίες και σύνθετες οδηγίες εν αναμονή της εκτέλεσης επ' αυτού. Αποκωδικοποιήστε το μηχανισμό διαμορφώνεται για να αποκωδικοποιήσει τις οδηγίες από τον απομονωτή οδηγίας. Η χρήση των σύνθετων οδηγιών επιτρέπει την αποτελεσματική χρήση του εύρους ζώνης διαθέσιμου μέσα στον επεξεργαστή. Μια μαλακή διπλή οδηγία μνήμης μπορεί να συνταχθεί από τις χωριστές πρώτες και δεύτερες προγραμματισμένες οδηγίες μνήμης. Οι οδηγίες μπορούν να εκτελεσθούν υπό όρους ή να εκτελεσθούν επανειλημμένα. Επεξεργασία τομέων κομματιών και διάφοροι τρόποι εξέτασης, όπως ο κυκλικός απομονωτής που εξετάζει, περαιτέρω εκτέλεση υποστήριξης των αλγορίθμων DSP. Ο επεξεργαστής περιλαμβάνει μια πολυβάθμια σωλήνωση εκτέλεσης με τα χαρακτηριστικά γνωρίσματα προστασίας σωληνώσεων. Οι διάφορες λειτουργικές ενότητες μπορούν να τροφοδοτηθούν χωριστά κάτω για να συντηρήσουν τη δύναμη. Ο επεξεργαστής περιλαμβάνει τις εγκαταστάσεις διόρθωσης άμιλλας και κώδικα με την υποστήριξη για την ανάλυση κρύπτης.