On 28 November 2012 13:54, Alan Altmark <alan_altm...@us.ibm.com> wrote:
> On Tue, 27 Nov 2012 14:55:16 -0600, Paul Gilmartin <paulgboul...@aim.com> 
> wrote:
>
>>But what plausible use do you envision that anyone or any group at IBM might
>>have for the "model dependent" character?  It requires that software 
>>developers
>>test on every available and possible future system.  Simply, it's 
>>irresponsible
>>not to have made the behavior consistent across models.  If it's going to fail
>>on some models, it should be designed to fail likewise on all models. Perhaps
>>with SIE?
>
> There is nothing new here, Paul.  One of the original design points for S/360 
> was to separate machine behavior from the programming interface.  You want to 
> be able to change and optimize the machine behaviors over time without 
> screwing up the interface.
>
> This is precisely why you see "model-dependent" in the documentation - so you 
> DON'T build an expectation.  And it's why you can still run programs written 
> in 1965.

There are two terms used in the Principles of Operation - "model
dependent" and "unpredictable". It may be that the use of these terms
has changed slightly, but I have always read the former as imposing a
weaker constraint on the programmer than the latter. If a behaviour is
"model dependent" it is presumably consistent on that model, and it
would be possible, if fairly unlikely, that a program could discover
the behaviour and exploit it. This is certainly not the case for
"unpredictable" results, which can vary from one execution to the
next.

Regardless, I disagree strongly with Paul on this in general; I think
the notion of not overspecifying behaviour is a very good one. IBM has
historically done an amazing job of writing the Principle of Operation
so that it specifies the required behaviour of the machine, and
clarifies certain possible variations that should not be relied on.
And they are very quick to correct errors and unclear writing on those
few occasions it arises.

> As STOC Usage Note 2 states, if the store is skipped because of the condition 
> code, the operand might not be fetched into cache.  But it is a matter of 
> implementation as to exactly when the circuitry triggers things like PER 
> storage-alteration events or set the page change bit.  As the machines get 
> smarter, the accuracy of those events improves.   While the machine may 
> over-indicate (a false positive) an event, it will never under-indicate an 
> event.

I agree, though one must be careful with the notions of over and
under. For example the change bit is never under set, but the
reference bit may well be.

I think Dave's original question was quite reasonable, though: what
*are* these instructions good for in the real world (or rather, under
what circumstances do they provide a performance advantage compared to
BC + L or ST) if not for the sort of usage he suggests?

> It would be unforgivable if the architects baked in

I'm sure this was going to say something interesting...

Tony H.

----------------------------------------------------------------------
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