apoorva.kanm...@gmail.com (SUBSCRIBE IBM-MAIN Anonymous) writes:
> I have a question on PC instruction for which I have been looking for
> an answer for quite sometime now. According to "Priciples of
> operations" manual, execution of an SVC instruction causes a new PSW
> to be loaded from x'1C0' (SVC FLIH), and program interruption causes a
> new PSW loaded from x'1D0' (Program Interruption FLIH). Now my
> question is what happens when a "PC" instruction is executed. Does a
> new PSW gets loaded from a pre-determined location (like SVC/program
> interrruption) or it's all handled through some micro code?

The problem started with move from OS/VS2 SVS (and single address space)
to OS/VS2 MVS and multiple address spaces (each application) ... however
OS/360 heritage was heavily pointer passing APIs ... as a result an
8mbyte image of the MVS kernel had to appear in every application
16mbyte virtual address space ... so that kernel could access storage
pointed to be the past pointers. the issue was then all the subsystems
were put in each of their own address spaces and when application passed
pointer to subsystem ... the subsystem was running in different address
space than the address space that the parameter pointed to (by the
passed pointer).

The solution was the common segment area, a one megabyte area in every
application 16mbyte address space ... where applications could obtain
parameter space so the pointer to the parameter list passed to subsystem
was identical address in both the application and the subsystem.
However, the requirement for common segment area space was somewhat
proportional to number of concurrent applications and number of
subsystems ... which quickl exceeded one (mbyte) segement ...  and the
common segment area (CSA) morphed into the common system area (CSA).  As
systems continued to grow, the CSA requirement got larger and larger,
4mbytes (kernel+csa is 12mbytes, leaving only 4mbytes for applications,
then 6mbytes in 3033 time-frame (kernel+csa 14mbytes, leaving only
2mbytes for applications) and threatening to become 8mbytes ... leaving
zero bytes for applications.

in the wake of the FS faulure (FS was going to be completely different
than 370, and 370 efforts were being shutdown during FS period, also
lack of 370 offerings during FS period is credited with giving clone
mainframe vendors market foothold), there was mad rush to get stuff back
into 370 product pipeline ... 303x and 3081 Q&D efforts were kicked off
in parallel. 3081 included 370/xa, 31bit addressing and "access
registers" (subsystems had their own virtual address space, but could
use "access registers" to access "parameter" storage in application
address space). All this was known informally as "811" for the Nov1978
publication date of the architecture specification documents.

In part because of the increasing threat of CSA increasing to 8mbytes
for larger 3033 customers, a subset of "access registers" was
retrofitted to 3033 as "dual-address space" mode ... subsystems could
have their own address space, but also a 2nd address space to access
calling application parameters directly ... w/o needing CSA space.

In 370 (3033) dual-address space mode ... there still wasn't program
call, but a supervisor call which in software would move the application
space address space to secondary and then load the subsystem address
space and enter the called subsystem. In 370/xa and "access register"
program call had a system defined table with all the necessary
information to do that function directly as part of the program call
instruction (whether implemented in hardware, microcode, picocode and/or
some combination)

Z/archiecture principles of opration references system defined ETEs
(entry-table entrys) for program call instruction which includes a
number options, including switching address spaces or not switching
address spaces, changing instruction address, etc.

"Interrupts" save the current PSW and load a new (static) PSW.

Each Program Call ETE has controls for PSW fields that are saved and how
much of new fields (unique to each ETE) are loaded ... as well as any
address space games that might be played ... and various other rules
(description goes on for more than dozen pages).

-- 
virtualization experience starting Jan1968, online at home since Mar1970

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