scaler vs vector processors

3dcgi

Veteran
Supporter
What is the difference between a scalar and vector processor as used in a graphics chip? For example Nvidia uses vector processing units while 3dlabs uses scalar processors. Is it just that the scalar processors can operate independently while vector processors are tied together in groups of 4?
 
Vectors are typically represented by components (units of magnitude in the x,y,z,w,etc. directions), from 1 to n of them. 3D graphics typically deals with 3-4 components per vector. A vector unit can adress all of these components, simultaneously, with one operation. One instruction could operate on multiple data stream elements. Scalar processors, on the other hand, separate individual components to carry out operations, so a cluster of 4 units is needed to operate on a 4-component vector, however when only a simple multiply between 2 scalars or a scalar and a vector are needed, the individual scalar units display greater flexibility (anybody feel free to correct me if I'm wrong).

To the best of my limited understanding, the former proposes a simplistic way of seeing the difference. Someone else could probably jump in and help you out some more.
 
3dcgi said:
What is the difference between a scalar and vector processor as used in a graphics chip? For example Nvidia uses vector processing units while 3dlabs uses scalar processors. Is it just that the scalar processors can operate independently while vector processors are tied together in groups of 4?
I would say that is a reasonably good summary.
 
This reminds me of a good joke. :D

What do you get when you cross a mountain climber with a mosquito?

A> You can't cross a scalar with a vector!

:LOL: :LOL: :LOL: :LOL: :LOL:

Nite_Hawk
 
Actually, Simon, Nvidia uses scalar processors for the vertex and possibly pixel pipelines of its Geforce FX. No longer are the units in the geometry pipeline bunched up as vector processors, operating on various sets of data at once, but are singular floating-point (possiblly dsp) units bunched in a cluster with one command/control unit ahead.
 
Actually, Simon, Nvidia uses scalar processors for the vertex and possibly pixel pipelines of its Geforce FX.

Are you sure? When I asked Geoff Ballew about this Vertex Shader I did actually ask at the end (not in the interview) if they were still scalar processors, and I'm pretty sure he replied positively.

Do you have any definiate that says they are scalar rather the vector?
 
I perceive "we have a pool of calculating units and an intelligent scheduling mechanism at the front of it. So instead of an entire Vertex Shader what we have made is a sea of vertex math engines that are all glued together with this interface" and "an array of scalar processors configurable for vector processing" to be statements indicating the same thing.

Feel free to correct my understanding.
 
Are you sure? When I asked Geoff Ballew about this Vertex Shader I did actually ask at the end (not in the interview) if they were still scalar processors, and I'm pretty sure he replied positively.

The way you phrased this statement leads me to believe you meant to stay vector ("still scalar"). Anyways, I assumed that in an array of units (not a vec4 unit), the singular processing elements are referred to as scalar processors. Each unit carries an instruction set with access to all given operands. Guess I could be wrong.
 
Sorry, I meant to say vector - in that the vertex processor was an 'array' of processors, but the processing units were still vector based, as opposed to the scalar nature of the 3dlabs solution.
 
demalion said:
I perceive "we have a pool of calculating units and an intelligent scheduling mechanism at the front of it. So instead of an entire Vertex Shader what we have made is a sea of vertex math engines that are all glued together with this interface" and "an array of scalar processors configurable for vector processing" to be statements indicating the same thing.
I don't see why those two things are the same. Whenever I play around with programming, there is really no difference between vertices and vectors. In other words, I really do see "a sea of vertex math engines" as "a sea of vector math engines."
 
Back
Top