Re: Seinfeld's Contribution to the The Principles of Operation

2010-10-11 Thread Alan Ackerman
Actually, the POPS is full of "may or may not". I think the reason for th
at is that it gives the 
designers of specific machines latitude to do things differently, not bei
ng constrained too much by 
the architecture. This in turn should lower the cost of the machine.

The reason the "may or may not" stuff is in the POPS is to warn programme
rs that they should not 
expects results that they determine by trial-and-error to be the same on 
every machine.

Despite the different wording here, this is an example of that concept.

You CANNOT trust the bit to be set only when the storage is referenced. S
ome instructions even 
SAY that what happens may vary from machine to machine. The instruction I
 found this time in the 
manual is TPROT (TEST PROTECTION), but I think I have read others.

Conversely, when a look-ahead references a page, but then the code on tha
t page is not executed. 
does that count a referenced or not? Yes, the machine had to reference it
, but no, it never got 
executed. YMWV (Your Mileage WILL Vary).. 

Alan Ackerman
Alan (dot) Ackerman (at) Bank of America (dot) com 

On Thu, 7 Oct 2010 17:44:26 -0500, Gary M. Dennis  wrote:

>There is only one place in z Architecture Principles of Operation where 
the
>word substantially is used.  Even more surprising than its use is the fa
ct
>that it appears immediately before the word "accurate". My interest in t
he
>reference bit, though passing, is sincere since I would like to hang my 
hat
>on the validity of that indicator.  Substantially means " to a great ext
ent
>or degree".  In system z architecture, I am  unfamiliar with this level 
of
>accuracy.
>
>For your reference (no pun intended) the paragraph in z POPS is:
>
>"The record provided by the reference bit is substantially accurate. The

>reference bit may be set to one by fetching data or instructions that ar
e
>neither designated nor used by the program, and, under certain condition
s, a
>reference may be made without the reference bit being set to one. Under
>certain unusual circumstances, a reference bit may be set to zero by oth
er
>than explicit program action."
>
>Although Seinfeld had to have written the previous 67 words, it is possi
ble
>(age 21 at the time) for him to have contributed the original paragraph
>from the 1975 POPS and simply updated the paragraph for System z.  The 1
975
>paragraph follows.
>
>"The record of references provided by the reference bit is substantially

>accurate. The reference bit may be turned on by fetching data or
>instructions that are neither designated nor used by the program, and, u
nder
>certain conditions, a reference may be made without the reference bit be
ing
>turned on. Under certain unusual conditions, a reference bit that is on 
may
>be turned off by other than explicit program action.
>
>"Turned on" and "Turned off" apparently gave way to the more precise "se
t to
>one" and "set to zero" for those so technically challenged that on/off h
ad
>lost all meaning.  Think about it; the technical writers were striving f
or
>more precision in their description than the "thing" being described
>actually provided.
>
>Does anyone have a clue what sentences 2 and 3 (substantially) mean in
>either paragraph and would anyone venture a guess as to why, after 40 ye
ars
>of architectural excellence, the reference bit can't be more than
>"substantially accurate"? My curiosity is killing me.
>
>
>--.  .-  .-.  -.--
>
>Gary Dennis
>
=
==
==


Re: Seinfeld's Contribution to the The Principles of Operation

2010-10-08 Thread Rob van der Heij
On Fri, Oct 8, 2010 at 7:33 PM, Bill Holder  wrote:

> I believe the reason for allowing some leeway has to do
> with hardware design concepts for things like pipelining,
> "reach ahead" and "out-of-order execution" - with the
> hardware in essence "speculatively" performing certain
> operations ahead of time or in parallel (to maximize
> utilization and throughput), the potential exists for the
> processor "thinking" something is going to be referenced,
> and performing reference recording on the fetch from
> storage, only to find out later that that path wasn't
> really taken.  To correct such apparent overindication of
> reference would mean tracking "de-referencing" and having
> to worry about (and serializing against) reference
> recording actions from other processors.  You could well
> ask "why not defer reference recording until the path
> decision is made?", but I would answer that doing so would
> break the pipeline and constrain the design of the
> processor / storage interface in ways that would defeat
> the whole purpose.

I would even say it's better from a paging perspective. If the code
makes a U-turn just at the end of the page and causes the CPU to
decode the next instruction already, it would be annoying if the OS
would take that 2nd page away because nobody needs it anyway...
assuming that such a case would also cause a page fault?

Just don't bring your reference bits into court as evidence... ;-)

| Rob


Re: Seinfeld's Contribution to the The Principles of Operation

2010-10-08 Thread Bill Holder
I guess I can say I "have a clue", in that I can offer my 
personal interpretation, as an operating system developer 
and designer, though I cannot claim to officially speak 
for the architects or IBM (so take this all with the 
prerequisite grain of salt):  

In my opinion, that paragraph is in the context of the 
entire Reference Recording section, and in particular, 
the very first sentence: "Reference recording provides 
information for use in selecting pages for replacement."  
Based on this, my interpretation of "substantially 
accurate" in this context is that reference recording is 
"good enough" for an operating system to use it for page 
replacement selection, that is, managing the overcommitment 
of main storage in support of larger virtual storage.  

