Futurebus

Last updated

Futurebus, or IEEE 896, is a computer bus standard, intended to replace all local bus connections in a computer, including the CPU, memory, plug-in cards and even, to some extent, LAN links between machines. The effort started in 1979 and didn't complete until 1987, and then immediately went into a redesign that lasted until 1994. By this point, implementation of a chip-set based on the standard lacked industry leadership. It has seen little real-world use, although custom implementations continue to be designed and used throughout industry.

Contents

History

In the late 1970s, VMEbus was faster than the parts plugged into it. It was quite reasonable to connect a CPU and RAM to VME on separate cards to build a computer. However, as the speed of the CPUs and RAM rapidly increased, VME was quickly overwhelmed. Increasing the speed of VME was not easy, because all of the parts plugged into it would have to be able to support these faster speeds as well.

Futurebus looked to fix these problems and create a successor to systems like VMEbus with a system that could grow in speed without affecting existing devices. In order to do this the primary technology of Futurebus was built using asynchronous links, allowing the devices plugged into it to talk at whatever speed they wished. Another problem that needed to be addressed was the ability to have several cards in the system as "masters", allowing Futurebus to build multiprocessor machines. This required some form of "distributed arbitration" to allow the various cards to gain access to the bus at any point, as opposed to VME, which put a single master in slot 0 with overall control. In order to have a clear performance benefit, Futurebus was designed to have the performance needed ten years in the future.

Typical IEEE standards start with a company building a device, and then submitting it to the IEEE for the standardization effort. In the case of Futurebus this was reversed, the whole system was being designed during the standardization effort. This proved to be its downfall. As companies came to see Futurebus as the system, they all joined in. Soon the standards meetings had hundreds of people attending, all of them demanding that their particular needs and wants be included. As the complexity grew, the standards process slowed. In the end it took eight long years before the specification was finally agreed on in 1987. Tektronix did make a few workstations based on Futurebus. [1] American Logic Machines (ALM) continues to build end to end system Futurebus hybrid solutions, including VME-to-Futurebus+ and other Bus-to-Futurebus bridge technologies.

That was just in time for the US Navy who had been looking for a new high-speed system for the Next Generation Computer Resources (NGCR) project for passing sonar data around in their newly designed Seawolf-class submarines, and they said they would standardize on Futurebus if only a few more changes would be made. Seeing a potential massive government buy, the additions effort started immediately on Futurebus+. It took another four years for the Futurebus+ Standard to be released by this time custom variation of Futurebus took the lead in industry.

All of the Futurebus+ proponents had their idea of what Futurebus+ should be. This degenerated into "profiles", different versions of Futurebus+ targeted towards a particular market. Boards that were compliant with one Futurebus+ profile were not guaranteed to work with boards built to a different profile. The Futurebus+ standards development politics got so complicated that the IEEE 896 committee split from the IEEE Microcomputer Standards Committee and formed the IEEE Bus Architecture Standards Committee (BASC).

In the end very little use of Futurebus was attempted. The decade-long performance gap they gave the system had evaporated in the decade-long standards process, and conventional local bus systems like PCI were close in performance terms. Meanwhile, the VME ecosystem had evolved to such a degree that it continues to be used today, another decade on. Custom implementations of the Futurebus technology are currently used as backplane technologies for high-end network applications, enterprise class routers, high performance blade servers, and application with high demand-content such as video on demand.

Futurebus effort did act as a catalyst for simpler serial technologies. A group then organized to create a system aimed directly at this need, which eventually led to Scalable Coherent Interface (SCI). Meanwhile, another member decided to simple re-create the entire concept on a much simpler basis, which resulted in QuickRing. Due to the simplicity of these standards, both standards were completed before Futurebus+. Futurebus+ was ahead of its time in the 1980s. VME and other parallel bus standards are still trying to adapt concepts that are implemented in the Futurebus, specially in high performance applications.

Futurebus was the source of some of the original work on cache coherency, Live Insertion of boards, and Trapezoidal Transceivers. Trapezoidal Transceivers have a controlled risetime and make backplane and bus design much simpler. The original Trapezoidal Transceivers were made by National Semiconductor. Newer Futurebus+ transceivers that meet the IEEE Std 1194.1-1991 Backplane Transceiver Logic (BTL) standard are still made by Texas Instruments. Futurebus+ was used as the I/O bus in the DEC 4000 AXP and DEC 10000 AXP systems. Futurebus+ FDDI boards are still supported in the OpenVMS operating system. Futurebus+ custom chips support advanced Symmetric and Asymmetric versions of Unix-Like operating systems supported by companies such as American Logic Machines.

Many of the technical features (asynchronous data bus, distributed bus arbitration, large board size) are shared with IEEE standard FASTBUS. FASTBUS was used as a data acquisition system in many high-energy physics experiments in the 1980s and 1990s.

Description

Futurebus is described in just a few IEEE standards:

Futurebus systems were implemented with 9Ux280 Eurocard mechanics using 96-pin DIN connectors resulting in a backplane that supported both 16 and 32 bit bus widths.

