Paktor@cup.portal.com (05/20/88)
Mark DeGroot wrote: > and Chuck's attitude with respect to developing > popular user tools doesn't help. I agree, as far as that goes. But! Chuck isn't the only source of tools for Novix Chip development. Novix themselves makes several powerful packages, all backed by their F-83-Standard-compatible "Express" software. Among other things, it contains a properly fixed multiply routine. I don't have the details off the top of my head, but I will be conferring with Brian Donovan about posting detailed information about same. The best place to get information about the Novix Chip is from Novix them- selves. Their address, phone number, and very existence, is one of the best-kept secrets in Silicon Valley, but I'm going to divulge it, here: Novix, Inc., 2933 Bunker Hill Lane, Santa Clara, Calif. 95050 (408) 982 0255 Oh, all right: A little about the Multiply: First of all, the fundamental instruction set of the Novix Chip does not have a single Multiply instruction; what it *does* have is a Multiply _STEP_ instruction (conditionally add, shift-down, shift-up. Anyone who has ever had to write a multiply routine in Assembler for a processor that didn't have a built-in multiply remembers how that goes.) The idea was to have the Multiply word-definition consist of fifteen iterations (using the Streaming facility of the chip, but let's not digress...) of the Multiply Step. As has been noted, the chip was one iteration short of "perfection", and the Multiply, as defined in the above manner, did not handle odd multipliers correctly. (Digression: It's amazing how the Human Mind can come up with the most transparent rationalizations. "Most Multipliers are Even" ranks as a classic in this category!) Some research, by Dr. C.H. Ting, among others, went into figuring a way around this shortcoming. Dr. Ting's solution, published by his Offete Press, in "Footsteps in an Empty Valley", (I forget which volume, but one of the early ones, possibly the first), gave about fifteen-bits' worth of an answer, and was still not quite "there" yet. The crew at Novix did develop an algorithm that gives a full sixteen-by-sixteen bit multiply, in (I'm not sure about this: thirty) machine cycles. After I confer with Brian, I will post the actual numbers, along with the algorithm. While I'm at it, I might mention that Novix has a PAL chip which fixes the well-known interrupt problem. Interrupts are now supported, without special coding. Maximum latency is (again, I'll have to double check the number: four) machine cycles. Overhead, is of course, only one cycle, for the return, and sometimes not even that, because the Novix Chip allows some combinations of instructions to be combined, and the Return is one of them. Also, since the Chip is inherently a Stack Machine, there is no extra overhead required to save the state of the machine at the time of the interrupt; that is already saved in the normal course of processing! There was also mention of the Chip's limitation with regard to jumps across 4K-word Page boundaries, and the fact that Chuck's compiler does not detect the error. Suffice it to say that Novix's compiler does detect and report the attempt to cross a 4K Page boundary as an error, in the usual Forth style of stopping the compilation with a message. The mes- sage reports how many cells off the boundary the attempt came, so you can easily make the fix by padding your code by just that much. All in all, the Chip is not so "unprofessionally designed" as some one said. It is simply that Chuck's software follows his minimalist philosophy, and, being something released into the Public Domain, it is by definition, not a professional product. For *professional* support, go to the folks who are making their profession out of supporting it, and that is Novix, Inc. Okay, until next time... David ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ === Mister Systems === | "You know the times David L Paktor | you impress me the most | are the times when you don't try; Paktor@cup.Portal.com | when you don't even try." -- Joni M. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~