DIV (Data in Virtual) was available about 10 years before 64-bit addressing was. DIV used storage above the line to cache data.
Bill Fairchild Programmer Rocket Software 408 Chamberlain Park Lane . Franklin, TN 37069-2526 . USA t: +1.617.614.4503 . e: bfairch...@rocketsoftware.com . w: www.rocketsoftware.com -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of David Stokes Sent: Friday, September 14, 2012 12:49 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: AW: Data spaces vs hiperspaces >>Every time new instructions and new technologies are introduced, those who >>>>wish to use that which is new have to write special instructions in their >>>>Assembler programs. Well, that's sort of obvious, but not the point. 31 bit mode was never used as cache (at least by me) because you could write and run 31 bit programs in 31 bit storage. Certainly I started to do so as soon as it was available. One could largely stop bothering about how big a program was without overlays as well as how much data could be accessed. Maybe others didn't see the possibilities and obvious rapid growth in computing that was occurring in the Eighties so clearly? And with a few provisos any 24 bit program could run more or less unchanged as 31 bit assuming it had been cleanly written (e.g., not using the high order bytes of addresses as data, a practice maybe even IBM should have avoided much earlier given the already obvious rapid growth of computing when OS/360 was developed). For 64 bit however a whole range of new instructions is needed, and not really because of the code which is essentially still running 31 bit but in order to use 64 bit data. And the main poin! t there is of course that 64 bit storage can only hold data (essentially, in current z/OS). So now you can load lots more data into main storage rather than keeping it on external storage. Seems like a cache to me. Maybe that will change some time. -----Ursprüngliche Nachricht----- Von: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] Im Auftrag von Bill Fairchild Gesendet: Freitag, 14. September 2012 17:17 An: ASSEMBLER-LIST@LISTSERV.UGA.EDU Betreff: Re: Data spaces vs hiperspaces When 31-bit addressing became available, that vast, new OCEAN of storage above the line was available to be used as a cache. First Assembler programs that used floating point instructions had to be specially written. Then those that used 31-bit addressing had to be specially written. Then special writing was necessary for using data spaces, serializing on a full- or double-word on multi-processors, using the coupling facility, DIV, running in a cross-memory mode, etc. Every time new instructions and new technologies are introduced, those who wish to use that which is new have to write special instructions in their Assembler programs. Bill Fairchild Programmer Rocket Software 408 Chamberlain Park Lane * Franklin, TN 37069-2526 * USA t: +1.617.614.4503 * e: bfairch...@rocketsoftware.com * w: www.rocketsoftware.com -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Tom Marchant Sent: Friday, September 14, 2012 8:24 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Data spaces vs hiperspaces On Thu, 13 Sep 2012 18:10:01 +0000, David Stokes wrote: >In z/OS 64 bit storage is just a sort of data cache really. No, it isn't, but it can be used that way. >Programs that use it have to be specially written, Of course they do. That's because new instructions must be used to manipulate the registers required to address the data. It was designed that way for compatibility with old code. >it's not a (more or less) transparent thing like in Windows (just >recompile with the 64 bit option!) Is that true of assembler programs in Windows? If your programs are in C/C++, you can do that in z/Architecture too. -- Tom Marchant