Tube (BBC Micro)
   HOME

TheInfoList



OR:

In computing, the Tube is the expansion interface and architecture of the BBC Microcomputer System which allows the BBC Micro to communicate with a second processor, or ''coprocessor''. Under the Tube architecture, the coprocessor runs the application software for the user, whilst the Micro (acting as a ''host'') provides all I/O functions, such as screen display, keyboard and storage devices management. A coprocessor unit can be coldplugged into any BBC Micro with a disk interface (whose ROM contained the necessary host software) and used immediately.


Implementation

The 40-pin IDC "Tube" connector is a simple slave connection to the host processor's main bus, with 8 data lines, 7 address lines, and an interrupt input. The Tube protocols are implemented by hardware in the attached device. Inside the coprocessor unit a proprietary chip (the ''Tube ULA'', manufactured initially by
Ferranti Ferranti or Ferranti International plc was a UK electrical engineering and equipment firm that operated for over a century from 1885 until it went bankrupt in 1993. The company was once a constituent of the FTSE 100 Index. The firm was known ...
) interfaces and logically isolates the host and coprocessor
buses A bus (contracted from omnibus, with variants multibus, motorbus, autobus, etc.) is a road vehicle that carries significantly more passengers than an average car or van. It is most commonly used in public transport, but is also in use for cha ...
. This allows the Tube to work with a completely different bus architecture in the coprocessor unit. The other active components needed are a
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
, some
RAM Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * Ra ...
, a small
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * R ...
containing processor specific client code,
glue logic In electronics, glue logic is the custom logic circuitry used to interface a number of off-the-shelf integrated circuits. This is often achieved using common, inexpensive 7400- or 4000-series components. In more complex cases, a programmable lo ...
such as an
address decoder In digital electronics, an address decoder is a binary decoder that has two or more inputs for address bits and one or more outputs for device selection signals. When the address for a particular device appears on the address inputs, the decoder as ...
and a
power supply A power supply is an electrical device that supplies electric power to an electrical load. The main purpose of a power supply is to convert electric current from a source to the correct voltage, current, and frequency to power the load. As a r ...
. The two processors communicate through four pairs of FIFO buffers in the Tube ULA.
Console Console may refer to: Computing and video games * System console, a physical device to operate a computer ** Virtual console, a user interface for multiple computer consoles on one device ** Command-line interface, a method of interacting with ...
input/output,
error message An error message is information displayed when an unforeseen occurs, usually on a computer or other device. On modern operating systems with graphical user interfaces, error messages are often displayed using dialog boxes. Error messages are used ...
s, data transfers and
system call In computing, a system call (commonly abbreviated to syscall) is the programmatic way in which a computer program requests a service from the operating system on which it is executed. This may include hardware-related services (for example, acc ...
s each have their own pair of buffers, one for each direction. The queue capacity varies between 1 and 24 bytes, depending on the dedicated buffer function. Each buffer has a control register and status register to monitor its state and configure the raising of
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
s. The protocol for the use of these buffers is rigorously specified by
Acorn Computers Acorn Computers Ltd. was a British computer company established in Cambridge, England, in 1978. The company produced a number of computers which were especially popular in the United Kingdom, UK, including the Acorn Electron and the Acorn Archi ...
Acorn Application Note 004, "Tube Application Note"
/ref> and amounts to
interprocess communication In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categori ...
by
message passing In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer. The invoking program sends a message to a process (which may be an actor or object) and relies on that process and its supporting i ...
. Most interaction is
asynchronous Asynchrony is the state of not being in synchronization. Asynchrony or asynchronous may refer to: Electronics and computing * Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal with ...
but fast block transfers are synchronous and consist of the host blindly running a simple fetch-store loop, which defines the transfer rate. The coprocessor is synchronised by passing a dummy byte and then regulated by the relevant buffer semaphore. The general-purpose nature of the Tube connector in principle allows it to be used for any type of high-speed peripheral, although Acorn only uses it for Tube coprocessors. The BBC Micro/Master range provides 5 address lines for the address range &60–&7F but the Tube protocol uses the lowest 3 bits. Only these 3 address lines are connected to internal Tube sockets, as found in the BBC Master or Universal Second Processor Unit.


Applications

Numerous coprocessors were developed for the Tube. Most commonly seen is a
MOS Technology 6502 The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small t ...
processor which allows unmodified BBC Micro programs to run faster and with more memory, as long as they use the API for all I/O. There is also a
Zilog Z80 The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples wer ...
processor to run
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initial ...
and a
National Semiconductor 32016 The NS32000, sometimes known as the 32k, is a series of microprocessors produced by National Semiconductor. The first member of the family came to market in 1982, briefly known as the 16032 before becoming the 32016. It was the first 32-bit general ...
processor running Panos (and unofficially a UNIX variant). These coprocessors form the basis of the
Acorn Business Computer The Acorn Business Computer (ABC) was a series of microcomputers announced at the end of 1983 by the British company Acorn Computers. The series of eight computers was aimed at the business, research and further education markets. Demonstrated at t ...
series, the higher end machines being repackaged BBC Micros with a coprocessor attached via the Tube. The Master Series supports two Tube connections, allowing for a coprocessor fitted inside the case and another connected externally, but only one can be used in any powered session. An internal 6502 processor can be fitted, or an
Intel 80186 The Intel 80186, also known as the iAPX 186, or just 186, is a microprocessor and microcontroller introduced in 1982. It was based on the Intel 8086 and, like it, had a 16-bit external data bus multiplexed with a 20-bit address bus. The 801 ...
based system for
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicatio ...
compatibility (although in practice this is limited).Watford Electronics,"Advanced Reference Manual for the BBC Master Series",1988 The Tube has also been used during the initial development of the
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between the ...
processor. An evaluation board was developed that again uses the BBC Micro as a host system for I/O operations. Acorn had strongly discouraged BBC Micro programmers from directly accessing system memory and hardware, favouring official API calls. This is ostensibly to ensure applications can be seamlessly moved to the Tube 6502 coprocessor, since direct access from there is impossible. When a program calls one of the
MOS MOS or Mos may refer to: Technology * MOSFET (metal–oxide–semiconductor field-effect transistor), also known as the MOS transistor * Mathematical Optimization Society * Model output statistics, a weather-forecasting technique * MOS (filmm ...
entry points, a replacement subroutine in the coprocessor's ROM passes a corresponding message to the host which carries out the operation and passes back the result. In this way an application can run identically on the host or the coprocessor. Other CPU models use a custom API, which is typically an orthogonal translation of the 6502 API into a native format.


References

{{reflist Computer-related introductions in 1981 Acorn Computers