A programmable multimedia accelerator which maximizes data bandwidth
utilization with minimal hardware (and consequently minimal power
consumption) is provided herein. In one embodiment, the accelerator
includes four functional units, a routing unit, and a control module. The
functional units each operate on four input bytes and a carry-in bit, and
produce two output bytes and a carry-out bit. The carry-out bit of each
functional unit is provided as a carry-in bit to another functional unit,
allowing the functional units to operate cooperatively to carry out
extended-precision operations when needed. The functional units can also
operate individually to perform low-precision operations in parallel. The
routing unit is coupled to the functional units to receive the output
bytes and to provide a permutation of the output bytes as additional pairs
of input bytes to the functional units. The control module stores and
executes a set of instructions to provide control signals to the
functional units and the routing units. The functional units are
preferably configured to perform 8.times.8 bit multiplications and 16 bit
operations such as addition, subtraction, logical AND, and logical XOR.
Ένας προγραμματίσημος επιταχυντής πολυμέσων που μεγιστοποιεί τη χρησιμοποίηση εύρους ζώνης στοιχείων με το ελάχιστο υλικό (και συνεπώς την ελάχιστη κατανάλωση ισχύος) παρέχεται εν τω παρόντι. Σε μια ενσωμάτωση, ο επιταχυντής περιλαμβάνει τέσσερις λειτουργικές μονάδες, μια μονάδα δρομολόγησης, και μια ενότητα ελέγχου. Οι λειτουργικές μονάδες κάθε μια λειτουργούν σε τέσσερις εισαγμένες ψηφιολέξεις και ένα φέρνω-μέσα μπιτ, και παράγουν δύο ψηφιολέξεις παραγωγής και ένα φέρνω-έξω μπιτ. Το φέρνω-έξω κομμάτι κάθε λειτουργικής μονάδας παρέχεται όπως φέρνω-μέσα δάγκωσε σε μια άλλη λειτουργική μονάδα, που επιτρέπει στις λειτουργικές μονάδες για να λειτουργήσει συνεταιριστικά για να διενεργήσει τις διαδικασίες επεκτείνω-ακρίβειας όταν απαιτείται. Οι λειτουργικές μονάδες μπορούν επίσης να λειτουργήσουν χωριστά για να εκτελέσουν τον παράλληλο διαδικασιών χαμηλός-ακρίβειας παράλληλα. Η μονάδα δρομολόγησης συνδέεται με τις λειτουργικές μονάδες για να λάβει τις ψηφιολέξεις παραγωγής και για να παρέχει μια μεταλλαγή των ψηφιολέξεων παραγωγής ως πρόσθετα ζευγάρια των ψηφιολέξεων εισαγωγής στις λειτουργικές μονάδες. Η ενότητα ελέγχου αποθηκεύει και εκτελεί ένα σύνολο οδηγιών για να παρέχει τα σήματα ελέγχου στις λειτουργικές μονάδες και τις μονάδες δρομολόγησης. Οι λειτουργικές μονάδες διαμορφώνονται κατά προτίμηση για να εκτελέσουν τους πολλαπλασιασμούς κομματιών 8.times.8 και τις διαδικασίες 16 μπιτ όπως η προσθήκη, η αφαίρεση, λογικές ΚΑΙ, και λογικό XOR.