To understand Futurebus+ you need to read many IEEE standards:

896.2 contains three Profiles for target markets, A for general purpose systems, B for an I/O bus, and F for a Futurebus+ will all the options that will make it go fast. Profile A was sponsored by the VMEbus community. Profile B was sponsored by Digital Equipment Corporation and implemented in VAX and Alpha systems as an I/O bus. Profile F was sponsored by John Theus while he worked at Tektronix and was intended for high end workstations.

Futurebus+ supports bus widths from 32 to 256 bits. It is possible to build a board that supports all of these bus widths and will interoperate with boards that only support a subset. Split bus transactions are supported so that slow response to a read or write will not tie up the backplane bus. Cache Coherence, implemented using the MESI protocols, was very complicated but significantly improved performance. Futurebus+ was one of the first open standards to support Live Insertion which allowed boards to be replaced while the system was running.

Futurebus+ boards are 12SUx12SU Hard Metric size defined in the IEEE 1301 standards.

One of the most elegant features of the Futurebus design is its distributed bus arbitration mechanism. See US patent number 5060139 for more information. In the end this was replaced by a central arbiter.

See also

Related Research Articles

<span class="mw-page-title-main">Backplane</span>

A backplane is a group of electrical connectors in parallel with each other, so that each pin of each connector is linked to the same relative pin of all the other connectors, forming a computer bus. It is used to connect several printed circuit boards together to make up a complete computer system. Backplanes commonly use a printed circuit board, but wire-wrapped backplanes have also been used in minicomputers and high-reliability applications.

<span class="mw-page-title-main">Bus (computing)</span> System that transfers data between components within a computer

In computer architecture, a bus is a communication system that transfers data between components inside a computer, or between computers. This expression covers all related hardware components and software, including communication protocols.

<span class="mw-page-title-main">Eurocard (printed circuit board)</span> Standard for PCBs which may be interconnected in a rack mounted chassis

Eurocard is an IEEE standard format for printed circuit board (PCB) cards that can be plugged together into a standard chassis which, in turn, can be mounted in a 19-inch rack. The chassis consists of a series of slotted card guides on the top and bottom, into which the cards are slid so they stand on end, like books on a shelf. At the spine of each card is one or more connectors which plug into mating connectors on a backplane that closes the rear of the chassis.

<span class="mw-page-title-main">Expansion card</span> Circuit board for connecting to a computer system to add functionality

In computing, an expansion card is a printed circuit board that can be inserted into an electrical connector, or expansion slot on a computer's motherboard to add functionality to a computer system. Sometimes the design of the computer's case and motherboard involves placing most of these slots onto a separate, removable card. Typically such cards are referred to as a riser card in part because they project upward from the board and allow expansion cards to be placed above and parallel to the motherboard.

<span class="mw-page-title-main">NuBus</span> 32-bit parallel computer bus

NuBus is a 32-bit parallel computer bus, originally developed at MIT and standardized in 1987 as a part of the NuMachine workstation project. The first complete implementation of the NuBus was done by Western Digital for their NuMachine, and for the Lisp Machines Inc. LMI Lambda. The NuBus was later incorporated in Lisp products by Texas Instruments (Explorer), and used as the main expansion bus by Apple Computer and a variant called NeXTBus was developed by NeXT. It is no longer widely used outside the embedded market.

<span class="mw-page-title-main">VMEbus</span> Computer bus standard physically based on Eurocard sizes

VMEbus is a computer bus standard, originally developed for the Motorola 68000 line of CPUs, but later widely used for many applications and standardized by the IEC as ANSI/IEEE 1014-1987. It is physically based on Eurocard sizes, mechanicals and connectors, but uses its own signalling system, which Eurocard does not define. It was first developed in 1981 and continues to see widespread use today.

<span class="mw-page-title-main">Scalable Coherent Interface</span> High-speed interconnect standard for shared memory multiprocessing and message passing

The Scalable Coherent Interface or Scalable Coherent Interconnect (SCI), is a high-speed interconnect standard for shared memory multiprocessing and message passing. The goal was to scale well, provide system-wide memory coherence and a simple interface; i.e. a standard to replace existing buses in multiprocessor systems with one with no inherent scalability and performance limitations.

<span class="mw-page-title-main">Single-board computer</span> Computer whose components are on a single printed circuit board

A single-board computer (SBC) is a complete computer built on a single circuit board, with microprocessor(s), memory, input/output (I/O) and other features required of a functional computer. Single-board computers are commonly made as demonstration or development systems, for educational systems, or for use as embedded computer controllers. Many types of home computers or portable computers integrate all their functions onto a single printed circuit board.

<span class="mw-page-title-main">Electronic test equipment</span> Testing appliance for electronics systems

Electronic test equipment is used to create signals and capture responses from electronic devices under test (DUTs). In this way, the proper operation of the DUT can be proven or faults in the device can be traced. Use of electronic test equipment is essential to any serious work on electronics systems.

