Article View: comp.arch
Article #1539Re: What is a Mainframe?
From: Mark Nelson
Date: Sun, 16 Jul 1989 19:02
Date: Sun, 16 Jul 1989 19:02
42 lines
2499 bytes
2499 bytes
In article <164@bms-at.UUCP> stuart@bms-at.UUCP (Stuart Gathman) writes:
>
>What you need is figures for a 3090, but there're hard to come by
>since most mainframes run dinosaur OS's that have never heard of
>a source archive. (Programmers tend not to use macros with their
>assembler, let alone a high level language.)
>
The Cray Operating System (COS) is written entirely in assembler.
Since it is essentially a RISC machine (modulo the vector instructions,
depending on your personal definition of RISC), and it has 64 bit words,
macros are used very heavily, especially for packing and unpacking bit
fields in tables.
Cray assembler is written very differently from any other assembler
I've used (6502, 8080, Z-80, 8086, PDP-10, PDP-11, 68000, Cyber 205).
Instead of giving instructions (or families of instructions) names
like MOV or ADD, the instructions are written symbolically, e.g.:
A1 A2+A3 Integer add of Address registers 2 and 3
(24 bit), storing result in A register 1
S7 100,A1 Memory load from word (100 + contents of
A1) to Scalar register 7 (64 bit)
S1 S3*FS7 Floating point multiply of S3 times S7,
result in S1
Because of this unusual way of writing instructions, Cray assembler
has what are called "Opdefs", which are essentially macros recognized
by syntax rather than by name. For example, the Cray has no divide
instruction. But by properly defining an Opdef, it would be possible
to write
S5 S2/FS4
which would expand into the four instruction sequence required to
do the divide.
Of course, I'm speaking for myself, not speaking for Cray Research
officially.
Mark Nelson ...!rutgers!udel!nelson or nelson@udel.edu
This function is occasionally useful as an argument to other functions
that require functions as arguments. -- Guy Steele
Technical Details
Message-ID:
<19834@louie.udel.EDU>Path:
arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!bbn!gatech!udel!nelsonReferences:
<125@ssp1.idca.tds.philips.nl> <20752@winchester.mips.COM> <27637@lll-winken.LLNL.GOV> <164@bms-at.UUCP> <1604@gazette.bcm.tmc.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!bbn!gatech!udel!nelson From: nelson@udel.EDU (Mark Nelson) Newsgroups: comp.arch Subject: Re: What is a Mainframe? Message-ID: <19834@louie.udel.EDU> Date: 16 Jul 89 19:02:03 GMT References: <125@ssp1.idca.tds.philips.nl> <20752@winchester.mips.COM> <27637@lll-winken.LLNL.GOV> <164@bms-at.UUCP> <1604@gazette.bcm.tmc.edu> Sender: usenet@udel.EDU Reply-To: nelson@udel.EDU (Mark Nelson) Organization: University of Delaware and Cray Research Lines: 42