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: 0000 0000 0001 0001 0010 0010 0011 0011 0100 0100 0101 0101 0110 0110 0111 0111 RFX = B'0000 0000 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

