🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #22321

Re: New instructions for RISCs (was Re: Byte ordering)

#22321
From: David Heisterberg
Date: Sat, 10 Feb 1990 17:44
38 lines
2271 bytes
In article <79N15F5xds13@ficc.uu.net>, peter@ficc.uu.net (Peter da Silva) writes:
> In article <168@zds-ux.UUCP> gerry@zds-ux.UUCP (Gerry Gleason) writes:
> > In article <7345@pdn.paradyne.com> alan@oz.paradyne.com (Alan Lovejoy) writes:
> > >Of course, it would be nice if there were a single machine instruction that
> > >could achieve the effect of "(srcWord & mask) | (destWord & ~mask)," where
> > >"mask" is either a field of 1 bits followed by a field of zero bits, or else
> > >vice versa.
> 
> To really make this useful you need a "load word bit-aligned" operator, or
> you're still going to be dominated by masking and shifting to get the source
> word into memory in the first place. It'd also satisfy the people who want
> wimpy stuff like byte-aligned reads.
> 
> > This might be a candidate instruction for future RISC designs.  Unfortunately
> > it has the difficulty of being a three operand instruction,
> 
> Why is that a difficulty? Three-operand instructions are common in RISCs.
> -- 
Note that this is a three *source* operand instruction.  As I understand it,
one of the principles behind 3 operand instructions is idempotency.  CRAY
systems implement this instruction, the scalar merge, and have to sacrifice
idempotency in this case by overwriting one of the source operands.  The
usual syntax is:

	Si	Sj!Si&Sk

That is, register Si is replaced by ((Si & Sk) | (Sj & ~Sk)).  Most other
CRAY scalar instructions are of the form:

	Si	Sj op Sk

I don't understand your comment about needing a "load word bit-aligned"
operator; CRAYs certainly don't have such a thing, and are not byte adressable,
yet the scalar merge is a useful instruction.

David J. Heisterberg			djh@osc.edu
The Ohio Supercomputer Center		djh@ohstpy.binet
Columbus, Ohio				ohstpy::djh
Technical Details
Message-ID: <139@oscsunb.osc.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!oscsunb!djh
References: <7345@pdn.paradyne.com> <168@zds-ux.UUCP> <79N15F5xds13@ficc.uu.net>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!oscsunb!djh
From: djh@osc.edu (David Heisterberg)
Newsgroups: comp.arch
Subject: Re: New instructions for RISCs (was Re: Byte ordering)
Keywords: bitblt
Message-ID: <139@oscsunb.osc.edu>
Date: 10 Feb 90 17:44:59 GMT
References: <7345@pdn.paradyne.com> <168@zds-ux.UUCP> <79N15F5xds13@ficc.uu.net>
Organization: Ohio Supercomputer Center, Columbus, OH, USA
Lines: 38