[comp.sys.ibm.pc] Intel vs. 370 Architecture

pgc+@andrew.cmu.edu (Paul G. Crumley) (08/06/87)

Hello,

Normally I don't respond to these types of flames but this time I will make
an exceptiom lest someone get the wrong idea about 370s. 

If you see similarities between the 370 and the 80X8X architectures (it
almost makes me ill to associate the terms architecture and 80X8X!) your
knowledge about these systems IS very limited.

Though the 370 is not considered to be the BEST architecture by many people,
it is very versatile.  For an architecture that is over 20 years old, I think
it has aged very gracefully.

Just to give you the flavor of the 370 architecture here are some of its
components:

16 General Purpose Registers -- Having written lots of assembly language for
these beasts I can tell you there are plenty of registers to use.  I don't
think that humans could really deal with more in a consistently good manner
though I realize today's optimizing compilers might be able to use more
registers.  BTW, these are not divided into two sets of eight, one set data,
one set address, like the 680X0 thus allowing you or the compiler to use them
as use see fit.

Rich set of Data Types --  The 370 operates on 16, 32 and for some
instructions (Mult, Div) 64 bit quantities numbers, Zoned Decimal Numbers
(ASCII & EBCIDIC), Packed Decimal Numbers (BCD), Characters, and Floating
Point Numbers.  Bit strings are about all that is missing from this
architecture. 

Useful Addressing Modes -- About the only modes missing are the
Auto-IN/DEcrement addressing modes.

Large, Flat Address Space -- Early models had 16M bytes of flat space, newer
models have 2^31 (I think this is right) bytes.

Orthogonal Instruction Set -- This machine doesn't do silly things like mess
up the EOR addressing modes.

"Robust"ness -- This machine has everything needed to implement Virtual
Machines, restart instructions after internal processor errors, handle
virtual memory, .....  These are REAL machines that can recover from errors
and keep going.  

Well Defined I/O Channels -- There are standard, high-speed ways to attach
devices to these machines.

True Compatibility between Models -- There aren't ANY user-level instructions
that behave differently on different models.  This is one of the reasons that
these machines have spread around the world, especially in business
environments.  You really CAN run the same program on a 370, 43XX, 308X, etc,
without even recompiling!

Opinion:

The 370 is a versatile and robust architecture that has proven itself over
time.  Though some architectures do have additional features such as more
addressing modes, more data types, language specific instructions, etc., the
370 has shown its ability to efficiently run programs in as varied languages
as FORTRAN, C, Lisp, COBOL, PL/I, and APL.  I believe this shows what a good
job the original designers of the 370 did in including the important features
and shying away from the exotic (though the EDIT UNDER MASK and EXECUTE
instructions are pretty exotic).  I have seen benchmarks of the 370's
performance with the use of some of the new optimizing compilers (such as
those used with RISC) and it is impressive what these machines can do.  

In short, any comparison of the 370 and the 80X8X is probalbly lacking in the
similarities column and well populated in the differences column.

If you would like more information please do not hesitate to contact me.


Best Regards,

Paul G. Crumley
Hardware System Designer
CMU/ITC