crowl@rochester.ARPA (Lawrence Crowl) (04/21/86)
In article <6593@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes: >... MIPS Computer Systems ... machine .... Load and >store instructions come in a number of flavors, including hardware help >for unaligned references: you need two instructions to pick up the two >pieces of the data, but then you'd need two memory cycles anyway, and >things are set up so there is no extra overhead. Unfortunately, you need to know that the reference is unaligned. This will involve some runtime checks if unaligned references are allowed. If I were writing the compiler, I would probably make a convention that the compiler is responsible for ensuring that all references are aligned. Any comments? >... The machine is also >byte-bisexual, giving the code generator a choice of whether addressing >within a word is big-endian or little-endian. Is there a convention for which form will be used? I understand the need to convert databases from one form to the other, but having two conventions on the same machine could lead to two different object modules assuming different conventions. Any comments? -- Lawrence Crowl 716-275-5766 University of Rochester Computer Science Department ...!{allegra,decvax,seismo}!rochester!crowl Rochester, New York, 14627
jack@boring.uucp (Jack Jansen) (04/23/86)
I got John's papers, too, and I was absolutely thrilled. Wonderful machine, where can I get one (and what does it cost)? Anyway, two questions remained: - How do they do TLB flushes when they want to re-use a process-id? - I forgot my second question. I'll ask when I remember:-) -- Jack Jansen, jack@mcvax.UUCP The shell is my oyster.
henry@utzoo.UUCP (Henry Spencer) (04/24/86)
> >... Load and > >store instructions come in a number of flavors, including hardware help > >for unaligned references: you need two instructions to pick up the two > >pieces of the data, but then you'd need two memory cycles anyway... > > Unfortunately, you need to know that the reference is unaligned. This > will involve some runtime checks if unaligned references are allowed. What it will involve, probably, is a compiler switch saying "generate all references as aligned" or "generate all references you cannot be certain about as unaligned". In other words, only programs that must be able to do unaligned references have to pay for it. (This is a guess, not based on official information from MIPS, but seems plausible.) I like it. -- Support the International League For The Derision Henry Spencer @ U of Toronto Zoology Of User-Friendliness! {allegra,ihnp4,decvax,pyramid}!utzoo!henry