Symbolics 3620

symbolicslogo.gif (170 octets)

Une station de travail, c'est moche d'aspect. Un cube banal qui devient plus sympathique lorsque on l'ouvre. Symbolics était un constructeur américain qui fabriquait des stations de travail basées sur des processeurs propriétaires LISP. Elles disposaient d'un système d'exploitation spécifique et d'un compilateur LISP associé. Symbolics a été utilisé pour faire de la 3D. Notre machine servait pour calculer des routes maillées dans un réseau télécoms.

Une histoire synthétique de Symbolics

Symbolics prends source au MIT, au tout début des années 80. Le langage LISP est est conçu dans le laboratoire d'intelligence artificielle. Tout commence par un schisme parmi deux personnes "historiques" : le hacker canonique Richard Greenblatt  et Russel Noftsker, le directeur du labo. Ils ont deux vision pour créer la machine LISP. C'est la grande époque de l'intelligence artificielle, c'est à dire avec des qualités " d'ordinateurs qui pensent." Ces travaux se font au MIT, mais nos deux comparses souhaitent créer une société pour commercialiser leur création. Malheureusement, leur vision est totalement différente.

Greenblatt fonde LISP Machine Incorporation (LMI) avec un esprit hacker, dans le style garage à-la-Apple. Noftsker est moins cool. Il quitte le MIT fâché et démarre Symbolics en 1980. Il veut aussi créer des machines LISP, avec des moyens dans le style business. Il s'en suit une lutte entre ces deux sociétés sur le même terrain. Évidemment, Symbolics s'en sort mieux. Les trois quarts des chercheurs du MIT sont débauchés. Symbolics réussit aussi à placer des machines au MIT. Les deux firmes ont coulé depuis. Vers 1987, Symbolics voit ses revenus baisser dangereusement : la fin du programme de Guerre des Etoiles de Ronald Reagan prend fin.

Pourquoi du LISP

Le langage impossible sans parenthèse (jugé peu lisible par les moqueurs) a longtemps porté de nombreux espoirs. Au final, tout cela semblait quelque peu ambitieux.

Les informations manquent encore sur ces machines. La tonne de documents récoltées nous permettra d'y voir clair un jour ...

Pourquoi une machine LISP

L'idée est d'optimiser le compilateur dans un environnement dédié au langage et portable, en se basant sur les machines créées au labo d'Intelligence Artificielle du MIT. Outre LMI et Symbolics, d'autres constructeurs s'étaient lancés dans cette aventure tortueuse. Citons Xerox et Texas Instruments. Vers la fin des années 80, le mini-ordinateur dédié devient trop coûteux. La puissance des micros et minis standards, associée à l'intégration qui progresse sans cesse, permet de créer des cartes pour Macintosh ou Sun (voir la Sparcstation 330)

L'utilisation d'un hardware dédié permet de disposer des fonctions basiques en versions câblée, donc plus performantes (Garbage Collection hard, appels aux fonctions accélérés, listes plus efficaces, environnement améliorés...)

 

Symbolics 3620 avec son terminal

Première acquisition: Juillet 1998
Généreux donateur :

Constructeur: Symbolics
Modèle:3620
Année/Prix:1986 / 30 bâtons

CPU: LIA0906- 0911 36bits (32 bits data, 4 bits tag) adressage 44bits et un 68000 pour les entrée/sorties
RAM/ROM: 3 Mo (une carte 2M et une 1M) max. 30 Mo virtuelle 1.24 G
Graphisme: 1100x800 monochrome
Mémoire de Masse: disque dur MFM 5"1/4 de 140 à 474 Mo, streamer QIC SCSI 40 Mo

Périphériques: ports lan, console, RS232, SCSI
3 slots cartes CPU /IO / Contrôleur
6 slots minicartes RAM 1Mo, 2Mo, contrôleur + Ethernet, console, slb-mti

Logiciels et documentation d'origine : 50 Kg


Symbolics museum : Ralf Moeller

Symbolics Technology Inc.


Pour les amateurs anglophones, un extrait de la documentation : "Le Résumé Technique".

Symbolics Technical Summary

Copyright Symbolics Inc.
October 1985
Cambridge, Massachusetts
Used with permission.

 

Symbolic Computing Overview

This chapter outlines history of symbolic computing and discusses the main features of Symbolics software and hardware. Subsequent chapters cover the individual components of the system in more detail.

Symbol Processing Computers

Symbolics manufactures high-performance symbol processing computers and associated software. Symbol processing (or symbolic processing) includes computation with symbols, relationships, and graphical objects as well as numbers, characters, and bits. Symbolic representations can more closely model a given problem as it exists in the real world. By making complex problems easier to represent, symbol processing languages enhance programmer productivity. The coupling of symbol processing software and hardware in the 1980s has considerably broadened the scope of problems that can be solved by computers.

