Tube (BBC Micro)

Last updated

In the BBC Microcomputer System, the Tube is the expansion interface and architecture which allows the BBC Micro to communicate with a second processor, or coprocessor.

Contents

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.

Interior of 6502 Second Processor Acorn 6502 2nd processor with top cover removed.jpg
Interior of 6502 Second Processor

Inside the coprocessor unit a proprietary chip (the Tube ULA , manufactured initially by Ferranti) interfaces and logically isolates the host and coprocessor buses. This allows the Tube to work with a completely different bus architecture in the coprocessor unit. The other active components needed are a microprocessor, some RAM, a small ROM containing processor specific client code, glue logic such as an address decoder and a power supply.

The two processors communicate through four pairs of FIFO buffers in the Tube ULA. Console input/output, error messages, data transfers and system calls 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 interrupts.

The protocol for the use of these buffers is rigorously specified by Acorn Computers [1] and amounts to interprocess communication by message passing. Most interaction is asynchronous 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 was the 6502 Second Processor, featuring a MOS Technology 6502 processor, which allowed unmodified BBC Micro programs to run faster and with more memory, as long as they use the API for all I/O. [1] [2] The Z80 Second Processor featured a Zilog Z80 processor running CP/M, and the 32016 Second Processor featured a National Semiconductor 32016 processor running Panos.

These coprocessors form the basis of the Acorn Business Computer 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 based system for DOS compatibility (although in practice this is limited). [3]

The Tube was also used during the initial development of the ARM processor. An evaluation board was developed that again uses the BBC Micro as a host system for I/O operations.

Before shipping Tube add-ons, Acorn had strongly discouraged BBC Micro programmers from directly accessing system memory and hardware, favouring official API calls. [4] This was 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 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.

Related Research Articles

<span class="mw-page-title-main">Acorn Electron</span> Personal computer sold in Britain

The Acorn Electron was a lower-cost alternative to the BBC Micro educational/home computer, also developed by Acorn Computers Ltd, to provide many of the features of that more expensive machine at a price more competitive with that of the ZX Spectrum. It had 32 kilobytes of RAM, and its ROM included BBC BASIC II together with the operating system. Announced in 1982 for a possible release the same year, it was eventually introduced on 25 August 1983 priced at £199.

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 general-purpose microprocessor on the market that used 32-bit data throughout: the Motorola 68000 used 32-bit data but had a 16-bit ALU and thus took twice as long perform many operations. However, the 32016 contained many bugs and often could not be run at its rated speed. These problems, and the presence of the otherwise similar 68000 which had been available since 1980, led to little use in the market.

In computer architecture, 8-bit integers or other data units are those that are 8 bits wide. Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of that size. Memory addresses for 8-bit CPUs are generally larger than 8-bit, usually 16-bit. 8-bit microcomputers are microcomputers that use 8-bit microprocessors.

BBC BASIC is an interpreted version of the BASIC programming language. It was developed by Acorn Computers Ltd when they were selected by the BBC to supply the computer for their BBC Literacy Project in 1981.

<span class="mw-page-title-main">Acorn Computers</span> British computer manufacturer

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 UK, including the Acorn Electron and the Acorn Archimedes. Acorn's BBC Micro computer dominated the UK educational computer market during the 1980s.

<span class="mw-page-title-main">Intel 8085</span> 8-bit microprocessor by Intel

The Intel 8085 ("eighty-eighty-five") is an 8-bit microprocessor produced by Intel and introduced in March 1976. It is software-binary compatible with the more-famous Intel 8080 with only two minor instructions added to support its added interrupt and serial input/output features. However, it requires less support circuitry, allowing simpler and less expensive microcomputer systems to be built. The "5" in the part number highlighted the fact that the 8085 uses a single +5-volt (V) power supply by using depletion-mode transistors, rather than requiring the +5 V, −5 V and +12 V supplies needed by the 8080. This capability matched that of the competing Z80, a popular 8080-derived CPU introduced the year before. These processors could be used in computers running the CP/M operating system.

<span class="mw-page-title-main">Bank switching</span> A technique to increase the amount of usable memory

Bank switching is a technique used in computer design to increase the amount of usable memory beyond the amount directly addressable by the processor instructions. It can be used to configure a system differently at different times; for example, a ROM required to start a system from diskette could be switched out when no longer needed. In video game systems, bank switching allowed larger games to be developed for play on existing consoles.

<span class="mw-page-title-main">Motorola 6845</span> Display controller

The Motorola 6845, or MC6845, is a display controller that was widely used in 8-bit computers during the 1980s. Originally intended for designs based on the Motorola 6800 CPU and given a related part number, it was more widely used alongside various other processors, and was most commonly found in machines based on the Zilog Z80 and MOS 6502.

