🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #3430

Parity checking ALU's

#3430
From: Mark G. Johnson
Date: Thu, 18 Jan 1990 14:39
34 lines
2317 bytes
In article <48540@sgi.sgi.com> rpw3@rigden.UUCP (Robert P. Warnock) writes:
   >
   > ... [gives an example of a PDP-10 CPU failure]
   >
   >ALU parity adds some confidence, but not certainty. And no help in
   >this case.

I'll go farther and get flamed warmer:  ALU PARITY IS A RED HERRING: since
the ALU is typically less than 20% of the hardware of a CPU, parity-izing
it (and nothing else) has near negligible effect on overall system reliability.

Why don't people add parity to the program counter; it's an adder just like
the ALU.  How about the register scoreboard hardware: it's *more* gates than
an adder.  One doesn't often hear of parity on the floating-point execution
units: why is that?  Or the branch target cache/buffer: it consumes more area 
on single-chip CPU's than does the ALU.  Why not parity on the TLB?  Or, worst
of all, why not put parity on the logic that detects an interrupt/exception?

I'll propose an answer: those who put parity on the ALU do so *because it's
easy*.  It's hard to put parity on a TLB; consider the '386's 4-way set
associative TLB and think about the elegance (and on-chip bussing delights)
of hanging parity on that.  Interrupt logic: forget it.

Summary and lightning rod: Internal logic of CPU's is incredibly difficult
to compute parity on, except for a couple special cases (ALU, registers).
Putting parity on these makes a nice bullet for your marketing slides
but doesn't protect a very large fraction of the potential hw faults.
Other elements of a system are more amenable to protection via (parity, ECC)
{like memories and busses}, so most hw faults in these regions of the
machine can be detected with (parity, ECC).
-- 
 -- Mark Johnson	
 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086
	(408) 991-0208    mark@mips.com  {or ...!decwrl!mips!mark}
Technical Details
Message-ID: <34797@mips.mips.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uwm.edu!uakari.primate.wisc.edu!brutus.cs.uiuc.edu!apple!vsi1!wyse!mips!hal!mark
References: <48540@sgi.sgi.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uwm.edu!uakari.primate.wisc.edu!brutus.cs.uiuc.edu!apple!vsi1!wyse!mips!hal!mark
From: mark@mips.COM (Mark G. Johnson)
Newsgroups: comp.arch
Subject: Parity checking ALU's
Message-ID: <34797@mips.mips.COM>
Date: 18 Jan 90 14:39:58 GMT
References: <48540@sgi.sgi.com>
Sender: news@mips.COM
Reply-To: mark@mips.COM (Mark G. Johnson)
Organization: MIPS Computer Systems, Inc.
Lines: 34