The Symbolics 3600 family is a line of 36-bit single-user computers designed for high-productivity software development and for the execution of large symbolic programs. 3600-family processors give the user all the computational power associated with multi-user timesharing computers in a dedicated workstation. This is accomplished via a new and unique machine architecture that supports high-speed symbol processing operations directly in hardware. For example, every word in a Symbolics computer's virtual memory is tagged with data type bits - hence the name tagged architecture to describe 3600-family processors. The processor reads these bits to prevent illegal operations. As an added benefit, tag bits reduce the need for data type declarations in programs.

The Symbolics-Lisp system software constitutes a large-scale programming environment, with over a half-million lines of system code accessible to the user. Object-oriented programming techniques are used throughout the Symbolics-Lisp system to provide a reliable and extensible integrated environment without the usual division between an operating system and programming languages. All of the system software is written in Symbolics-Lisp. A high-performance implementation of Symbolics Prolog is also available, as are compilers for more conventional languages.

Outstanding documentation is a hallmark of Symbolics systems. The award-winning Document Examiner provides full access to Symbolics documentation in formatted form on the high-resolution screen of a 3600-family console. Within the Document Examiner, users can use the mouse to point at topic and object names. When they press a mouse button, the Document Examiner automatically calls up the documentation for those items.

Printed documentation is provided for users at all levels of experience. Conceptual documents present an overview of a topic, procedural guides show users how to accomplish specific tasks, and reference manuals describe the features of the system in detail. In addition, a range of training courses is offered by the Education Department of Symbolics.

Applications

Typical applications of Symbolics computers include the following areas:

  • Artificial Intelligence (AI)
  • Software development
  • Computer-aided Design (CAD)
  • Expert Systems
  • Database and knowledge base servers
  • Financial analysis
  • Training and simulation
  • Automated diagnostics
  • Signal processing
  • Education and training environments
  • Mathematics and physics research
  • Pattern recognition and image understanding
  • Industrial automation
  • Image-making
  • Animation for film and video
  • Communications and network control
  • Very-Large-Scale-Integration (VLSI) circuit design
  • Speech recognition and understanding
  • Natural language understanding
History of Symbolic Computing
Early Development

The economics of computer hardware and the computational demands made by modern software have converged to make personal, networked computers more attractive than timeshared systems. Foreseeing this changing situation, researchers at the M.I.T. Artificial Intelligence Laboratory initiated the Lisp Machine project in 1974. The project was aimed at developing a state-of-the-art personal computer that would support programmers developing large and complex symbolic programs. An important decision was made early in the design process: for consistency throughout the software environment, all of the system code would be written in a single language - Lisp.

The Lisp Machine concepts rests on the following tenets:

  • Dedicated personal computer and console
  • Fast Lisp execution
  • Tagged architecture (run-time data-type checking and generic instructions)
  • Virtual memory
  • Integrated local area network
  • Interactive, high-resolution, bit-mapped graphics

As the first stage of the project, a simulation of the Lisp Machine was written on a timeshared computer system. This enabled software development to proceed while the hardware was being debugged. Software development for Lisp Machines has been ongoing since 1975. The first-generation Lisp Machine, the CONS, was running in 1976. A second-generation Lisp Machine, called the CADR, incorporated some hardware improvements. It was introduced in 1978, replacing the CONS. (Technical note: Both the CONS and the CADR were based on microcode emulator architectures. In a microcode emulator architecture, the instruction set for support of Lisp is emulated by microcode.)

The Evolution of Symbolics, Inc.

In 1980, Symbolics, Inc., was formed with the purpose of combining past experience with the latest technology to develop a line of symbol processing computer systems and related products. Symbolics introduced the Symbolics LM-2 in 1981. The LM-2 was basically an M.I.T. CADR, repackaged for higher reliability and easier servicing. Symbolics made numerous improvements to the system software and offered options such as Fortran-77, color graphics hardware, and the LGP-1 laser graphics printer.

From 1979 to 1982, research continued on a much more powerful and cost-effective computer architecture. This system, known as the 3600, is based on a completely new design. With the 3600 family, Symbolics has replaced the microcode emulator architecture with special hardware to support high-speed symbolic and numeric computations and to expand virtual memory to 1 Gbyte. Ethernet hardware and software support is standard on all 3600-family computers. The console has been completely redesigned to offer a larger viewing screen with built-in 16-bit digital audio operation. To correspond to the new hardware, the software development team made major enhancements to the software system. In 1982 and 1983 the menu of 3600-family options expanded to include the Symbolics Pascal Tool Kit, the MACSYMA symbolic mathematics system, and a line of high-resolution color graphics products offered by the newly-formed Symbolics Graphics Division.

