Re: Retry: Bits in Region-Table Entries

2008-01-29 Thread Josef 'Jeff' Sipek
On Tue, Jan 29, 2008 at 04:28:51PM +0100, Maarten Slegtenhorst wrote:
> Jeff,
> 
> Thanks for the clarification. 
> 
> > There are also bits 62-63 (Table Length). E.g., you could use TF=0, 
> > and TL=1 to have entries at the begining of the next level table, 
> > but not use the entire table.
> 
> Ofcourse! I misunderstood the TL-bits!
> So, basically, the combination of TF- and TL-bits determines which of
> the 4 quarters of the next level table are available.
> 
> The ASCE has no TF-bits, so the Region-First-Table always starts at the
> Region-Table origin.

Yeah, that's what happens when I am too lazy and don't check the docs :)

While writing the previous email (which happens to be my first IBM-MAIN post
:) ), I realized that I actually have a bug in my pet project's code that
sets up the translation tables...so...thanks! :)

Josef 'Jeff' Sipek.

-- 
A computer without Microsoft is like chocolate cake without mustard.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Retry: Bits in Region-Table Entries

2008-01-29 Thread Maarten Slegtenhorst
Jeff,

Thanks for the clarification. 

> There are also bits 62-63 (Table Length). E.g., you could use TF=0, 
> and TL=1 to have entries at the begining of the next level table, 
> but not use the entire table.

Ofcourse! I misunderstood the TL-bits!
So, basically, the combination of TF- and TL-bits determines which of
the 4 quarters of the next level table are available.

The ASCE has no TF-bits, so the Region-First-Table always starts at the
Region-Table origin.


-- 
Maarten Slegtenhorst

-
ATTENTION:
The information in this electronic mail message is private and
confidential, and only intended for the addressee. Should you
receive this message by mistake, you are hereby notified that
any disclosure, reproduction, distribution or use of this
message is strictly prohibited. Please inform the sender by
reply transmission and delete the message without copying or
opening it.

Messages and attachments are scanned for all viruses known.
If this message contains password-protected attachments, the
files have NOT been scanned for viruses by the ING mail domain.
Always scan attachments before opening them.
-

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Retry: Bits in Region-Table Entries

2008-01-29 Thread Josef 'Jeff' Sipek
First of all, I'm no expert and the following is my wild interpretation of
the Principles of Operation, so if I'm wrong feel free to correct me :)

On Tue, Jan 29, 2008 at 01:40:25PM +0100, Maarten Slegtenhorst wrote:
... 
> The first part of the address ( RFX, 11 bits ) is the index in the
> Region-First-Table of the entry that points to the beginning of the
> Region-Second-Table.
> So far so good! Everything crystal clear.
> 
> Now the entry in Region-First-Table itself.
> Bits 0 - 51 plus 12 zeros is the address of the associated 
> Region-Second-Table. Ok 
> Bits 52 - 55 are not used in region tables. Ok 
> Bits 56 - 57 : 0-3 * 4096 bytes is the length of the unused first part of the 
> Region-Second-Table:
> 
>- So Region tables are filled back to front in blocks of 4096 bytes ( 512 
> entries )?

There are also bits 62-63 (Table Length). E.g., you could use TF=0, and TL=1
to have entries at the begining of the next level table, but not use the
entire table.

Either way, from what I can tell, the only thing that decides what part of
the next-level-table gets filled in is the R.X, SX.

In your example of 5 RS tables...suppose that you want the address
X'0011223344556677' to be valid; that means that...

That's same as:

  0001 0001 0010 0010 0011 0011 0100 0100 0101 0101 0110 0110 0111 0111

RFX = B'  000'  = X'0'
RSX = B'1 0001 0010 00' = X'448'
RTX = B'10 0011 0011 0' = X'466'
SX  = B'100 0100 0101'  = X'445'
PX  = B'0101 0110'  = X'56'
BX  = B'0110 0111 0111' = X'677'

That means that in your region-first table, you have to have an entry at
offset 0 (I'm assuming that you want the ASCE to point to the region-first
table). This entry will point to the region-second table, where you have to
have an entry for X'448' (at byte offset 8768). This entry will point to the
region-third table where an entry must be for X'466'...and so for the
segment and page tables.

Here's my guess as to what the TF and TL fields are useful for...suppose
that your 5 region-second tables are near each other in the region-first
table, and the remainder of it is empty/invalid. Setting the TF and TL
fields in the ASCE to say "only this range of region-first entries should be
considered valid" could make translation of the address a bit quicker (less
storage references necessary - you'd know not to even try to check the
region-first table if the ASCE indicates that the RFX would fall outside of
the valid range).

> Am I correct that the maximum needed storage for all the 
> tables is ~32 Petabyte?:
> --
...
> 2048^4 Page Tables
>   2048^4 * 256 entries of 8 bytes = 36.028.797.018.963.968 bytes

Addresses are 64 bits, since each page is 4KB (BX is 12 bits), there are
2^(64-12) pages in such a system. Each will need an entry of 8 bytes...

8 bytes * 2^(64-12) = 36.028.797.018.963.968 bytes

Yup, you're right.

Josef 'Jeff' Sipek.

-- 
Real Programmers consider "what you see is what you get" to be just as bad a
concept in Text Editors as it is in women. No, the Real Programmer wants a
"you asked for it, you got it" text editor -- complicated, cryptic,
powerful, unforgiving, dangerous.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html