Browse Prior Art Database

An Archi~cec~cura! Trail to Threaded-Code Systems Disclosure Number: IPCOM000131477D
Original Publication Date: 1982-Mar-01
Included in the Prior Art Database: 2005-Nov-11
Document File: 17 page(s) / 55K

Publishing Venue

Software Patent Institute

Related People

Peter M. Kogge: AUTHOR [+3]


IBM Federal Systems Division

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 8% of the total text.

Page 1 of 17


This record contains textual material that is copyright ©; 1982 by the Institute of Electrical and Electronics Engineers, Inc. All rights reserved. Contact the IEEE Computer Society (714-821-8380) for copies of the complete work that was the source of this textual material and for all use beyond that as a record from the SPI Database.

An Archi~cec~cura! Trail to Threaded-Code Systems

Peter M. Kogge,

IBM Federal Systems Division

Some programmers question certain claims made for threaded-code systems. The author defends these claims by tracing such a system from its origin in simple concepts.

Interest in software systems based on threaded-code concepts has grown remarkably in recent years. Advocates of such systems regularly make claims for them that many classical programmers regard as bordering on the impossible. Typically, proponents claim that it is possible to construct, in 5K to 10K bytes of code, a software package that

is conversational like APL, Lisp, or Basic;

includes a compile facility with many high-order language, structured-programming constructs;

exhibits performance very close to that of machinecoded program equivalents;

is written largely in itself and consequently is largely portable;

places no barriers among combinations of system, compiler, or application code;

can include an integrated, user- controlled virtual memory system for source text and data files;

permits easy user definition of new data types and structures; and

can be extended to include new commands written either in terms of existing commands or in the underlying machine language (an assembler for the underlying machine can be implemented in as little as a page of text of existing commands).

Such systems do exist -- Forth is perhaps the best known -- and have attracted widespread attention, as evidenced by countless implementations, publications, products, and standards groups. ?

The purpose of this article is to convince the skeptic that these claims are, in fact, achievable without resorting to obscure software magic or arm-waving. The approach is to build a logical (not historical) trail from some rather simple concepts to the outlines of a software system that meets the above claims. A series of generalizations added to a simple view of software leads to the final result, a package approaching the combination of

a simple instruction-set architecture, or ISA;

the concepts and syntax of a high- order language, or HOL; and

a set of commands for a conversational monitor.

IEEE Computer Society, Mar 01, 1982 Page 1 IEEE Computer Volume 15 Number 3, Pages 22-34

Page 2 of 17

An Archi~cec~cura! Trail to Threaded-Code Systems

The ISA (such as it is) is for an abstract machine that is very efficiently implemented by short code segments in almost any current machine architecture. The HOL concepts include hierarchical construction of programs, block structures, GOTOles...