A multiplier capable of performing signed and unsigned scalar and vector multiplication is disclosed. The multiplier is configured to receive signed or unsigned multiplier and multiplicand operands in scalar or packed vector form. An effective sign for the multiplier and multiplicand operands may be calculated based upon each operand's most significant bit and a control signal. The effective signs may then be used to create and select a number of partial products according to Booth's algorithm. Once the partial products have been created and selected, they may be summed and the results may be output. The results may be signed or unsigned, and may represent vector or scalar quantities. When a vector multiplication is performed, the multiplier may be configured to generate and select partial products so as to effectively isolate the multiplication process for each pair of vector components. The multiplier may also be configured to sum the products of the vector components to form the vector dot product. The final product may be output in segments so as to require fewer bus lines. The segments may be rounded by adding a rounding constant. Rounding and normalization may be performed in two paths, one assuming an overflow will occur, the other assuming no overflow will occur.

Ein Vervielfacher, der zu unterzeichneter und nicht unterzeichneter Scalar- und vektorvermehrung Durchführens fähig ist, wird freigegeben. Der Vervielfacher wird zusammengebaut, um zu empfangen unterzeichnet, oder nicht unterzeichnete Vervielfacher- und Multiplikandenrechengrößen im Skalar- oder verpackten Vektor bilden sich. Ein wirkungsvolles Zeichen für die Vervielfacher- und Multiplikandenrechengrößen kann errechnet werden gründete nach bedeutendster Spitze jeder Rechengröße und einem Steuersignal. Die wirkungsvollen Zeichen können dann benutzt werden, um eine Anzahl von teilweisen Produkten entsprechend Algorithmus des Standes zu verursachen und vorzuwählen. Sobald die teilweisen Produkte hergestellt worden und vorgewählt worden sind, können sie summiert werden und die Resultate können ausgegeben werden. Die Resultate können unterzeichnet oder nicht unterzeichnet sein und können Vektor oder skalare Größen darstellen. Wenn eine vektorvermehrung durchgeführt wird, kann der Vervielfacher zusammengebaut werden, um teilweise Produkte zu erzeugen und vorzuwählen, um den Vermehrungprozeß für jedes Paar vektorbestandteile effektiv zu lokalisieren. Der Vervielfacher kann auch zusammengebaut werden, um die Produkte der vektorbestandteile zu summieren, um das vektorpunktprodukt zu bilden. Das abschließende Produkt kann in den Segmenten ausgegeben werden, um wenige Buslinien zu erfordern. Die Segmente können gerundet werden, indem man eine rundende Konstante addiert. Das Runden und die Normalisierung können in zwei Wegen, einer durchgeführt werden, der einen Überlauf annimmt, auftreten, der andere, der keinen Überlauf annimmt, auftreten.

 
Web www.patentalert.com

< (none)

< Decrypting device

> Instruction alignment unit for routing variable byte-length instructions

> (none)

~ 00036