The following message is a courtesy copy of an article
that has been posted to bit.listserv.ibm-main,alt.folklore.computers as well.


[EMAIL PROTECTED] (Jim Mulder) writes:
> "Military secrets are the most fleeting of all." -- 
>    Spock, The Enterprise Incident, stardate 5027.4, Episode 59 
>
>   The second most fleeting might be the marketing advantage
> provided by microcode assists.  What one vendor can do in
> microcode, another usually can replicate in short order.  So
> any such advantage from these assists would have run its course
> a few decades ago. 
>
>   On horizontally microcoded machines, it was possible 
> to obtain a performance benefit in some cases by providing
> microcode which could implement a frequently used code sequence 
> faster by using some hardware parallelism that was not available
> to the general instruction set.  That is not the case on IBM processors
> of the past decade, and in fact using the lock assists had become
> slower than not using them. 

there were some comments at the time that the mvs/se microcode assists
were part of the motivation for amdahl's macrocode ...  allowing them to
track various fluctuations in hardware architecture (much simpler than
it took to do the original by using a slight variation on 370 assembler)
... w/o having to resort to the difficulty and complexity of low-level
horizontal microcoding. this then contributed to amdahl being able to
relatively easily implement hypervisor support ... much easier than it
took to create pr/sm response on the 3090.

the "original" (vm/370) microcode assists were in two forms ...  those
things that implement the "virtual machine" rules for execution of
supervisor instructions ... avoiding the interrupt and context switch
overhead interrupting into the vm370 supervisor. 

the other big benefit was on the "vertical" microcode machines
... initially 138/148 ... where there as an avg. of 10 microcode
instructions executed for every 370 instruction ... and vm370 kernel
pathlengths was dropped into microcode on nearly a 1-for-1 instruction
basis (obtaining a 10:1 performance improvement). old post on selecting
the parts of vm370 kernel that were moved into the kernel (criteria was
that 148 had 6k bytes of available microcode space ... so the objective
was to select the highest used 6k bytes of vm370 kernel instructions):
http://www.garlic.com/~lynn/94.html#21 370 ECPS VM microcode assit

the issue with the high-end horizontal microcode machines was that
various optimizations by the time of 3033 achieved nearly 1:1 parity
between horizontal microcode and 370 instructions (370 instruction
execution had gotten so efficient that there was nearly no difference
between implementing the function in 370 instructions vis-a-vis
implementing in microcode) ... aka for the "ECPS" class of things done
originally for virgil/tully (138/148) would see no difference on 3033
(and later horizontal microcode) machines. that mostly left doing things
in microcode/(macrocode) that could avoid overhead if implemented in
straight machine instructions (like adding "virtual machine rules" to
the execution of supervisor state instruction execution) ... aka things
like hypervisor and pr/sm.

misc. past posts mentioning macrocode:
http://www.garlic.com/~lynn/2002p.html#44 Linux paging
http://www.garlic.com/~lynn/2002p.html#48 Linux paging
http://www.garlic.com/~lynn/2003.html#9 Mainframe System 
Programmer/Administrator market demand?
http://www.garlic.com/~lynn/2003.html#56 Wild hardware idea
http://www.garlic.com/~lynn/2005d.html#59 Misuse of word "microcode"
http://www.garlic.com/~lynn/2005d.html#60 Misuse of word "microcode"
http://www.garlic.com/~lynn/2005h.html#24 Description of a new old-fashioned 
programming language
http://www.garlic.com/~lynn/2005p.html#14 Multicores
http://www.garlic.com/~lynn/2005p.html#29 Documentation for the New 
Instructions for the z9 Processor
http://www.garlic.com/~lynn/2005u.html#40 POWER6 on zSeries?
http://www.garlic.com/~lynn/2005u.html#43 POWER6 on zSeries?
http://www.garlic.com/~lynn/2005u.html#48 POWER6 on zSeries?
http://www.garlic.com/~lynn/2006b.html#38 blast from the past ... macrocode
http://www.garlic.com/~lynn/2006c.html#7 IBM 610 workstation computer
http://www.garlic.com/~lynn/2006c.html#9 Mainframe Jobs Going Away
http://www.garlic.com/~lynn/2006c.html#24 Harvard Vs  Von Neumann architecture
http://www.garlic.com/~lynn/2006c.html#40 IBM 610 workstation computer
http://www.garlic.com/~lynn/2006e.html#15 About TLB in lower-level caches
http://www.garlic.com/~lynn/2006h.html#30 The Pankian Metaphor
http://www.garlic.com/~lynn/2006j.html#32 Code density and performance?
http://www.garlic.com/~lynn/2006j.html#35 Code density and performance?
http://www.garlic.com/~lynn/2006m.html#39 Using different storage key's
http://www.garlic.com/~lynn/2006p.html#42 old hypervisor email
http://www.garlic.com/~lynn/2006t.html#14 32 or even 64 registers for x86-64?
http://www.garlic.com/~lynn/2006u.html#33 Assembler question
http://www.garlic.com/~lynn/2006u.html#34 Assembler question
http://www.garlic.com/~lynn/2006v.html#20 Ranking of non-IBM mainframe builders?
http://www.garlic.com/~lynn/2007b.html#1 How many 36-bit Unix ports in the old 
days?
http://www.garlic.com/~lynn/2007d.html#3 Has anyone ever used self-modifying 
microcode? Would it even be useful?
http://www.garlic.com/~lynn/2007d.html#9 Has anyone ever used self-modifying 
microcode? Would it even be useful?
http://www.garlic.com/~lynn/2007j.html#84 VLIW pre-history
http://www.garlic.com/~lynn/2007k.html#74 Non-Standard Mainframe Language?
http://www.garlic.com/~lynn/2007n.html#96 some questions about System z PR/SM
http://www.garlic.com/~lynn/2007o.html#42 mainframe performance, was Is a RISC 
chip more expensive?
http://www.garlic.com/~lynn/2008c.html#32 New Opcodes
http://www.garlic.com/~lynn/2008c.html#33 New Opcodes
http://www.garlic.com/~lynn/2008c.html#42 New Opcodes
http://www.garlic.com/~lynn/2008c.html#80 Random thoughts

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

Reply via email to