A processor capable of executing vector instructions includes at least an
instruction sequencing unit and a vector processing unit that receives
vector instructions to be executed from the instruction sequencing unit.
The vector processing unit includes a plurality of multiply structures,
each containing only a single multiply array, that each correspond to at
least one element of a vector input operand. Utilizing the single multiply
array, each of the plurality of multiply structures is capable of
performing a multiplication operation on one element of a vector input
operand and is also capable of performing a multiplication operation on
multiple elements of a vector input operand concurrently. In an embodiment
in which the maximum length of an element of a vector input operand is N
bits, each of the plurality of multiply arrays can handle both N by N bit
integer multiplication and M by M bit integer multiplication, where N is a
non-unitary integer multiple of M. At least one of the multiply structures
also preferably includes an accumulating adder that receives as a first
input a result produced by that multiply structure and receives as a
second input a result produced by another multiply structure. From these
inputs, the accumulating adder produces as an output an accumulated sum of
the results in response to execution of the same instruction that caused
the multiply structures to produce the intermediate results.
Ένας επεξεργαστής ικανός τις διανυσματικές οδηγίες περιλαμβάνει τουλάχιστον μια οδηγία τοποθετώντας διαδοχικά τη μονάδα και μια διανυσματική μονάδα επεξεργασίας που λαμβάνει τις διανυσματικές οδηγίες που εκτελούνται από την οδηγία τοποθετώντας διαδοχικά τη μονάδα. Η διανυσματική μονάδα επεξεργασίας περιλαμβάνει μια πολλαπλότητα πολλαπλασιάζει τις δομές, κάθε ένα που περιέχει μόνο έναν ενιαίο πολλαπλασιάζει τη σειρά, ότι κάθε ένα αντιστοιχεί τουλάχιστον σε ένα στοιχείο ενός διανυσματικού τελεστέου εισαγωγής. Χρησιμοποιώντας τον ενιαίο πολλαπλασιάστε τη σειρά, κάθε μια από την πολλαπλότητα πολλαπλασιάζει τις δομές είναι σε θέση μια λειτουργία πολλαπλασιασμού σε ένα στοιχείο ενός διανυσματικού τελεστέου εισαγωγής και είναι επίσης σε θέση μια λειτουργία πολλαπλασιασμού στα πολλαπλάσια στοιχεία ενός διανυσματικού τελεστέου εισαγωγής ταυτόχρονα. Σε μια ενσωμάτωση στην οποία το μέγιστο μήκος ενός στοιχείου ενός διανυσματικού τελεστέου εισαγωγής είναι κομμάτια ν, κάθε μια από την πολλαπλότητα πολλαπλασιάζει τις σειρές μπορεί να χειριστεί και ν από το ν τον πολλαπλασιασμό ακέραιων αριθμών κομματιών και μ από το μ πολλαπλασιασμός ακέραιων αριθμών κομματιών, όπου το ν είναι ένα μη-ενωτικό πολλαπλάσιο ακέραιων αριθμών του μ. Τουλάχιστον ένα από πολλαπλασιάζει τις δομές επίσης κατά προτίμηση περιλαμβάνει έναν αθροιστή συσσώρευσης που λαμβάνει ως πρώτη εισαγωγή ένα αποτέλεσμα που παράγεται από αυτό πολλαπλασιάζει τη δομή και λαμβάνει ως δεύτερη εισαγωγή που ένα αποτέλεσμα που παράγεται από άλλο πολλαπλασιάζει τη δομή. Από αυτές τις εισαγωγές, ο αθροιστής συσσώρευσης παράγει ως παραγωγή ένα συσσωρευμένο ποσό των αποτελεσμάτων σε απάντηση στην εκτέλεση της ίδιας οδηγίας που προκάλεσε πολλαπλασιάζει τις δομές για να παραγάγει τα ενδιάμεσα αποτελέσματα.