|Memory capacity||Programming Language|
Normally the display is generated from the buffer in main memory at addresses 0x0200..0x05ff. There is a front-panel switch which makes the unit display the first 512 bytes of main memory (addresses 0x0000..0x01ff) in hexadecimal for diagnostic purposes, mainly to observe the processor registers.
Instead of being written in the native microcode instruction set of the processor, the 5100's language interpreters are written for more sophisticated "virtual machines", and the microcode emulates those machines. This was done in order to economize on the amount of ROS needed to implement the language interpreters, and perhaps to speed the product development. The APL microcode emulates a subset of the System/360 instruction set, while the BASIC microcode emulates the System/3.2
The APL interpreter was derived from APLSV.
PALM uses 16-bit vertical microinstructions. The average microinstruction execution time is 1.75 µs.
Microinstructions can directly reference sixteen 16-bit general-purpose registers. Register zero is the microinstruction pointer, also known as the program counter. There are four banks of registers, one bank per interrupt level, for very fast interrupt context switching. The four banks of registers are also addressable as the first 128 bytes of RAM. (The first 128 bytes of the actual RAM cards is not available.)
There are three interrupts, so there are four processor levels, 0-3, with level 0 executing when no interrupt is pending. Since each level has its own program counter, there is no concept of an interrupt vector. The processor will remain at a given level as long as the hardware interrupt request for that level is active (and no higher-level request is active). Interrupt handlers are thus normally written as loops.
The ALU is eight bits wide. Despite the fact that the registers are 16 bits wide, PALM provides few 16-bit arithmetic or logical operations. However, some 8-bit operations may cause a carry or borrow from the high byte of a register.
The procesor has a 16-bit address bus. The memory is byte-addressable, for a maximum directly-addressable capacity of 64 Kbytes. Each byte of memory has a parity bit, so the memory data busses are 18 bits.
Branches can be effected any instruction which writes or alters register zero. One particularly interesting trick allows the creation of a single-instruction infinite loop by clearing register zero. In this case, register zero serves both as the program counter, and as the instruction word pointed to by the program counter. An all zeros word decodes as an instruction to subtract two from register zero. After the instruction is fetched, the PC is incremented by two, then the instruction subtracts two from it again, leaving it at zero. This single-instruction loop technique was used when code running at level zero (non-interrupt) needed to wait for an interrupt to be serviced. The interrupt handler would then write a new value to location zero, which is NOT the interrupt handler's PC, since the handler is running at a non-zero level. Once the hardware interrupt is cleared, level zero gets control again starting from the new PC value.
The "control ROS" is part of the PALM processor and is used to decode the microinstructions. It is organized as 256 words of 32 bits.
The "executable ROS" is directly addressable by the processor, and contains the microinstructions that are directly executed. There is 16K*18 of microcode for the diagnostic and bringup routines, I/O supervisor and control routines, and the virtual machine interpreter for BASIC. Another 16K*18 of microcode provides the virtual machine interpreter for APL.
The "nonexecutable ROS" is accessed as an I/O device by the processor, and contains the code interpreted by the virtual machines, namely the APL and BASIC language interpreters. The nonexecutable ROS uses n-channel MOSFET chips storing 48 Kbits each, with an access time of approximately 2 µs.
The nonexecutable ROS is divided into three regions:
Del Cecchi wrote:
The memory technology almost certainly was "Reisling" which used 2k chips packaged 4 to a 1/2 inch stacked module with external sense amp bit driver modules. A typical riesling card as used in system/34 and system/32 had 8k Bytes on a "2 wide 3 high" card, although there was a later card that was 16KB.He also wrote that the 8K card was code-named "Snoopy", and the 16K card "Barton". The 5110 uses the 16K cards, which frees up some backplane slots for other purposes.
In 1980 IBM introduced the System/23 DataMaster, based on the Intel 8085 processor.
In 1981 IBM introduced the IBM PC, Type 5150, based on the Intel 8088 microporcessor. Although there had been many personal computers before, the introduction of the IBM PC finally was seen in the corporate world as validating the concept. To this day, over 90% of desktop computers are still largely compatible with the original IBM PC.
2 Emulation of System/3 for BASIC confirmed by Joey Tuttle in his talk at Vintage Computer Festival 6.0, Mountain View, California, 13-Oct-2003.
Abstract: This paper shows the relationship between the motivation and the design of the IBM 5100 computer. The 5100 is a desk top computer that supports two programming languages (APL and BASIC), has up to 64K of main store, and can connect to a printer, tape drive, and teleprocessing lines.
Abstract: The advent of small, interactive, high-level language computers is the product of numerous recent architectural and technological advances. This paper presents a detailed discussion of a number of these advances as they apply to the IBM 5100. Through this discussion, a rationale is presented for the decisions made and the trade-offs that were involved in the selection and the development of the various components in the system. The paper give an overview of the IBM 5100 itself to give the context for the architectural discussions and discusses some considerations for the architectures of future desk-top computers.
Abstract: A small laboratory automation system has been developed by using the IBM 5100 Portable Computer in conjunction with the Research Device Coupler. This compact system provides a dedicated, high-level-language computer and a versatile data acquisition and control interface for experiments in which data rates do not exceed 9600 baud. Two experiments exemplify the use of the system.
Abstract: The introduction of the IBM 5100 portable computer with its high-level APL and Basic languages presents yet another application for the powerful versatile microprocessor. This paper presents the IBM 5100 from several aspects. The author gives an overview of the computer including a description of the machine's physical attributes, functional capabilities, languages, features, and a detailed description of the characteristics of the 5100's hardware and firmwave architecture. The logical and physical attributes of the computer's microprocessor and application areas for the 5100 and a brief projection on the future of microprocessor-based portable computers are presented.
Abstract: The development history of IBM subfamilies of APL systems is traced in this paper, focusing on the inter-relationships among them and the methods of implementation used by the various groups involved. The language itself, and the way its evolution was managed, are also considered as factors influencing the development process. A chart is included that illustrates the evolution of mainframe and small machine programming products supporting APL, beginning in 1964 up to the present time.
Abstract: Hardware languages, built-in c.r.t., and 64K of memory make the 5100 one of the most sophisticated and interesting products in years.
Abstract: The IBM 5110 small computing system was announced in December 1977 as an outgrowth of the 5100 'portable computer', offering major performance and function enhancements over the earlier machine. The 5110 is designed for the organisation having a low budget and a variety of low-volume applications. The system comprises a computer, a printer, and one or two diskette units. The author describes and assesses the system.
Abstract: In essence, the 5120 is an average-performing micro with a higher-than-average price tag, but promises absolutely superb after-sale support.
Abstract: Discusses criteria for the selection and evaluation of small computer systems for business applications. The author presents a program in BASIC for performing a financing analysis to run on an IBM 5120 computer system.
Abstract: A portable computer and a higher level language allow comprehensive, dynamic and easily modifiable classroom demonstrations. The IBM 5100 computer with APL is such a combination. This paper describes the use of this combination of computer and language to demonstrate aspects of queueing and formal grammars. In each case the area is briefly described and the demonstration illustrated and explained with emphasis on the human factors that go into making it effective. The chief advantage obtained is that students' questions which fall outside prepared material can be answered and illustrated by suitably modified demonstrations.
Abstract: The new machine is a much re-designed version of the 5110, and will run most of the software from the earlier machine. It is designed to sell both to existing IBM mainframe users and to the first-time buyers.
Abstract: Sixty-four-thousand bytes of RAM and 190K bytes of BASIC and APL-loaded ROM in a fifty-pound package that includes 1024-character CRT, keyboard and tape cartridge drive. It's called the IBM 5100 Portable Computer.
Abstract: The IBM 5120 Computing System is available in twelve models. All models consist of three basic components: an IBM 5110 model 3 microcomputer; a choice of an IBM 5103 model 11 or model 12 printer; and an IBM 5114 dual floppy disk drive unit. The twelve models differ in the amount of internal random-access memory provided and in the programming languages supported. The microcomputer and its disk drives are integrated in a single housing which also contains a CRT display and keyboard. Simple controls and indicator lights are conveniently positioned to the immediate right of the CRT screen. The 5120 Computing System is designed for desk-top operation and is terminal-like in appearance.
Abstract: This article presents an introduction to the use of APL for creating and manipulating graphic images. The paper carries the reader through the steps of interactive graphic design using APL and IBM 5100 APL Graphpak.
Abstract: Intended for standalone computing chores in scientific, engineering, or business facilities, the model 5100 Portable Computer enables on-site analysis of data or solution of quantitative problems without the need to time-share larger computers. Slightly larger than an IBM typewriter and weighing about 50 lb, the desk top unit, announced by International Business Machine Corp.'s General Systems Div., has the computing capacity of a small System/360 but is based on a microprocessor.
Abstract: The IBM 5100 portable computer incorporates the functions of a full-scale computer with the size of an office typewriter. The computer system allows APL and BASIC language capability and contains facilities for a display screen, magnetic tape unit, line printer, and telecommunications equipment. This book has three main objectives: (1) to present an introduction to programming and using the IBM 5100 computer; (2) to present an introduction to the APL and BASIC languages; and (3) to present the systems concepts necessary for effectively utilizing the computer.
In 2036, it was discovered (or at least known after testing) that the 5100 computer was capable of reading and changing all of the legacy code written by IBM before the release of that system and still be able to create new code in APL and basic.
On the John Titor web site, select "5100 Computer" in the "Posts by Topic" pulldown menu.
If you have 5100 computers that you'd like to contribute to his cause, I don't know how you can get them to him. On the other hand, I'm still trying to find a working A or C model 5100 (with APL), or any 5100 model (working or not) for spare parts. My 5100 model C1 has a bad APL ROS module.
Last updated July 27, 2004
Copyright 1999, 2000, 2002, 2003, 2004 Eric Smith