Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!usc!wuarchive!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.arch Subject: Re: IBM RISC System/6000 AS/400 (actually a diversion on the topic) Message-ID: <2989@auspex.auspex.com> Date: 5 Mar 90 19:47:27 GMT References: <10901@june.cs.washington.edu> <2984@auspex.auspex.com> <10947@june.cs.washington.edu> Distribution: usa Organization: Auspex Systems, Santa Clara Lines: 26 >:OK, so is VMC code that, in executable form, is in IMPI? > > Yes. Much of it is essentially OS code, although it's part of the > published architecture. All VMC runs at the IMPI level. So what language is the OS written in? Assembler (i.e., something that translates fairly one-to-one to IMPI)? RPG or Cobol or one of the other languages that compiles into MI, with the MI then being statically compiled into IMPI? > The problem with breaking it down this way is that IMPI can essentially > be thought of as a moving target. The MI is the published architecture, > and all future AS/400's will conform to MI. However, the IMPI can change > quite radically. All programs that are written at MI level will continue > to run, even if they were translated from MI to IMPI (the os will > take care of automatically retranslating them). So you then think of System/38 and AS/400 as being a set of machines with potentially binary-incompatible instruction sets, but that all run compatible interpreters/MI compilers.... Perhaps this is sort of like moving Smalltalk bytecodes between different machines with different underlying processors. So how come if the IMPI *can* change, it *hasn't* changed? (*Did* they write the OS in assembler language? :-))