I believe the reason for allowing some leeway has to do 
with hardware design concepts for things like pipelining, 
"reach ahead" and "out-of-order execution" - with the 
hardware in essence "speculatively" performing certain 
operations ahead of time or in parallel (to maximize 
utilization and throughput), the potential exists for the 
processor "thinking" something is going to be referenced, 
and performing reference recording on the fetch from 
storage, only to find out later that that path wasn't 
really taken.  To correct such apparent overindication of 
reference would mean tracking "de-referencing" and having 
to worry about (and serializing against) reference 
recording actions from other processors.  You could well 
ask "why not defer reference recording until the path 
decision is made?", but I would answer that doing so would 
break the pipeline and constrain the design of the 
processor / storage interface in ways that would defeat 
the whole purpose.

Again, these are only my interpretations as an operating 
system developer, I am not officially speaking for 
architecture, hardware design, or IBM as a whole.  

- Bill Holder, z/VM Development, IBM


Re: Seinfeld's Contribution to the The Principles of Operation

2010-10-08 Thread P L Lovely
In sentence two the reference is discussing how a program can either
Access records in read or write access  I think
Regards 

-Original Message-
From: The IBM z/VM Operating System [mailto:ib...@listserv.uark.edu] On
Behalf Of Gary M. Dennis
Sent: Thursday, October 07, 2010 6:44 PM
To: IBMVM@LISTSERV.UARK.EDU
Subject: Seinfeld's Contribution to the The Principles of Operation

There is only one place in z Architecture Principles of Operation where the
word substantially is used.  Even more surprising than its use is the fact
that it appears immediately before the word "accurate". My interest in the
reference bit, though passing, is sincere since I would like to hang my hat
on the validity of that indicator.  Substantially means " to a great extent
or degree".  In system z architecture, I am  unfamiliar with this level of
accuracy.

For your reference (no pun intended) the paragraph in z POPS is:

"The record provided by the reference bit is substantially accurate. The
reference bit may be set to one by fetching data or instructions that are
neither designated nor used by the program, and, under certain conditions, a
reference may be made without the reference bit being set to one. Under
certain unusual circumstances, a reference bit may be set to zero by other
than explicit program action."

Although Seinfeld had to have written the previous 67 words, it is possible
(age 21 at the time) for him to have contributed the original paragraph
from the 1975 POPS and simply updated the paragraph for System z.  The 1975
paragraph follows.

"The record of references provided by the reference bit is substantially
accurate. The reference bit may be turned on by fetching data or
instructions that are neither designated nor used by the program, and, under
certain conditions, a reference may be made without the reference bit being
turned on. Under certain unusual conditions, a reference bit that is on may
be turned off by other than explicit program action.

"Turned on" and "Turned off" apparently gave way to the more precise "set to
one" and "set to zero" for those so technically challenged that on/off had
lost all meaning.  Think about it; the technical writers were striving for
more precision in their description than the "thing" being described
actually provided.

Does anyone have a clue what sentences 2 and 3 (substantially) mean in
either paragraph and would anyone venture a guess as to why, after 40 years
of architectural excellence, the reference bit can't be more than
"substantially accurate"? My curiosity is killing me.


--.  .-  .-.  -.--

Gary Dennis


Seinfeld's Contribution to the The Principles of Operation

2010-10-07 Thread Gary M. Dennis
There is only one place in z Architecture Principles of Operation where the
word substantially is used.  Even more surprising than its use is the fact
that it appears immediately before the word "accurate". My interest in the
reference bit, though passing, is sincere since I would like to hang my hat
on the validity of that indicator.  Substantially means " to a great extent
or degree".  In system z architecture, I am  unfamiliar with this level of
accuracy.

For your reference (no pun intended) the paragraph in z POPS is:

"The record provided by the reference bit is substantially accurate. The
reference bit may be set to one by fetching data or instructions that are
neither designated nor used by the program, and, under certain conditions, a
reference may be made without the reference bit being set to one. Under
certain unusual circumstances, a reference bit may be set to zero by other
than explicit program action."

Although Seinfeld had to have written the previous 67 words, it is possible
(age 21 at the time) for him to have contributed the original paragraph
from the 1975 POPS and simply updated the paragraph for System z.  The 1975
paragraph follows.

"The record of references provided by the reference bit is substantially
accurate. The reference bit may be turned on by fetching data or
instructions that are neither designated nor used by the program, and, under
certain conditions, a reference may be made without the reference bit being
turned on. Under certain unusual conditions, a reference bit that is on may
be turned off by other than explicit program action.

"Turned on" and "Turned off" apparently gave way to the more precise "set to
one" and "set to zero" for those so technically challenged that on/off had
lost all meaning.  Think about it; the technical writers were striving for
more precision in their description than the "thing" being described
actually provided.

Does anyone have a clue what sentences 2 and 3 (substantially) mean in
either paragraph and would anyone venture a guess as to why, after 40 years
of architectural excellence, the reference bit can't be more than
"substantially accurate"? My curiosity is killing me.


--.  .-  .-.  -.--

Gary Dennis