home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.arch
- Path: sparky!uunet!wupost!micro-heart-of-gold.mit.edu!uw-beaver!kolding
- From: kolding@cs.washington.edu (Eric Koldinger)
- Subject: Re: IBM AS/400 is the world's slowest computer
- Message-ID: <1992Dec25.033918.3246@beaver.cs.washington.edu>
- Sender: news@beaver.cs.washington.edu (USENET News System)
- Organization: Computer Science & Engineering, U. of Washington, Seattle
- References: <Bzs3zn.43H.2@cs.cmu.edu> <1992Dec24.203452.22045@beaver.cs.washington.edu> <BzsIFK.EMF.2@cs.cmu.edu>
- Date: Fri, 25 Dec 92 03:39:18 GMT
- Lines: 62
-
- In article <BzsIFK.EMF.2@cs.cmu.edu> lindsay+@cs.cmu.edu (Donald Lindsay) writes:
- >kolding@cs.washington.edu (Eric Koldinger) writes:
- >>The AS/400 uses a tagged memory-system and tagged registers to
- >>protect capabilities (or pointers, as they call them). There are
- >>also a number of operations that only take place on capabilities.
- >>This makes it rather unlikely that they'd use a stock micro-processor
- >>from the workstation group.
- >
- >I don't think that RPG programmers deal with capabilities, so, the
- >stock microprocessor needs only a stock RPG.
-
- RPG doesn't use the capability features, but OS/400 certainly does. Don't
- forget that a computer is more than just the applications that it runs. RPG
- coulde easily be implemented on any machine out there, but you wouldn't call it
- an AS/400. Just because I can run C on it, I don't call it a PDP-11, eh?
-
- >What other languages are of importance on the AS/400? What is the OS
- >written in, and are capabilities actually explicit at the source
- >level?
-
- Last I checked (4 years ago), the AS/400 supported RPG III, COBOL (I think),
- Pascal, PL/I, and they were coming out with a C compiler. You don't generally
- use the capabilities at the applications level, and the languages provide no
- real ability to manipulate capabilities (I've often wondered exactly what C
- ended up looking like on that machine, as pointers and ints are definitely not
- the same, and casting an int to a pointer makes no sense).
-
- The OS (and the various levels of "microcode", which are actually what most
- people would consider to be part of the OS) are written in IBM proprietary
- languages that all start with the letters PL/. Depending on which level of
- the machine you're programming for, the language may or may not be able to
- manipulate capabilities explicitly. Having never actually used these
- languages, I can't say more than that.
-
- >My experience with software-based capabilites has been positive, so
- >it's not clear to me, offhand, that a stock RS/6000 is out of the
- >question.
-
- There's a fundamental difference between hardware and software capabilities.
- Software capabilities can be forged, however improbable. For example, Amoeba
- capabilities are just long integers (32, 64 bits?). You can forge one, but I
- wouldn't bet on it. Hardware capabilities are secure and cannot be forged. On
- the AS/400 there is no way to turn an integer into a capability, even for the
- OS (although certain layers of the "microcode" probably can). Software
- capabilities also do not (efficiently) support the fine grained protection of
- hardware capabilities. On an architecture like the AS/400, EVERY memory
- reference is checked against a capability, and individual bytes can be
- protected. Software capabilities are typically used to protect larger grained
- objects, and are only checked when that object is "bound" to your protection
- domain.
-
- A stock RS/6000 could certainly run most (all?) AS/400 applications, probably
- faster than an AS/400. It couldn't, however, (efficiently) support the AS/400
- OS, or the full architectural specification.
-
- Someone from IBM Rochester might want to correct me if my memory is failing
- here. Merry Christmas...
- --
- | Eric Koldinger
- Your tax dollars at play. | University of Washington
- | Department of Computer Science
- | kolding@cs.washington.edu
-