🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #11373

Re: DEC Alpha architecture issues

#11373
From: Zalman Stern
Date: Sat, 21 Nov 1992 01:16
48 lines
3205 bytes
In article <By0xy0.FsA.2@cs.cmu.edu>  writes:
> 
> woodacre@mips.com (Michael Woodacre) writes:
> 	[ in reference to PALcode ]
> >Can you explain how this is different from kernel code with interrupts
> >disabled on any other risc processor?
> 
> Think of it as a supervisor state. This state doesn't just have
> interrupts disabled:  it also has direct access to a large variety of
> implementation-specific internal registers. For example, TLB reloads
> are done by PALcode, whereas the "normal" code in the OS need only
> know architectural things (things that remain constant across
> implementations). 

This is effectively provided by the coprocessor 0 enable bit on a MIPS  
architecture machine. (Which is probably ignored in kernel mode but not  
supervisor mode or vice-versa (I can never remember which is which).) In any  
event, it is a reliability/robustness issue not a functionality issue. I can  
write my kernel to not use any of the protected features except in a small  
set of routines through an architected interface. (And in fact RISC/OS on  
MIPS platforms did this for many things because the coprocessor 0  
functionality is quite different on the various R-series implementations.)

> Also, PALcode can be entered from user state - you don't need to do a
> system call, with its heavy-duty state-change overheads.

This is an implementation issue. (And certainly if you spec a  lot of  
lightweight primitive operations via sys-or-PAL calls, you better make them  
fast.) The only significant difference between MIPS syscall and Alpha  
PALcall in terms of speed is that PALcall has many exception vectors where  
you need some dispatch code on the MIPS. (Anybody have cycle counts?) Even  
this is not an architectural issue. I could implement an Alpha processor  
with a single exception vector and I could implement a MIPS processor with  
16 million of them (or so). (And there's the 'ol RISC argument that the  
single vector might be faster. Supposedly Cray's only have one exception  
vector though...)

The point I'm trying to make is that DEC's "Privelleged Architecture  
Library" is probably a good abstraction but it doesn't require big changes  
in hardware. (Nor is it all that original.) Also, it has a certain amount of  
intellectual and logistical complexity. There's a layer between the OS  
writer and the hardware. You must understand the layer, and somebody must  
provide the code for the layer. If that interface is not a good match to  
your needs there's going to be a problem.
--
Zalman Stern		   zalman@adobe.com		    (415) 962 3824
Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  "Yeah. Ask 'em if they'll upgrade my shifters too." Bill Watterson
Technical Details
Message-ID: <1992Nov21.011653.24554@adobe.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!sample.eng.ohio-state.edu!purdue!decwrl!adobe!usenet
References: <By0xy0.FsA.2@cs.cmu.edu>

Show Full Headers
Complete Article Headers
Newsgroups: comp.arch
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!sample.eng.ohio-state.edu!purdue!decwrl!adobe!usenet
From: zstern@adobe.com (Zalman Stern)
Subject: Re: DEC Alpha architecture issues
Message-ID: <1992Nov21.011653.24554@adobe.com>
Sender: usenet@adobe.com (USENET NEWS)
Organization: Adobe Systems Incorporated
References: <By0xy0.FsA.2@cs.cmu.edu>
Date: Sat, 21 Nov 1992 01:16:53 GMT
Lines: 48