Raymond Noal wrote:
Dear List:
An IBM 4361 Model Group 5 had the ECPS feature -
Extended Control Program Support (ECPS) -- offers VSE mode, VM/370 mode, and
MVS/370 mode. These modes provide microcode assists that make the system control
programs operate more efficiently.
ECPS was originally done for virgil/tully (370 138/148). basically portions
of kernel/nucleus pathlengths were implemented in microcode. a "new"
instruction was defined each of these (moved) pathlength snippets ... and
placed "in front" of the corresponding kernel instructions. The parameter
list for the "new instruction" included address(es) of where the microcode
was to resume in the standard code.
here is old post that details what portions of the vm370 kernel were identified
for movement into microcode
http://www.garlic.com/~lynn/94.html#21 370 ECPS VM microcode assist
the issue was that low-end and mid-range 370 machines were vertical microcode
to implement 370 instruction set ... and there was typically an avg ratio of
10:1 (microcode instructions to 370 instructions) ... this avg. ratio has
also been found by some of the more recent 370 emulators on i86 platforms.
For virgil/tully we were given that there was approx. 6k of microcode
instruction
space available ... and typical kernel instruction would translate approx.
1:1 into microcode (6k bytes of kernel 370 instructions translates into approx.
6k bytes of microcode). So the identification activity was to identity
the 6k bytes of vm370 kernel code that were the highest used pathlengths.
There was also an ipl/boot sequence that identified whether it was running
on an ECPS machine ... and if not, it had a table of all ECPS instruction
in the kernel which it would overlay with no-ops (allowing the same kernel
to execute on both ECPS machines and non-ECPS machines).
Note, for vm370, vm microcode assist (VMA) had previously been implemented
on 370/158. This were specific, high-use, supervisor state instructions
that normally interrupted into the vm370 kernel for simulation. A new "mode"
was defined for the machine which was "virtual machine" supervisor state ...
and the machine microcode was changed to directly execute the supervisor
state instruction using "virtual machine" rules ... w/o having to interrupt
into the vm370 kernel. As part of the virgil/tully ECPS effort, there
was also implementation of the VMA supervisor instructions, as well as
additional supervisor state instructions not in the original VMA implementation.
Later there was an ECPS-like effort done for the 3033 for MVS. There were
some difference between the 3033 MVS changes and the virgil/tully vm370
implementation.
* the new MVS would only run on machines with the MVS microcode enhancement
and wouldn't run on machines w/o the feature
* 3033 was a horizontal microcode machine where the ratio of microcode
instructions to 370 instructions was nearly 1:1 ... aka there was little
or no performance difference between the 370 instruction implementation
and the microcode implementation (this characteristic continued on
later high-end machines)
later, in the 4331/4341 time-frame ... there was some effort to
retrofit the mvs ecps change to 4341s ... allowing latest release
of mvs to operate on 4341 machines. there was lots of contention over
the value of doing this since 4341 was barely powerful enough to
support any kind of mvs thruput .... and 4331 was quite a bit
below that threshold (so i can't be positive, but i'm pretty sure
that the mvs ecps feature was ever retrofitted to 4331 ... although
it was eventually made available on 4341).
somewhat 4361 topic drift .... the 3081 had a service processor
which ran off a 3310 fba disk. part of the issue was that field
service had a requirement that it could perform bootstrap field
diagnostics starting with a scope. this was no longer possible
for the 3081 ... so a service processor was added that had the
capability of diagnosing 3081 hardware ... and it was possible
for field service to do diagnostic field bootstrap starting with
scope on the service processor.
the service processor function was getting more and more complex,
and so it was decided that for 3090, it would use a 4331 running
a highly customized version of vm370 release 6 ... and all service
processor menu screens implemented in cms ios3270. before
3090 first customer ship, the service processor was upgraded
to a pair of 4361s (running vm370 and cms with menu screens
implemented in cms ios3270). having a pair of redundant 4361s
eliminated the requirement for field service to bootstrap
diagnose 4361s ... since they could just switch to the other
4361 machine for diagnosing the 3090 (if there was 4361 failure).
misc. past posts mentioning service processor operation
http://www.garlic.com/~lynn/96.html#41 IBM 4361 CPU technology
http://www.garlic.com/~lynn/99.html#61 Living legends
http://www.garlic.com/~lynn/99.html#62 Living legends
http://www.garlic.com/~lynn/99.html#108 IBM 9020 computers used by FAA (was Re:
EPO stories (was: HELP IT'S HOT!!!!!))
http://www.garlic.com/~lynn/2000b.html#50 VM (not VMS or Virtual Machine, the
IBM sort)
http://www.garlic.com/~lynn/2000b.html#51 VM (not VMS or Virtual Machine, the
IBM sort)
http://www.garlic.com/~lynn/2000c.html#76 Is a VAX a mainframe?
http://www.garlic.com/~lynn/2000d.html#26 Superduper computers--why RISC not
390?
http://www.garlic.com/~lynn/2001b.html#83 Z/90, S/390, 370/ESA (slightly off
topic)
http://www.garlic.com/~lynn/2001h.html#2 Alpha: an invitation to communicate
http://www.garlic.com/~lynn/2001j.html#13 Parity - why even or odd (was Re:
Load Locked (was: IA64 running out of steam))
http://www.garlic.com/~lynn/2002.html#45 VM and/or Linux under OS/390?????
http://www.garlic.com/~lynn/2002b.html#32 First DESKTOP Unix Box?
http://www.garlic.com/~lynn/2002b.html#44 PDP-10 Archive migration plan
http://www.garlic.com/~lynn/2002c.html#42 Beginning of the end for SNA?
http://www.garlic.com/~lynn/2002e.html#5 What goes into a 3090?
http://www.garlic.com/~lynn/2002e.html#19 What goes into a 3090?
http://www.garlic.com/~lynn/2002i.html#79 Fw: HONE was .. Hercules and
System/390 - do we need it?
http://www.garlic.com/~lynn/2002j.html#28 ibm history note from vmshare
http://www.garlic.com/~lynn/2002l.html#7 What is microcode?
http://www.garlic.com/~lynn/2002l.html#10 What is microcode?
http://www.garlic.com/~lynn/2002n.html#58 IBM S/370-168, 195, and 3033
http://www.garlic.com/~lynn/2002n.html#59 IBM S/370-168, 195, and 3033
http://www.garlic.com/~lynn/2002p.html#40 Linux paging
http://www.garlic.com/~lynn/2002q.html#53 MVS History
http://www.garlic.com/~lynn/2003e.html#65 801 (was Re: Reviving Multics
http://www.garlic.com/~lynn/2003l.html#12 Why are there few viruses for
UNIX/Linux systems?
http://www.garlic.com/~lynn/2003l.html#62 IBM Manuals from the 1940's and 1950's
http://www.garlic.com/~lynn/2003n.html#17 which CPU for educational purposes?
http://www.garlic.com/~lynn/2004.html#10 Dyadic
http://www.garlic.com/~lynn/2004.html#11 Dyadic
http://www.garlic.com/~lynn/2004j.html#45 A quote from Crypto-Gram
http://www.garlic.com/~lynn/2004k.html#37 Wars against bad things
http://www.garlic.com/~lynn/2004n.html#10 RISCs too close to hardware?
http://www.garlic.com/~lynn/2004p.html#27 IBM 3705 and UC.5
http://www.garlic.com/~lynn/2004p.html#36 IBM 3614 and 3624 ATM's
http://www.garlic.com/~lynn/2004p.html#37 IBM 3614 and 3624 ATM's
http://www.garlic.com/~lynn/2004p.html#41 IBM 3614 and 3624 ATM's
http://www.garlic.com/~lynn/2005b.html#51 History of performance counters
http://www.garlic.com/~lynn/2005h.html#13 Today's mainframe--anything to new?
http://www.garlic.com/~lynn/2005p.html#29 Documentation for the New
Instructions for the z9 Processor
http://www.garlic.com/~lynn/2005t.html#39 FULIST
http://www.garlic.com/~lynn/2006.html#0 EREP , sense ... manual
http://www.garlic.com/~lynn/2006b.html#2 Mount a tape
http://www.garlic.com/~lynn/2006n.html#6 Not Your Dad's Mainframe: Little Iron
http://www.garlic.com/~lynn/2006n.html#8 Not Your Dad's Mainframe: Little Iron
http://www.garlic.com/~lynn/2006r.html#27 A Day For Surprises (Astounding
Itanium Tricks)
http://www.garlic.com/~lynn/2006x.html#24 IBM sues maker of Intel-based
Mainframe clones
http://www.garlic.com/~lynn/2007.html#18 IBM sues maker of Intel-based
Mainframe clones
http://www.garlic.com/~lynn/2007.html#24 How to write a full-screen Rexx
debugger?
http://www.garlic.com/~lynn/2007.html#39 Just another example of mainframe costs
http://www.garlic.com/~lynn/2007b.html#1 How many 36-bit Unix ports in the old
days?
http://www.garlic.com/~lynn/2007b.html#15 How many 36-bit Unix ports in the old
days?
http://www.garlic.com/~lynn/2007b.html#30 How many 36-bit Unix ports in the old
days?
http://www.garlic.com/~lynn/2007c.html#16 How many 36-bit Unix ports in the old
days?
http://www.garlic.com/~lynn/2007d.html#1 Has anyone ever used self-modifying
microcode? Would it even be useful?
http://www.garlic.com/~lynn/2007d.html#22 How many 36-bit Unix ports in the old
days?
http://www.garlic.com/~lynn/2007d.html#23 How many 36-bit Unix ports in the old
days?
http://www.garlic.com/~lynn/2007e.html#39 FBA rant
http://www.garlic.com/~lynn/2007e.html#43 FBA rant
http://www.garlic.com/~lynn/2007i.html#20 Does anyone know of a documented case
of VM being penetrated by hackers?
----------------------------------------------------------------------
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