Symbolics Architecture

Symbolics Architecture

Symbolics Architecture David A. Moon Symbolics, Inc. W hat is an architecture? In com- languages, user interface, and operating This architecture puter systems, an architecture system. System architecture defines the rapid is a specification of an inter- product that people actually use; the other enables face. To be dignified by the name architec- levels of architecture define the mecha- development and ture, an interface should be designed for a nism underneath that implements it. Sys- long lifespan and should connect system tem architecture is implemented by soft- efficient execution of components maintained by different orga- ware; hardware only sets bounds on what large, ambitious nizations. Often an architecture is part ofa is possible. System architecture defines the product definition and defines character- motivation for most of the design choices applications. An istics on which purchasers of that product at the other levels ofarchitecture. This sec- rely, but this is not true of everything that tion is an overview of Symbolics system unconventional design is called an architecture. An architecture is architecture. avoids trading off more formal than an internal interface be- The Symbolics system presents itself to tween closely-related system components, the user through a high-resolution bitmap safety for speed. and has farther-reaching effects on system display. In addition to text and graphics, characteristics and performance. the display contains presentations of ob- A computer system typically contains jects. The user operates on the objects by many levels and types ofarchitecture. This manipulating the presentations with a article discusses three architectures de- mouse. The display includes a continuous- fined in Symbolics computers: ly updated reminder of the mouse com- (1) System architecture-defines how mands applicable to the current context. the system appears to end users and appli- Behind the display is a powerful symbol cation programmers, including the char- processor with specialized hardware and acteristics of languages, user interface, software. The system is dedicated to one and operating system. user at a time and shares such resources as (2) Instruction architecture-defines files, printers, and electronic mail with the instruction set of the machine, the other Symbolics and non-Symbolics com- types of data that can be manipulated by puters through both local-area and long- those instructions, and the environment in distance networks of several types. The which the instructions operate, for exam- local-area network is integral to system ple subroutine calling discipline, virtual operation. memory management, interrupts and ex- The system is designed for high- ception traps, etc. This is an interface be- productivity software development both tween the compilers and the hardware. in symbolic languages, such as Common (3) Processor architecture-defmes the Lisp' and Prolog, and in nonsymbolic overall structure ofthe implementation of languages, such as Ada and Fortran. It is the instruction architecture. This is an in- also designed for efficient execution of terface between the firmware and the large programs, particularly in symbolic hardware, and is also an interface between languages, and delivery of such programs the parts of the processor hardware. to end users. The system is intended to be especially suited to complex, ambitious ap- plications that go beyond what has been System architecture done before; thus it provides facilities for exploratory programming, complexity System architecture defines how the sys- management, incremental construction of tem looks to the end user and to the pro- programs, and so forth. The operating grammer, including the characteristics of system is written in Lisp and the architec- January 1987 0018-9162/87/0100-0043S01.00 © 1987 IEEE 43 tural concept originated at the MIT Artifi- speed. Our system architecture deems this (2) Why use a symbolic system architec- cial Intelligence Laboratory. However, ap- unacceptable, because complex, ambi- ture? plications are not limited to Lisp and Al. tious application programs are typically (3) Why build a symbolic system archi- Many non-Al applications that are com- never finished to the point where it is safe tecture on unconventional lower-level plex enough to be difficult on an ordi- to declare them bug-free and remove run- architectures? nary computer have been successfully time error-checking. We feel it is essential implemented. for such applications to be robust when Meeting these needs requires an extraor- delivered to end users, so that when some- Why dedicate a computer to each user dinary system architecture-just another thing unanticipated by the programmer instead oftime-sharing? This seemed like PC or Unix clone won't do. The intended happens, the application will fail in an ob- a big issue back in 1974 when Lisp applications demand a lot of processor vious, comprehensible, and controlled machines were invented, but perhaps by power, main and virtual memory size, and way, rather than just supplying the wrong now the battle has been won. A report disk capacity. The system must provide as answer. To support such applications, a from that era3 states these reasons for much performance as possible without ex- system must provide speed and safety at abandoning time-sharing: ceeding practical limits on cost, and com- the same time. * Time-sharing systems degrade under puting capacity must not be diluted by Symbolics systems use a combination of heavy load, so work on large, ambitious sharing it among multiple users. These approaches to break the traditional dilem- programs could only be conducted in off- purely hardware aspects are not sufficient, ma in which a programmer must choose peak hours. In contrast, a single-user sys- however. The system must also improve either speed or safety and comfortable tem would perform consistently at any both the speed ofsoftware production and software development: time of day. the quality of the resulting software by * The hardware performs low-level * Performance was limited by the speed providing a more complete substrate on checking in parallel with computation and of the disk when running programs too which to erect programs than has been memory access, so that this checking takes large to fit in main memory. Dedicating a customary. Programmers should not be no extra time. disk to each user would give better perfor- handed just a language and an operating * Machine instructions are generic. For mance. system and be forced to do everything else example, the Add instruction is capable of The underlying argument was that in- themselves. adding any two numbers regardless of creasing program size and advancing tech- At a high level, the Symbolics substrate their data types. Programs need not know nology, making capable processors much provides many facilities that can be incor- ahead of time what type of numbers they less expensive, had eliminated the econo- porated into user programs, such as user- will be adding, and they need no declara- my of scale of time-sharing systems. The interface management, embedded lan- tions to achieve efficiency when using only original purpose of time-sharing was to guages, object-oriented programming, the fastest types of numbers. Automatic share expensive hardware that was only and networking. At a low level, the sub- conversion between data types occurs lightly used by any individual user. The strate provides full run-time checking of when the two operands of Add are not of serendipitous feature of time-sharing was data types, of array subscript bounds, of the same type. interuser communication. Both of these the number ofarguments passed to a func- * Function calling is very fast, yet does purposes are now served by local-area net- tion, and of undefined functions and vari- not lose information needed for debug- working. Expensive hardware units are ables. Programs can be incrementally ging and does not prevent functions from still shared, but the processor is no longer modified, even while they are running, being redefined. among them. and information needed for debugging is * Built-in substrate facilities are already These arguments apply to all types of not lost by compilation. Thus the edit- optimized and available for programmers dedicated single-user computers, even compile-test program development cycle to incorporate into their programs. PCs, not only to symbolic architectures. can be repeated very rapidly. Storage man- * Application-specific control of agement, including reclamation of space virtual-memory paging is possible. Pre- Why use a symbolic system architec- occupied by objects that are no longer in paging, postpurging, multipage transfers, ture? Many users who need a platform for use, is automatic so that the programmer and reordering of objects to improve efficient execution of large symbolic does not have to worry about it; incre- locality are supported. 2 programs, a high-productivity software mental so that it interferes minimally with These benefits are not without costs: development environment, or a system for response to the user; and efficient because * Both the cost and the complexity of exploratory programming and rapid pro- it concentrates on ephemeral objects, system hardware and software are in- totyping have found symbolic languages which are the best candidates for reclama- such as Lisp and symbolic architectures tion. creased by these additional facilities. The system never compromises safe- * Performance

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us