The Symbolics 3670 system was introduced in early 1984, with the 3640 following later in that same year. The 3670 is the most flexible member of the 3600 family, with a wide range of memory, disk, and add-on options. 3670s are designed as high-performance program development workstations or as networked file, database, or knowledge servers. The 3640 is a compact, high-performance implementation of the 3600 architecture. Also introduced in 1984, the Floating-Point Accelerator option increases the speed of IEEE-compatible floating-point multiplications by a factor of 500%, while speeding up integer divisions by 50%. Release 6 of the Symbolics-Lisp system software included the Ephemeral-Object Garbage Collector. This proprietary system reduces paging, and is the most efficient storage management system in symbolic computing. The Document Examiner included with Release 6 won an award from the Society of Technical Documentation. The Symbolics Graphics Division introduced S-Paint, S-Geometry, S-Render, and S-Dynamics as part of an integrated video-compatible image-making and image-processing facility.

The 3675 and 3645 systems, introduced in 1985, are the latest hardware implementations of the 3600 architecture. The 3675 and 3645 systems incorporate the new Enhanced Performance Option - an additional processor board for instruction prefetching that increases program execution speeds by up to 50%. Symbolics expanded its menu of symbolic languages with the introduction of Symbolics Prolog, an optimizing compiler implementation with special hardware and microcode support. Symbolics Prolog established itself as one of the fastest Prolog implementations available on any computer. The Generic Bus Interface (GBI) interfaces the 36XX's high-speed L bus to slower, asynchronous devices and supports interfaces to UNIBUS and MULTIBUS standard busses. As a company, Symbolics grew in 1985 to over 650 employees with 35 sales offices in the North America, Europe, Japan, and the Middle East. By the fall of 1985, Symbolics had installed over 1500 systems at customers around the world.

Software overview

This section describes the advantages of the Lisp language, specific features of Symbolics-Lisp, the Symbolics-Lisp programming environment, other languages supported by Symbolics, and the network software.

Why Lisp?

All system software for Symbolics computers is written in a dialect of the Lisp language called Symbolics-Lisp. Lisp is a computer programming language that originated as a tool for Artificial Intelligence (AI) research. AI is a branch of computer science that seeks to understand and model intelligent behavior with the aid of computers. Lisp is designed to symbolically represent objects in the world and the relationships that exist among them.

"Lisp" stands for "List Processing Language" as it was dubbed by Professor John McCarthy of M.I.T. (now at Stanford University). At the lowest level all objects in Lisp are represented as lists, even the expressions in the Lisp language. This uniformity of representation has proven to be a tremendous advantage of Lisp over other languages. It makes Lisp easy to extend, which accounts for the longevity of the language and the tremendous range of applications written with it.

At this time, most major artificial intelligence systems are written in Lisp, including programs for expert problem-solving, common-sense reasoning, learning, natural language processing, education, speech, intelligent signal processing, and vision. Lisp has many features that make it useful for symbol processing.

  • Lisp is easy to learn; the parenthesis notation makes Lisp syntax uniform.
  • Lisp is interactive.
  • Lisp functions and data have the same form; programs can generate other programs and then pass control to them.
  • Lisp excels in representing arbitrary-sized objects in which the number of details or properties cannot be predicted (declared) in advance.
  • The Lisp environment provides powerful editing and debugging tools.
  • Lisp is extensible.

In recent years, highly efficient compilers and symbol processing hardware have dispelled the earlier notion of Lisp as a slow language. Optimized code generators for Lisp have made it useful as a systems programming and implementation language.

Symbolics-Lisp

Symbolics-Lisp is a Lisp system developed specifically for Symbolics computers. All of the system code is processed by the Symbolics-Lisp compiler. Applications in symbolic mathematics (MACSYMA), document processing, and computer aided design have also been developed exclusively in Symbolics-Lisp.

Symbolics-Lisp evolved originally from the Maclisp dialect developed in the 1970s. It is somewhat compatible with Maclisp, while introducing many new features and improvements. These include:

  • A full range of data types, including many numerical types, lists, strings, arrays, planes, and user-defined structures.
  • Modern control constructs, including a very general loop iteration facility, asynchronous nonlocal exists, coroutines, and processes.
  • Flexible function calling and multiple-value returns.
  • Stream-oriented input and output.
  • The Flavor system for object-oriented programming with message passing.
  • Macros for extending the Symbolics-Lisp syntax.
  • Predefined functions that support such operations as sorting, hash tables, linear equations, and matrix operations.
  • Multiple namespaces (packages).

The Flavor System offers the following advantages:

  • Object-oriented programming permits more modularity in programs by encapsulating procedures and data into a flavor object
  • New flavor types can be cloned by combining existing flavor types
  • Flavor inheritance is non-hierarchical

In the past two years, the Common Lisp standard has unified the Lisp community around a compatible dialect. Symbolics has been a prime supporter and an active participant in the Common Lisp movement. The committee to define Common Lisp included nine members of Symbolics' technical staff.

In keeping with the trend toward Common Lisp, the Zetalisp dialect of Lisp, in which much of Symbolics system software is written, has been modified to make it more compatible