ken@gatech.edu (Ken Seefried iii) (03/22/89)
What are the problems involved in moving software up in the 32000 chain (i.e. moving stuff compiled on a 32016 or 32032 to the 32332 and 32532). I know there are stack frame problems when moving from the 68000 to the 68020, does such a thing exsist on the 32000s? Are the 32082, the 32382 and the 32532 MMUs compatable? Oh...to clarify, I'm primarily interested in binary compatability. ...ken seefried iii ken@gatech.edu
levy@nsc.nsc.com (Jonathan Levy) (03/23/89)
In article <18216@gatech.edu> ken@gatech.edu (Ken Seefried iii) writes: >What are the problems involved in moving software up in the 32000 >chain (i.e. moving stuff compiled on a 32016 or 32032 to the 32332 and >32532). > >I know there are stack frame problems when moving from the 68000 to >the 68020, does such a thing exsist on the 32000s? > >Are the 32082, the 32382 and the 32532 MMUs compatable? > >Oh...to clarify, I'm primarily interested in binary compatability. Any user code written for the 32016 will run unmodified on any 32000 member. The only differences are in some supervisor code, and these are: 1. The 32382 MMU has a different page table orginization (4K pages rather than 512 byte pages), and the registers are a little different. This means that the MMU stuff will have to be slightly modified when moving from a 32016 / 32032 based virtual memory system to a 32332/32532 system. The 32382 is FULLY compatible to the internal 532 MMU. 2. Debug features are different in 32082, 32382, 32532. 3. One new instruction was added to the 32532 for cache management. This is the CINV instruction which is used to invalidate the caches (partially ae fully). To summarize, all application s/w which was compiled for any one processor in the family will run on any other processor. The optimizing compiler from NSC ( CTP ) does have switches for the different processors, but these are needed only to squeeze some 5% or so additional performance based on peep-hole optimizations for each processor. I hope this answers the questions. Jonathan Levy
jojo@astroatc.UUCP (Jon Wesener) (04/03/89)
In article <18216@gatech.edu> ken@gatech.edu (Ken Seefried iii) writes: >What are the problems involved in moving software up in the 32000 >chain (i.e. moving stuff compiled on a 32016 or 32032 to the 32332 and >32532). There's only a few priviliged instructions that differ between the processors. The config register gains a few bits and the 532 has a cache invalidate instruction. There's also a few new traps to worry about. Moving software across the cpu's is no problem, though. We run the same binaries for our software on the 32016, 32332 and 32532. We do ignore the stranger side of the 32000 architecture however, like the cxp instruction and mod tables... >I know there are stack frame problems when moving from the 68000 to >the 68020, does such a thing exsist on the 32000s? Nope, this is not a problem on the 32000s. >Are the 32082, the 32382 and the 32532 MMUs compatable? There are 2 mmu's I've seen running with the 32000's, the 32082 and the 32382. The 1st has a page size of 512 bytes while the latter is 4k. This causes the pte structure to be different, of course, and they also have somewhat different register sets. This hasn't caused a problem for us, though. >Oh...to clarify, I'm primarily interested in binary compatability. Like I said, we have no problems doing it. > ...ken seefried iii > ken@gatech.edu --jojo -- ... {seismo | harvard } ! {uwvax | cs.wisc.edu} ! astroatc!jojo "Its Frank's world, the rest of us just live in it." -- Bongwater