As most (all?) current CPUs are to some extent or
other superscalar, the
concept of single-stepping is, in itself, not well defined for these
processors.
Certainly it is. There are traditionally two kinds of single-stepping:
Single-clock-cycle (implemented in hardware): the processor does whatever
it normally does on one one clock cycle every time you "press the
button". A superscalar processor can do that just as well as any other
processor, though it will typically be executing part or all of several
instructions every time you give it a clock.
Single-instruction (can be hardware on some systems, but more commonly
implemented in software): my debugger still does that just fine, even
on the latest superscalar processors. I use it all the time. It would
be pretty tough to debug software if one couldn't do that.