<span class="mw-page-title-main">CompactPCI</span> Computer bus interconnect for industrial computers

CompactPCI is a computer bus interconnect for industrial computers, combining a Eurocard-type connector and PCI signaling and protocols. Boards are standardized to 3U or 6U sizes, and are typically interconnected via a passive backplane. The connector pin assignments are standardized by the PICMG US and PICMG Europe organizations. The connectors and the electrical rules allow for eight boards in a PCI segment. Multiple bus segments are allowed with bridges.

<span class="mw-page-title-main">System bus</span> Single computer bus that connects the major components of a computer system

A system bus is a single computer bus that connects the major components of a computer system, combining the functions of a data bus to carry information, an address bus to determine where it should be sent or read from, and a control bus to determine its operation. The technique was developed to reduce costs and improve modularity, and although popular in the 1970s and 1980s, more modern computers use a variety of separate buses adapted to more specific needs.

<span class="mw-page-title-main">Multibus</span> Computer bus standard

Multibus is a computer bus standard used in industrial systems. It was developed by Intel Corporation and was adopted as the IEEE 796 bus.

<span class="mw-page-title-main">STEbus</span> Non-proprietary, processor-independent, computer bus

The STEbus is a non-proprietary, processor-independent, computer bus with 8 data lines and 20 address lines. It was popular for industrial control systems in the late 1980s and early 1990s before the ubiquitous IBM PC dominated this market. STE stands for STandard Eurocard.

<span class="mw-page-title-main">Computer Automated Measurement and Control</span>

Computer-Aided Measurement And Control (CAMAC) is a standard bus and modular-crate electronics standard for data acquisition and control used in particle detectors for nuclear and particle physics and in industry. The bus allows data exchange between plug-in modules and a crate controller, which then interfaces to a PC or to a VME-CAMAC interface.

<span class="mw-page-title-main">VPX</span> Standards for connecting components of a computer

VPX, also known as VITA 46, refers to a set of standards for connecting components of a computer, commonly used by defense contractors. Some are ANSI standards such as ANSI/VITA 46.0–2019. VPX provides VMEbus-based systems with support for switched fabrics over a new high speed connector. Defined by the VMEbus International Trade Association (VITA) working group starting in 2003, it was first demonstrated in 2004, and became an ANSI standard in 2007.

<span class="mw-page-title-main">DIN 41612</span>

DIN 41612 was a DIN standard for electrical connectors that are widely used in rack based electrical systems. Standardisation of the connectors is a pre-requisite for open systems, where users expect components from different suppliers to operate together. The most widely known use of DIN 41612 connectors is in the VMEbus and NuBus systems. The standard has withdrawn in favor of international standards IEC 60603-2 and EN 60603-2.

M-Modules are a mezzanine standard mainly used in industrial computers. Being mezzanines, they are always plugged on a carrier printed circuit board (PCB) that supports this format. The modules communicate with their carrier over a dedicated bus, and can have all kinds of special functions.

FASTBUS is a computer bus standard, originally intended to replace Computer Automated Measurement and Control (CAMAC) in high-speed, large-scale data acquisition. It is also a modular crate electronics standard commonly used in data acquisition systems in particle detectors.

CompactPCI Serial is an industrial standard for modular computer systems. It is based on the established PICMG 2.0 CompactPCI standard, which uses the parallel PCI bus for communication among a system's card components. In contrast to this, CompactPCI Serial uses only serial point-to-point connections. CompactPCI Serial was officially adopted by the PCI Industrial Computer Manufacturers Group PICMG as PICMG CPCI-S.0 CompactPCI Serial in March 2011. Its mechanical concept is based on the proven standards of IEEE 1101-1-1998 and IEEE 1101-10-1996. CompactPCI Serial includes different connectors that permit very high data rates. The new technology standard succeeding parallel CompactPCI comprises another specification called PICMG 2.30 CompactPCI PlusIO. This is why CompactPCI Serial and CompactPCI PlusIO as a whole were also called CompactPCI Plus. PICMG's first working title of CompactPCI Serial was CPLUS.0. CompactPCI Serial backplanes and chassis are developed by Schroff, Elmа, and Pixus Technologies companies, as for the CompactPCI Serial board level electronics – they are developed by MEN Mikro Elektronik, Fastwel, EKF, Emerson Embedded Computing, ADLINK, Data Patterns and Kontron.

<span class="mw-page-title-main">Modular crate electronics</span>

Modular crate electronics are a general type of electronics and support infrastructure commonly used for trigger electronics and data acquisition in particle detectors. These types of electronics are common in such detectors because all the electronic pathways are made by discrete physical cables connecting together logic blocks on the fronts of modules. This allows circuits to be designed, built, tested, and deployed very quickly as an experiment is being put together. Then the modules can all be removed and used again when the experiment is done.

References

  1. Marshall, Martin (April 24, 1989). "Tektronix Unveils Family Of Graphics Workstations". InfoWorld.

Further reading