Does the term 'instruction stream' necessarily mean the instructions from another thread in the same process?
If the answer to Q1 is yes, then if the core is running a single-thread process, then it has to wait when faced with the stall, right?
tcm
1: I'm not sure that I'm following your question. A thread is an instruction stream, so instruction stream refers to a given thread, not a different thread (a different thread is also an instruction stream, but not the same one).
2: If a multi-threaded processor has only been provided one software thread, then there is nothing else for it to switch to upon a cache miss. In order for the multi-threaded latency hiding technique to work, the programmer must supply additional threads (more than the number of cores) so that each core can switch between multiple threads upon cache misses.
1: I'm not sure that I'm following your question. A thread is an instruction stream, so instruction stream refers to a given thread, not a different thread (a different thread is also an instruction stream, but not the same one).
2: If a multi-threaded processor has only been provided one software thread, then there is nothing else for it to switch to upon a cache miss. In order for the multi-threaded latency hiding technique to work, the programmer must supply additional threads (more than the number of cores) so that each core can switch between multiple threads upon cache misses.