I think of it as "yes, a whole lot of the pipeline needs to be purged 
because of an AMODE switch" because operand addresses need to be 
re-evaluated.

>34 'L'

I caution against any of these artificial scenarios (here SAMxx 
immediately followed by SAMyy) that attempt to derive conclusions about 
the machine. That includes the artificial loop from the other day.

Non-realistically small loops, non-realistic AMODE switching are things 
that the machine / millicode designers likely do not spend all that much 
time worrying about. 
So maybe "34" is an upper bound. 

As with everything, there is a tradeoff, between switching and such things 
as the larger I-cache footprint that AMODE 64 code typically has, and 
things like "LG" in AMODE 64 and "L" in AMODE 31 are highly optimized, but 
"LLGT" in AMODE 64 is not (and you frequently have to do that sort of 
instruction if following pointer chains of non-high-virtual blocks).

The general advice is to avoid AMODE switching when you can.

Peter Relson
z/OS Core Technology Design


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to