DEC Firefly
   HOME

TheInfoList



OR:

The Firefly was a
shared memory In computer science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between progr ...
asymmetric multiprocessor
workstation A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
, developed by the Systems Research Center, a research organization within
Digital Equipment Corporation Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president unt ...
. The first version built contained up to seven
MicroVAX 78032 The MicroVAX 78032 (otherwise known as the DC333) is a microprocessor developed and fabricated by Digital Equipment Corporation (DEC) that implements a subset of the VAX instruction set architecture (ISA). The 78032 is used exclusively in DEC's ...
microprocessors. The cache from each of the microprocessors kept a consistent view of the same main memory using a
cache coherency In computer architecture, cache coherence is the uniformity of shared resource data that ends up stored in multiple local caches. When clients in a system maintain caches of a common memory resource, problems may arise with incoherent data, whi ...
algorithm, the Firefly protocol. The second version of the Firefly used faster CVAX 78034 microprocessors. It was later introduced as a product by DEC as the VAXstation 3520/3540 codenamed ''Firefox''.


Hardware description

The Firefly was an asymmetric multiprocessor specialized racked computer as only one of the microprocessors had access to a
Q-Bus The Q-bus,Schmidt, Atlant G.,Unibus,Q-Bus and VAXBI Bus, in ''Digital bus handbook'', Di Giacomo Joseph Ed., McGraw Hill, 1990 also known as the LSI-11 Bus, is one of several bus technologies used with PDP and MicroVAX computer systems previous ...
interface that implemented the I/O subsystem.


Processors

The Firefly contained a primary processor board and zero, one, two or three secondary processor boards. These processor boards were 8 by 10 inches large. The primary processor board contained a microprocessor, its floating-point coprocessor and cache, and the Q-Bus control logic. The secondary processor boards each contained two microprocessors, their floating-point coprocessors and caches. The original Firefly processor boards used the
MicroVAX 78032 The MicroVAX 78032 (otherwise known as the DC333) is a microprocessor developed and fabricated by Digital Equipment Corporation (DEC) that implements a subset of the VAX instruction set architecture (ISA). The 78032 is used exclusively in DEC's ...
microprocessor and MicroVAX 78132 floating-point coprocessor, but later Firefly systems used the faster CVAX 78034 microprocessors, CVAX Floating Point Chips (floating-point coprocessors). The processor boards communicated with each other and the memory via the MBus. The components used in the processor boards of the original Firefly were the same as those originally designed for the MicroVAX II system. Originally, the system was designed to use Motorola 68010 processors within this general architecture. The caches in the Firefly were direct-mapped for simplicity and to support multiprocessing; they used the Firefly protocol to ensure cache coherency. The caches on the MicroVAX processor boards had a capacity of 16 KB (4,096 4-byte lines) and were implemented with eleven 2 KB (4-bit by 4,096-word) SRAMs and twenty
transistor–transistor logic Transistor–transistor logic (TTL) is a logic family built from bipolar junction transistors. Its name signifies that transistors perform both the logic function (the first "transistor") and the amplifying function (the second "transistor"), as opp ...
(TTL) devices. The cache control logic was implemented with fifteen devices, mostly consisting of programmable array logic (PAL) devices. The caches on CVAX processor boards differed only in the capacity: 64 KB (16,384 4-byte lines) and were implemented with 8 KB (4-bit by 16,384-word) SRAMs.


Memory

Processors in the Firefly communicated with the main memory through their individual CPU cache, caches and over the MBus. Memory was implemented by one to four memory modules that connect to the MBus. The original Firefly had a master memory module with a capacity of 4 MB and up to three slave memory modules of the same capacity for a memory capacity of 4 to 16 MB. Later Firefly systems used a memory module with a capacity of 32 MB, for a memory capacity of 32 to 128 MB. The memory access time in the original MicroVAX-based Firefly was 400 ns, while the CVAX version had a memory access time of 200 ns.


I/O

I/O devices were connected to the system via the Q-Bus, whose 22-bit address space was mapped onto the 24-bit memory address space of the Firefly by using mapping registers controlled by the master processor. The devices used direct memory access (DMA) to access the memory though the cache of the main processor. The Firefly's I/O devices were: a monochrome display controller (MDC), a buffered controller for magnetic disk drives, the RQDX3 and an DEQNA Ethernet controller. While DEC used existing components for most of the I/O system, the display controller was designed specifically for the Firefly by the project's engineers who felt that no existing product met their performance requirements. There were two displayer controllers, one providing color graphics, and the other monochrome graphics. These controllers operated by checking a work queue set up in the memory using DMA, providing fully symmetric access to the display hardware by all processors. The monochrome display controller (MDC) was contained on a board half as large as the processor boards and was capable of achieving a resolution of 1024 by 768 pixels. It contained a 16-bit List_of_AMD_Am2900_and_Am29000_families#Am29100_Family, Am29116 microprocessor clocked at 10 MHz with a 10 KB memory containing 2,048 40-bit words of microinstruction memory. A 1024 by 1024-pixel frame buffer was implemented with VRAMs, with three quarters used to hold the display bitmap with the rest available for the display manager or used to cache (computing), cache fonts. The 29116 microprocessor periodically checked a work queue set up in the memory using DMA and executed commands from that queue. The commands performed BitBlt operations within the frame buffer, between the system memory and frame buffer and were also used to paint characters from the font cache. The display hardware also provided an interface for a keyboard and mouse. Sixty times per second, the MDC wrote to the memory the position of the mouse and an unencoded bitmap representing the state of the keyboard. As a result of implementing the MDC as an I/O device, the Firefly supported multiple display controllers in one system connected to multiple monitors.


Software

Two of the variants of the Firefly used system software called ''Topaz'', which consisted of multiple components such as the ''Taos'' operating system that used a microkernel named ''the Nub'' and the ''Trestle'' window system. One of the features of Taos was that it supported the Ultrix binary calling interface, allowed existing Ultrix binaries compiled for the MicroVAX run unmodified image on the Firefly. In contrast to Ultrix, Topaz supported processes with multiple threads which could span multiple processors, and the Taos system could run both Ultrix and Topaz applications at the same time. Modula-2+, (a Modula-2 extended language) was used to program both Topaz and its applications. The Stanford V (operating system) also supported Firefly in a configuration with one CVAX and four Microvax-II CPUs in a BA123 chassis and QVSS?VCB01 graphics.


See also

* Firefly protocol - The
cache coherency In computer architecture, cache coherence is the uniformity of shared resource data that ends up stored in multiple local caches. When clients in a system maintain caches of a common memory resource, problems may arise with incoherent data, whi ...
protocol used by the Firefly.


References


External links


Paul R. McJones and Garret F. Swart, "''Evolving the UNIX System Interface to Support Multithreaded Programs''", 28 September 1987.

Charles P. Thacker, Lawrence C. Stewart, Edwin H. Satterthwaite Jr., "''Firefly: A Multiprocessor Workstation''", 30 December 1987.

A Multiprocessor Workstation
{{DEFAULTSORT:Dec Firefly DEC workstations