[comp.lang.forth] Novix Development Software

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.
                                 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~