UltraTechnology Homepage, Forth, Chips, F21, Jeff Fox, Charles Moore, Video Theater

www.UltraTechnology.com

Site Indexes Personal Web Log Streaming Video Theater Forth Forth Chips Page UltraTechnology Online Store

UltraTechnology has been out of business since 2002. This site documents its history with videos and essays and a new ongoing blog. UltraTechnology was formed by Jeff Fox in Berkeley, California in 1990 to develop a custom computer. In order to best understand the work done at UltraTechnology, and the design work done for UltraTechnology by Charles Moore, the inventor of the Forth programming language, I believe that one needs to understand the context of this work and the meaning of the terms we use when we have talked about it.

Context

Charles Moore documented Forth the Early Years at his website. In 1970 he published the first documenation on Forth, Forth - a Language for Interactive Computing where he documents the important concepts of his language. Over the years his language evolved and the terms used to describe it changed, but the original intention of the language was clearly stated as a path to get outside of the multi-language nightmare and into a place defined by one language, Forth, doing everything.

It may be difficult for some people to understand that the goal of Forth was to achieve a improvement in programmer productivity and program performance by having one language. And the fact that Forth was designed to be an OS with cooperative multi-tasker, include a source editor, a compiler, and a command interpreter hides that Forth programs were expected to cooperate with one another. This may be a difficult starting reference point to the generations of programmers raised on the idea that the language (C) was designed to write an OS, UNIX, to protect hostile (C) programs from each other. The fact that things are simpler when one language does everything and programs cooperate may be a difficult starting point for people who brag about their regular use of thirty different programming languges today.

Halfway through the history of Forth its inventor, Chuck Moore declared that the software problem was solved and that the remaining problem was hardware. Forth had been designed to let the programmer change anything and now it was the time to let the programmer eliminate most of the complexity of the compiler and turn the Forth virtual machine into real hardware.

Everything about Forth at this site, and at Chuck's colorforth.com website must be kept in this context. There are people who have used some Forth ideas to go back into conventional environments using Forth in a way that is very different than the context here. This website, and Chuck's website, are not here to say that your version of Forth isn't Forth. Please don't write to me to ask me to have Chuck review your xForth scripting language for the XX Operating System so you can put on your webpage that he approves of it. He doesn't do that. If you want to do what he says is good Forth, or if you want to say something else is good Forth that is fine. This site is not about you, it is about UltraTechnology and how we did things here.

History

In the sixties I studied AI and later computer graphics and video effects. I got my first PC in 1975. It was the first PC to have a parallel ASCII keyboard input, BIOS in ROM, and video output. I first programmed it using the monitor ROM, later with an assembler, then a BASIC, and in 1978 a FIG-FORTH. That year I also studied digital sound synthesis, advanced machine architecture, and AI at MIT. I did scripting of 3D visualizations and simulations, and wrote varios AI programs for speech, speaker, image recognition, expert systems and learning nets in Forth and later ported from the 8080 to an Apple II. I firmly believed that what would be needed in the future was parallel hardware and what I wanted was something that would run the cooperative style Forth software I had easily and efficiently.

In 1986 I bought a Novix Forthchip Kit from Chuck Moore. It was the simplest computer I had ever used because it was all Forth. The OS, optimizing compiler, and command interpreter was about 6K of object code and 30K of source code. It was smaller and easier to understand than systems with separate BIOS, assembler, compiler, and OS manuals and mutliple languages to learn. I will put the Forthkit manual and Chuck Moore's application notes online in pdf form. I wrote up plans for a parallel computer using multiple Forthchip processors and running a multi-processing Forth OS that would include some learning nets and expert systems features. I made prototypes with old Gavilan laptop parts and Novix and Harris chips and will put some of these 1980s documents online.

I studied expert systems starting with interpreted inference engines useing expert rules in English. The rule interpreter ran a hundred times faster in cmForth on the Novix than it did under an interpreted threaded Forth on my PC. I studied Brad Rodriquiez and other's techniques for compiling expert rules directly into Forth code. But I wanted to get another ten to one hundred times improvement in performance by running code on dozens or hundreds of nodes in parallel.

At the Silicon Valley Chapter of the Forth Interest Group annual Forth Day in 1990 I heard Mr. Moore describe his plan to move to custom VLSI design. He had not been entirely satisfied with the Novix and had made a simpler and 32-bit wide design he had called Sh-Boom that had achieved 80 Forth MIPS in a PGA in 1988. He said the design tools he had used had not understood the unique problems of processor design and that he wanted to write his own tools using Forth. He said what interested him, besides solving the problems of VLSI design and VLSI design tools, was that he wanted to get the order of magnitude increase in speed and two orders of magnitude reduction in cost available by going from programmable logic to full custom VLSI hardware.

