The University of Texas at Austin
Department of Electrical and Computer Engineering

Questions regarding SMT

A student writes:

	Hi Professor Patt,

Hi, Student ***********,

	I have a couple of questions regarding Multi-threading and Simultaneous
	Multi-threading.
	First of all, classification of level of parallelism confuses me. Do you
	consider MT as a thread-level parallelism or instruction-level 
	parallelism, or both?

I would call it thread-level parallelism, particularly since (if you are
talking about Burton's original idea) there is nothing inherently there
to achieve ILP.

	My other question is about hyper-threading. In hyper-threading 
	technology you
	are dividing the resources between the processes (MT-mode). 

What does that mean?  What resources are you talking about?

	That means you are
	not actually using the idle functional units to execute from 
	different threads based on availability of operands (SMT). 

Why do you think that?

	So, do you consider hyper-threading a SMT system?

So, I went to the Intel website for a definition of hyper-threading.
From what I read, I see no difference between it and SMT.

	And my last question is, from the software point of view, 
	what is the difference between CMP and SMT?

Very good!  From the software standpoint, one could argue there is
no difference.  One could run those threads on a single core that
is multi-threaded, or multiple cores that are single threaded.
Performance could matter a lot, but that is a function of the 
particular application and the connectivitity of the cores in a
CMP machine.

Yale Patt

	Thanks,
	<<name withheld to protect the student with good questions>>