<span class="mw-page-title-main">Econet</span> Computer networking system

Econet was Acorn Computers's low-cost local area network system, intended for use by schools and small businesses. It was widely used in those areas, and was supported by a large number of different computer and server systems produced both by Acorn and by other companies.

<span class="mw-page-title-main">BBC Master</span> Microcomputer

The BBC Master is a home computer released by Acorn Computers in early 1986. It was designed and built for the British Broadcasting Corporation (BBC) and was the successor to the BBC Micro Model B. The Master 128 remained in production until 1993.

<span class="mw-page-title-main">Acorn System 1</span> Early 8-bit microcomputer

The Acorn System 1, initially called the Acorn Microcomputer (Micro-Computer), was an early 8-bit microcomputer for hobbyists, based on the MOS 6502 CPU, and produced by British company Acorn Computers from 1979.

<span class="mw-page-title-main">Acorn System</span> Series of modular microcomputer systems

The Acorn System was a series of modular microcomputer systems based on rack-mounted Eurocards developed by Acorn Computers from 1979 to 1982, aimed primarily at industrial and laboratory use, but also home enthusiasts.

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 the Personal Computer World Show in September 1984, having been under development for "about a year" and having been undergoing field trials from May 1984, the range "understandably attracted a great deal of attention" and was favourably received by some commentators. The official launch of the range was scheduled for January 1985.

<span class="mw-page-title-main">Acorn MOS</span> Computer operating system

The Machine Operating System (MOS) or OS is a discontinued computer operating system (OS) used in Acorn Computers' BBC computer range. It included support for four-channel sound, graphics, file system abstraction, and digital and analogue input/output (I/O) including a daisy-chained expansion bus. The system was single-tasking, monolithic and non-reentrant.

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 logic device like a CPLD or FPGA might be used. The falling price of programmable logic devices, combined with their reduced size and power consumption compared to discrete components, is making them common even for simple systems. In addition, programmable logic can be used to hide the exact function of a circuit, in order to prevent a product from being cloned or counterfeited.

<span class="mw-page-title-main">BBC Micro expansion unit</span>

A BBC Micro expansion unit, for the BBC Micro is one of a number of peripherals in a box with the same profile and styling as the main computer.

Shadow RAM, on the Acorn BBC Micro, Master-series and Acorn Electron microcomputers is the name given to a special framebuffer implementation to free up main memory for use by program code and data. Some implementations of shadow RAM also permit double-buffered graphics.

The sideways address space on the Acorn BBC Microcomputer, Electron and Master-series microcomputer was Acorn's bank switching implementation, providing for permanent system expansion in the days before hard disk drives or even floppy disk drives were commonplace. Filing systems, application and utility software, and drivers were made available as sideways ROMs, and extra RAM could be fitted via the sideways address space.

Torch Computers Ltd was a computer hardware company with origins in a 1982 joint venture between Acorn Computers and Climar Group that led to the development of the Communicator or C-series computer, a system based on the BBC Micro with a Z80 second processor and integral modem, intended as a viewdata terminal.

<span class="mw-page-title-main">BBC Micro</span> Series of British microcomputers by Acorn

The British Broadcasting Corporation Microcomputer System, or BBC Micro, is a series of microcomputer designed and built by Acorn Computers Limited in the 1980s for the Computer Literacy Project of the BBC. Designed with an emphasis on education, it was notable for its ruggedness, expandability, and the quality of its operating system. An accompanying 1982 television series, The Computer Programme, featuring Chris Serle learning to use the machine, was broadcast on BBC2.

References

  1. 1 2 Acorn Application Note 004, "Tube Application Note"
  2. Although a frequently stated reason for software running faster on the second processor was it can offload I/O tasks such as graphics-drawing computations to the host processor, a much more important consideration is clock speed: the host processor is limited to 2 MHz to allow time for VDU-refresh to access the RAM, whereas the coprocessor can run at 3 MHz, with a much simpler DRAM refresh stalling it at 68 kHz. 6502 Second Processor Service Manual (PDF). Acorn Computers. May 1984. pp. 7, 19. Retrieved 11 June 2023 via Chris's Acorns.
  3. Advanced Reference Manual for the BBC Master Series. Watford Electronics. 1988.
  4. Coll, John (1982) [1982]. Allen, David (ed.). The BBC Microcomputer User Guide (zipped RTF). London: British Broadcasting Corporation. pp. 443, 450, 473. ISBN   0-563-16558-8 . Retrieved 25 January 2010.