Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!pyramid!voder!apple!baum
From: baum@apple.UUCP (Allen J. Baum)
Newsgroups: comp.arch
Subject: Re: Brain-Clogging Decimal (Was: Re: Wirth's challenge (Was Re: RISC))
Message-ID: <6958@apple.UUCP>
Date: 10 Dec 87 02:14:23 GMT
References: <6901@apple.UUCP> <15782@watmath.waterloo.edu>
Reply-To: baum@apple.UUCP (Allen Baum)
Organization: Apple Computer, Inc.
Lines: 33

--------
[]
>In article <15782@watmath.waterloo.edu> ccplumb@watmath.waterloo.edu (Colin Plumb) writes:

>This got me thinking (with apologies for ever uttering anything faintly
>resembling praise for IBM), that the 360/370/whatever architecture isn't
>all that bad.  (Perhaps you can tell me via mail what the problems are.
>I'm interested, but it would probably be ancient headgear to others.)
>
>With the exception, of course, of all the packed decimal divide stuff.

The idea of an architecture, to the extent that IBM did it in the 360/370 is
amazing. You can build compatible systems just by looking at the P.O.O.
No one else does it as well. All the creepy little corner cases are there.

The actual architecture is none too good. For example, no prohibition about
writing into the instruction stream, which gives cache designers headaches.
The Test-under-Mask should be a simple Test-Bit, or even TestBit&Branch.
Branches should be PC relative! Base+Index+Displacement is not necessary &
an utter pain. You can dissect the instruction set to death and find much
problems.

The HP precision has some minimal support for decimal operations: Decimal
Correct and Intermediate Decimal Correct. A decimal add would be something
like: (assume packed, unsigned RegA+regB->RegC)
     Add RegA+0x66666666 -> temp ;optionally trap if any digit carry-- this
                                 ;checks for illegal decimal ops
     Add RegB+temp       -> RegC ;save digit carries
     DCor RegC           -> RegC ;subtracts 6 every there was no digit carry

The intermediate decimal correct is similar; it combines the DCor with the
add of 0x66666666.

--
{decwrl,hplabs,ihnp4}!nsc!apple!baum		(408)973-3385