I had gone from interpretered expert systems on interpreted Forth on single conventional chips where I was getting a few thousand inferences a second to native code generated from the same expert rules directly on Forth hardware where I was already getting millions of logical inferences per second. I wanted to take it parallel and into VLSI with Mr. Moore.

I simulated various combinations of hardware and software as Offete Enterprises' MuP21 and UltraTechnology's F21 (pdf spec) (html docs) design evolved over the years. The original idea was to produce a cheap and simple processor, capable of being a small personal computer, embedded appliance, or node in a scalable multi-processor. The goal was to keep production cost below $2, fast, and simple. F21 was ahead of its time as a $2 chip with a 200+ mip Forth processor, an independent 40 MSPS D/A and A/D coprocessor subsystem, an independent video io coprocessor, and a smart network routing processor allowing the Forth CPU to execute remote proceedure calls over the network with a one microsecond latency. F21 also had a real-time clock, parallel port, timer circuit and 8-bit and 20-bit SRAM and DRAM interfaces.

I published simulation results at the Forml Conference in 1991. While surfing the Internet I found Dr. Michael Montvelishsky's paper about teaching parallel Forth in the University in Russia. I wrote to him about ideas in Forth-Linda. Michael published (Parallel Forth - the new approach) in Forth Dimensions about Occam style Parallel Channels in Forth and the simple transition in Forth from cooperative multitasking to multiprocessing using the same wordset. In 1993 I published a paper on F21 and F*F at Forml. And later did an ANS Forth Chess program for F21. I came to consider the concepts in parallel Forth to be about as complex as an "IF" statement. We have continued to work on these and new parallel programming ideas over the years.

In 1995 I joined a NASA startup called the iTV Corporation with Chuck Moore. The idea was to build web appliances with a chip that was a variation of F21, iTV's i21. I became Director of Software at iTV. I trained the staff and we wrote the 4os operating system and made various all Forth chip and all Forth software web browser and email appliances. After developing products that everyone liked iTV's Board of Directors decided that they didn't want to sell anything and the company was shut down.

By 1999 the money was gone and the financial backers at UltraTechnology had died, gone bankrupt, or pulled out. There was no money for advertizing, promotion, or production of f21. So like iTV's i21 it never went further. The last few prototype chips were sold below cost or given away and things moved on. I got some consulting work on high level AI integration or with F21 prototypes and wrote the aha compiler, OS and GUI. By 2002 UltraTechnology was history except for some sales of a few educational CD and DVD from the online store at times when it was open. I had hoped to move on to making cluster chips, multi-core versions of the parallel Forth chips but my pockets were not that deep.

My idea of a cheap PC had some things in common with MIT's new $100 One Laptop per Child project, except my idea was that, what the world needed was a good $5 computer that was as simple to understand as the cost implied. We got pretty close at iTV with the Forthchip module that we could build for about $5 that fit into the battery compartment of a $19 (retail) B/W TV AM/FM which let it connect to the Internet for email and web browsing. iTV never sold any of them let alone the volume needed to sell those miniature Imac-like machines for $49. And UltraTechnology's Workstation in a Mouse demostrated that a mouse with an F21 would cost about the same as an ordinary $10 mouse and only needed an RGB monitor or TV to play and surf. iTV did come close to closing a couple of those billion unit type deals.

Today I am working with Chuck Moore, John Rible, Dr. Montvelishsky and a growing list of programmers as Director of Software at the IntellaSys Corporation. I am pleased to see ideas picked up and technologies licensed by companies like Intel and AMD. I am also pleased to see the general move to multi-core architectures on the desktop and in embedded systems. Everyone seems to be using the slides I used fifteen years ago.

The UT site is currently undergoing a redesign. Videos will be available from Google Video in various formats and from this site in the older .rm and smaller .wmv formats for those without access to google video. I will try to add new video in the future.

The buttons at the top of the page provide access to the old organization of information at this site, a reorganization is in progress. Please be patient with broken links while the work is in progress.

netscape award Listed in the Netscape Directory as a Cool Site on the Forth programming language.

Netscape Award

749 GigaBytes served in over 5,100,000 hits as of 4/22/2006
Site powered by www.strangeGizmo.com